Task Runner Explorer

Microsoft DevLabs Free

Provides custom task runner support to Visual Studio.

(7) Review
Visual Studio
2013
Download (4,103)
9/22/2014
0.7
View
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Description
Reviews (7)
Q and A (23)
Sign in to write a review
Sort by:

by Templarian | Fri 6:46 PM

No issues so far, installed it and tested it out on one of our large AngularJS projects at work without any modifications.

I wish there was a way to assign an alias to a button (on the toolbar). We have build.local and build.staging.

//Update: Yes, Hotkeys functionality would actually be better. I would probably prefer the hotkeys over a physical button (but some might like the button). (it deleted your reply when I updated this text).

by leoduran | September 17 2014

I put together a simple spike and everything worked well. Once I transitioned to a larger project the extension stopped working when I right click the Gruntfile. Do you have a place for submitting issues?

Great job with the extension. It will change the way we develop client-side code going forwards.

Take care,
Leo

Mads Kristensen September 19 2014
| Edit |
Delete

Please submit the issues under the "Q AND A" tab or send them to me directly at madsk at Microsoft com. Thanks

by jimmcslim | September 07 2014

Getting there... a great preview of what is to come.

Probably worth mentioning, especially to 'new-age front-end dev' newbs like myself, that you need to have done 'npm install -g grunt-cli' from your command line to get the Task Runner Explorer to work with Grunt... it won't parse the gruntfile.js otherwise. I think I thought that having listed grunt in the package.json devDependencies that would be sufficient, nor is doing 'npm install -g grunt' enough ,you need the cli tools (which are themselves dependent upon the grunt package). Just a trick for new players!

by Kenneth Brubaker | September 05 2014

When I talked with Mads at the 2012 Build, he said they hadn't "wrapped their heads around" tools such as Grunt and libraries such as Angular. That was frustrating given the seamless integration that WebStorm had...

Well, now! Consider them wrapped! Good show, guys, good show. Now bring it home with VS14 and Monaco.

by Peter Pirc | September 03 2014

Works!
Just started "grunt serve" with "watch" task and now enjoying rebuild and browser refresh whenever I change the code in VS. Great work! :)

by Stephen Feest (Cezanne HR) | September 03 2014

Really pleased to see Grunt support being added to Visual Studio. Unfortunately we can't use it for our 'real world' projects yet because our Gruntfiles are at solution level but it sounds like this will be coming in a future release.

Mads Kristensen September 03 2014
| Edit |
Delete

This is being addressed and will be supported in future releases. Thanks for the feedback!

by John Papa | September 03 2014

Great integration with Gulp and Grunt! Love being able to run the tasks from Visual Studio and bind them to actions, such as on clean.

Great job!

Sign in to start a discussion


  • Deploying Grunt Build Dist to Azure ?
    2 Posts | Last post Sat 1:43 PM
    • One issue I'm working through is being able to take my purely grunt based solution that lives inside a asp.net project file - we have a typical 'dist' folder creation on grunt build.
      
      I'm looking then for a way to deploy *just* the grunt dist folder within the project to Azure.
    • Thought I would throw my 2 cents in on this, I am looking at this with VS 2013 Update 3 and having the same pain point. I would say this is more an issue with deploying in VS though as in theory you dont actually have to create a 'dist' just minified/concat/cleaned files using the Task Runner. 
      
      Although as its best practice atm hopefully there will be a method of doing this, atm to get it to work I am doing a bit of a hack.
  • MVC 5 tools dead?
    6 Posts | Last post Sat 1:40 PM
    • Does this mean that the MVC 5 tooling for bundling/minification are not going to be supported in MVC 6?
      
      Corollary: It it planned to actually integrate bower/npm into the MVC 6 project templates? Or will bootstrap, for example, still be "hardcoded" in the project template?
    • The System.Web.Optimization NuGet package will not be supporting MVC 6. There will be other runtime alternatives, just like there is today, but the ASP.NET team will not be providing one out of the box.
      
      The goal is to have a better story by leveraging tools such as Grunt to do the bundling and minification in a very easy and simple way. This comes with additional benefits, such as static file serving and CDN-ready.
      
      Bootstrap in MVC 5 templates was a NuGet package. In VS 14, that will be a Bower package instead. So will all the other client-side NuGet packages such as jQuery, Angular etc.
    • Nice, that is all great news! 
    • Thanks, Mads! Very clear response. And kudos to you and your team on getting on top of this!
    • Very important. Thank you for sharing that, Mads.
    • very good news - I think this is a great approach (helps for me to say that since this is what we are doing currently lol)
  • Crashes Visual Studio when using watch
    1 Posts | Last post Sat 1:35 PM
    • FYI: so far, when using with watch, anytime I change a file it crashes Visual Studio
  • Not finding gulp tasks.
    4 Posts | Last post September 23, 2014
    • We have a gulpfile that is found, but it says (No tasks found) underneath it.
      
      Our current tasks are of the format:
      
      gulp.task('css', function () {
          return gulp.src('./stylesheets/*.less')
          .pipe(less())
          .pipe(gulp.dest('./stylesheets'));
      });
      
      We have 3 gulp tasks like that, with one:
      
      gulp.task('defualt', ['cssmin']);
    • We updated the Gulp support in the 0.7 release. Can you please try upgrading and let me know if the problem persists?
    • Same problem even with v 0.7
    • Never Mind. Due to the structure of the existing applications the package dependencies were in a folder outside of the existing solution. After doing an npm install all the dependencies were installed int existing solutions folder and now I can see all my gulp tasks. Thank you!!
  • Bindings
    6 Posts | Last post September 19, 2014
    • Where are binding settings saved? Are they user specific or can I push these settings into source control along with my source so that other people can pick them up?
    • They are saved as a triple-slash comment in the top of the gruntfile.js/gulpfile.js. VS doesn't persist the settings until the solution closes
    • Will there be msbuild support for these bindings so they can be run as part of CI?
    • Yes, we are still ironing out the specific implementation details for that, but it is coming.
    • I couldn't find where the bindings are saved. I found those triple-slash thing. I closed and re-opened my solution. But couldn't find any footprints of those settings. How this is happening? Where is it hidden?
    • @Sameer, the bindings are stored ONLY in gruntfile.js/gulpfile.js in the triple-slash comments. Nowhere else.
  • gulpfile.js not recognized
    5 Posts | Last post September 19, 2014
    • I have a gulpfile.js, root Level of a MVC project, but isn't recognized. 
      Do I need other extensions? I installed node and gulp.
      
      Txs
      Eric
    • That should work. Are you using the latest version 0.7?
      
      Can you share the project so we can debug and come up with a fix?
    • When I open the project standalone, I get the Task Runner Explorer menu.
      Our original solution is using solutions folders. 
      Could that be a reason that I have no Task Runner Explorer menu?
    • And yes, v0.7
    • It could very well be due to solution folders. How deep is your solution folder structure? Can you send a screenshot of your Solution Explorer to madsk at Microsoft com?
  • Awesome!
    2 Posts | Last post September 19, 2014
    • Finally a solution to the very draconian project build system we've had for many years!. Great work so far.
      
      I have a few thoughts. I've been using web storm for most of my recent projects and it's grunt (+ terminal) integration is great. There are a few features that it has which would be nice to see in the final edition of this ext.
      
      - running tasks with force and verbose flags
      
      - run coffee script tasks (parse gruntfile.coffee)
      
      - clear terminal output button
      
      - choose which console program runs the tasks (i.e. bash when working with cross-os projects)
      
      I've managed to find one bug so far
      
      - non tasks are appearing in the task list. i.e. a config object and config.env are showing for some of my projects,  these are not tasks.
      
      
      Is the source project on github or the likes?
      
      thanks again.
    • Thanks, all these features are on the backlog and planned for VS14.
  • Bug reporting
    5 Posts | Last post September 17, 2014
    • Where would be the best place to file bug report since I guess there is a better place than the Q and A?
    • For now, this is the best place to report bugs
    • When opening Task Runner Explorer it reports: "Failed to load. See ouput window (Ctrl + Alt + O) for more information.
      
      The output window reports the following:
      
      Failed to load "C:\inetpub\wwwroot\######\######\gruntfile.js"...
      Running "vs-grunt-task-reader" task
      
      The grunt file is running fine in Grunt from command line and also Grunt Launcher (1.6.5)
      
      Gruntfile.js as below:
      
      module.exports = function (grunt) {
        grunt.loadNpmTasks("grunt-ts");
        grunt.loadNpmTasks('grunt-notify');
        grunt.loadNpmTasks('grunt-contrib-watch');
        grunt.loadNpmTasks('grunt-contrib-clean');
      
        var config = {
          watch: {
            core: { files: ["ts/**/*.ts", "ts/**/*.tpl.html", "!ts/typings/**/*.ts"], tasks: ['ts:core', 'clean:core'], options: { spawn: false } },
          },
      
          clean: {
            options: { force: true },
            core: { src: ["ts/**/*.js", "ts/**/*.js.map", "*.tmp.txt"] }
          },
      
          ts: {
            core: {
              src: ["ts/**/*.ts", "!ts/typings/**/*.*"], html: ["ts/**/*.tpl.html"], reference: "ts/reference.ts", out: 'js/neo.js', options: { noImplicitAny: true, declaration: false }
            }
          }
        };
      
        var defaultTasks = [];
        defaultTasks.push('clean:core');
        defaultTasks.push('ts:core');
        defaultTasks.push('watch:core');
      
        grunt.initConfig(config);
        grunt.registerTask("default", defaultTasks);
      };
      
      I have even tried a barebone file as well, with the same result.
    • Where is the gruntfile.js located? In the root of the VS project or elsewhere? Would you be able to share your project or a smaller repro project so we can take a look and fix it?
    • Hi have the same error like Magnus.
      my gruntfile.js is located in the main Project Folder. for example : solution is in \myapp
      gruntfile is in \myapp\myapp
      my gruntfile looks like this: 
      module.exports = function(grunt) {
      
          // load the task
          grunt.loadNpmTasks("grunt-ts");
      
      
          // Configure grunt here
          grunt.initConfig({
              /**
               * Compile all TypeScript files to the Application JavaScript file
               */
              ts: {
                  dev: {
      // a particular target
                      src: ["app/**/*.ts"], // The source typescript files, http://gruntjs.com/configuring-tasks#files
                      html: ["app/**/*.html"], // The source html files, https://github.com/basarat/grunt-ts#html-2-typescript-support
                      reference: "./app/reference.ts", // If specified, generate this file that you can use for your reference management
                      out: 'app/app.js', // If specified, generate an out.src file which is the merged src file
                      watch: 'app'
                  }
              }
          });
      
          grunt.registerTask("default", ["ts:dev"]);
      
      
      };
      
      so nothing Magic and it works in a console not through Task runner. if you want i can share small part of my Project with you. just say where to send this? 
      best regards 
      Adrian
  • MSBuild / TFS
    2 Posts | Last post September 16, 2014
    • I have Bower/Grunt all working in my project, just as a proof-of-concept.  If I were to proceed with it, I need TFS to build it all correctly.  I'm using the Bower.js Nuget package, which supposedly will restore packages during the build (have not tried yet).  What is the best way today for running my GruntFile.js during my TFS build?  I think in order to get more people to get in to these tools to help test, it would help if you guys could publish something for this already (MSBuild task?).  Thanks!
    • You could use a post build script in your project. Open the property pages of your project (right-click -> Properties) and add something like "grunt build" to the post build script.
  • Crashing VS 2013 Update 3 (Premium)
    2 Posts | Last post September 15, 2014
    • After making changes, it appears to crash Studio - something with the watch is conflicting
    • Can you try the 0.7 release and let me know if the problem persists?
1 - 10 of 23 Items