Task Runner Explorer

Microsoft DevLabs Free

Provides custom task runner support to Visual Studio.

(6) Review
Visual Studio
2013
Download (2,699)
9/15/2014
0.7
View
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Description
Reviews (6)
Q and A (19)
Sign in to write a review
Sort by:

by Templarian | Tue 10:28 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.

Mads Kristensen at 3:57 AM
| Edit |
Delete

That's a really good idea. Would a keyboard shortcut do the trick instead of dedicated toolbar buttons?

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


  • Bug reporting
    4 Posts | Last post 4:00 AM
    • 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?
  • MSBuild / TFS
    2 Posts | Last post Tue 6:30 PM
    • 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.
  • Not finding gulp tasks.
    2 Posts | Last post Mon 6:02 PM
    • 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?
  • Crashing VS 2013 Update 3 (Premium)
    2 Posts | Last post Mon 6:01 PM
    • 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?
  • Can this be extended?
    3 Posts | Last post Fri 1:26 AM
    • Can this be extended to support other things like Jekyll (ruby)?
    • There will be full extensibility. In fact, both the Grunt and Gulp support in the Task Runner Explorer are using the extensibility API, so you can imaging support for all types of task runners is possible. Current plans are to support Grunt and Gulp only out of the box in VS14
    • So Karma would work as well? Or is this being considered for integration into the test window/extension point?
  • Non-JS gulpfiles?
    1 Posts | Last post September 09, 2014
    • The project I'm working on is heavily using coffeescript, going so far as having a gulpfile.coffee instead of a gulpfile.js.  Gulp handles it fine, but I can't get my project to show up in the "Project" dropdown in the Task Runner Explorer, and I'm guessing that's why.
      
      Looking forward to using the same IDE for front and back end dev though.
  • Small request
    3 Posts | Last post September 09, 2014
    • Could we get a stop button? just like the X but that doesn't ask for confirmation and doesn't close the tab. That way we can look the output later for 'watch' tasks. (The only way to restart those is closing the tab currently, right?)
      
      Also I see colorized output in the screenshots but I can't see it on my projects (using gulp-util currently)
      
      Huge thanks, awesome work :) hoping to see web essentials for VS14 soon
    • Yes, a stop button has been suggested several times and we will add one. We'll also add a "Clear console" button. Yes, you need to close the tab in the current 0.6 build.
      
      We got colorization working for Grunt and we will add it for Gulp as well. It's coming.
      
      Web Essentials for VS14 is coming, but we are trying to figure out precisely what it's responsibilities will be now that we've got Grunt/Gulp support. 
    • Sorry for not noticing those requests, and again thanks for your work. :)
  • Take it to the max: Why use MSBuild at all?
    2 Posts | Last post September 08, 2014
    • Why not adopt gulp as your new build system and drop msbuild entirely (with my apologies to Sayed)? Isn't this angle brackets/curly braces issue writ small? This should be an easier decision, in my view, than adopting project.json. At worst, you may need to use EdgeJS to execute some .NET code.
      
      If you make it work, you will have gone a long way to supporting other platforms and make VS a long term contender.
    • MSBuild is no required or needed for ASP.NET vNext projects at all. The story for ASP.NET projects will be completely cross-platform.
  • Integrate grunt/gulp files with VS14
    1 Posts | Last post September 08, 2014
    • Do grunt/gulp like you did msbuild. The VS project file was a well thought out and designed MSBuild file with extensibility points and well defined tasks.
      
      Don't just provide the ability to use grunt/gulp tasks, make the grunt/gulp file an integral part of your VS development lifecycle and design a standard grunt/gulp template that is just as robust as your MSBuild targets files.
      
      If you put enough work into it, you can put all your project configurations in a json file and leave the grunt/gulp file undisturbed.
  • msbuild/tfs vc/tfs build/CI integration
    3 Posts | Last post September 08, 2014
    • This is the most glaring question: How can this integrate with the VS and TFS build tooling as well as with other CI servers? Specifically:
      * NuGet has an "Auto Restore" functionality that facilitates VCS integration. How will this be handled for npm and bower?
      * NuGet has a "solution universe" to localize the NuGet environment for "global installs" so to speak. How will this be supported for npm? Are you going to use some sort of nvm?
      * How will this npm/bower assets get loaded and gulp/grunt tasks get run from TFS Build and other CI engines?
    • 1. The experience for Bower and NPM will be very close to what NuGet gives today when it comes to auto-restore. 
      
      2. I'm not sure what you mean by "solution universe" in regards to localization. Can you elaborate, please?
      
      3. MSBuild will likely be the CI story for Grunt/Gulp/Bower in VS 14. We don't have the exact implementation details yet, but we're working on it. It will happen!
      
      Today, you can call "grunt build" for instance directly from MSBuild. That's supported and will continue to work.
    • Re 2: This is the key "gestalt" of NuGet, in my opinion. All the JS tool stack is project centric, requiring a new "server" for each project because of the need to deal with the "global" npm registrations and Node versions. The "sln" solution concept generally and the NuGet localization of the "global" to the solution boundary, makes it conducive for professional large-scale development, where many projects are built together and a developer may be working on several products simultaneously. There is no counterpart in the Node/NPM stack other than the nvm project (https://github.com/creationix/nvm), which has traditionally not worked well on Windows machines. If your team can 1) integrate nvm well on Windows and 2) integrate nvm with the .sln Solution you will go a long way to supporting professional development as a step beyond what WebStorm, etc. can or probably ever will do.
      
      Re 3: I didn't know you had a grunt MSBuild Task. I had been looking for a good one for some time. Can you give me a pointer to it and how it works?
1 - 10 of 19 Items