Task Runner Explorer

Microsoft DevLabs Free

Provides custom task runner support to Visual Studio.

(26) Review
Visual Studio
Download (37,258)
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Reviews (26)
Q and A (81)
Sign in to write a review
Sort by:

by Alexander Staroselsky | August 11 2015

Great plugin for organizing and running Gulp/Grunt tasks. Plugin has done a great job of identifying registered tasks in gulpfile and displaying in window so far. One really big win for me was being able to bring up the task runner explorer and run Gulp tasks while MVC application was running, allowing me to run tasks such as gulp-uncss to identify unused css.

by I.Mahmoudi66 | August 06 2015

by Eric Aldinger | June 10 2015

I really like this so far. Good job.

The test output is nicer in the explorer than the output directly from the cli. I wish I knew how to capture that formatting for our build output.

I would like to access this from within the context of any js file.

I would like the option to mute warnings like ">> Local Npm module "grunt-sync" not found. Is it installed?" It should be installed IMHO, but that is a matter of debate for our team. So the warning is not of value right now.

Instead of having jshint and htmlhint directly under Tasks, perhaps move them under a general Hint level. This could enable users to either lint both at the same time, or either independently.

by Guilherme Magalhães | April 03 2015

I'm getting "object reference not set to an instance of an object" while clicking the refresh projects button... Only happens in one new Win10 machine with 2013 and 2015 installed.

Is there a way to debug the extension or get logs?

by LongDinhLe | April 01 2015

by Justin_Butler | March 30 2015

Mads -

Great extension and really helped me get some outsourced front-end code into our Visual Studio environment. In order to take this to the next level, it would be great if there were built-in support in Visual Studio for getting Gulp into the build pipeline so that we can really take advantage of this in Continuous Integration scenarios. There is a really good article about this by Steve Cadwallader on his blog, which can be found here:


Hope you consider making this part of Visual Studio's default functionality. Again thanks for your work thus far!


by KyleButler | March 03 2015

I can't get it to work. Gulp works fine from the command line, but in VS I just get "Process terminated with code 1". No idea what the problem is or how to fix it

by cslater | March 02 2015

Please fix the crash every time you size the splitter window.

by JHubSharp | February 16 2015

Awesome work. The tooling here and elsewhere in VS2015 has really renewed my focus on client-side development. Thanks!

by Pat James | February 12 2015

It is a nice idea but it completely breaks Visual Studio's git integration. To me, git is much more valuable inside VS. I can run gulp, grunt, etc just fine outside of VS with very little reduction in capability from what Task Runner Explorer offers. Not so with git. Maybe if/when this bug https://connect.microsoft.com/VisualStudio/Feedback/Details/865064 is resolved I will give it another try.

by DevDells | January 23 2015

You don't need a file save event to bind to. Just use the Grunt watcher.
Takes a little time to get Grunt integrated in your workflow, but this Task Runner makes it so much simpler.
Staying in VS makes it more transparent.

by Guido Müller | January 16 2015

Nice tool. From my perspective it would be an improvement to have a binding for a file save action to trigger a grunt task.

by Jorge Neyra | January 16 2015

This works great! I have 2 issues though. One was mentioned by another user about the tasks taking too long for the production files to be ready before publishing. My second issue is that any new files created by the tasks are not automatically included in the project.

by MaksimVi | January 08 2015

Great idea, but still needs improvements. Bindings seem to be triggered by every project inside the solution instead of just the one containing gruntfile.

by vilicvane | December 21 2014

Great to have this. And it would be great if there's a quick way to know the updates of running tasks without unfold task runner.

by LordDawnhunter | December 09 2014

Great tool but there is a small issue.
When publishing a web project, the package is created before "gulp" has finished running.
So, there is either missing files or files that are empty.

by Christiaan Rakowski | December 06 2014

by KatieArnott | November 12 2014

Can you add a gulp task to VS’s publish event?

Mads Kristensen November 18 2014
| Edit |

Yes. Your .pubxml file is actually an MSBuild file, so you can easily call any command line tool from it

by JayChase | November 06 2014

Just getting started but it seems stable and easy to use.

by Templarian | September 26 2014

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).

1 - 20 of 26 Items   
Sign in to start a discussion

  • On crashes
    1 Posts | Last post Fri 9:56 PM
    • When visual studio crashes the node process keeps running. This can be pretty bad since most of the time you have a watch process going on and suddenly you have two watch processes and you don't know why things aren't working. I think you should make the node process a child process / linked to visual studio that way these types of things don't happen.
  • Shortcut
    3 Posts | Last post Thu 8:00 AM
    • Any one know if you can set up the task runner explorer, so that a a keyboard shortcut can be set for a task?
    • also waiting for this. any plans to support shortcuts?
    • Now that would be helpful!
  • Add binding event
    1 Posts | Last post Tue 7:00 PM
    • Was using grunt-contrib-watch, but there's some bug because of our directory traversing it won't see files in particular directory.
      Would like to add an "on file save" binding event to the Task Runner Explorer to get it to compile on .less file save.
      Any way to do this?
  • "Project Open" bound task is launched twice when VS2015 RTM is opened
    6 Posts | Last post August 21, 2015
    • I'm using a clean install of VS2015 RTM community edition. I have a single task bound to "Project Open". When the project is opened from a state where VS is already running, the task will be launched once, correctly (though the TRE window seems to force itself to pop-up - I personally would prefer it not to, like it does in VS2013).
      Anyway, my setting in Options -> Environment -> Startup is "Load last loaded solution" so when I open VS it would automatically load the last solution, and TRE would launch the task twice. I have this happening on two of my projects that are set this way (I don't have any other projects that use TRE).
      Having to close one instance every time is quite annoying, and since this isn't really an add-on anymore, I'm not sure exactly how and when it could be fixed. Is there at least a workaround for this problem?
    • Some more info: I'm using Windows 7 SP1 64bit. The task is a Grunt "watch" task. I tried to check if it is also happening with other tasks (like  grunt-ts), and it did. It also occurred randomly when VS was already running, but it only seems to happen consistently when VS is loaded right before the solution/project is opened. I also tried to disable Web Essentials and Web Compiler extensions (these are the only ones that were installed) and it had no effect. It happens very consistently in this scenario.
      The delay between the launching of the two instances looks like 1 or 2 seconds (they don't start exactly at the same time).
      The thing is I never used the VS2015 release candidates myself, so I have no idea if it also happened in the pre-release versions as well, and if it did, someone would have probably reported it? (I would definitely have reported it myself if I encountered it).
    • Screen capture video of the problem: 
      Microsoft connect bug report (with more detailed instructions for reproduction):
    • I figured it out. It's because you have multiple build configurations. Just delete other configurations and leave only one.
    • oops! tried again, doesn't work now :(
    • Also experiencing user2k's issue, however my configuration uses Gulp. Posting here in the hopes that someone may reply.
  • Solution Platform and Solution Configuration
    6 Posts | Last post August 05, 2015
    • Is it possible to get the current solution platform and configuration (ie: Debug | Any CPU) from a grunt task?
    • I'd like to hear an answer to this topic too! Where can I define which gulpfile / gruntfile the task runner should use? And which platform it belongs to?
    • Closest I was able to get with this is to set an environment variable as a post-build task before calling gulp/grunt.  Then, in your task, you can check process.env.whatever.
      Pre-build event command line:
      cd $(ProjectDir)
      set NODE_ENV=$(ConfigurationName)
      var minify = process.env.NODE_ENV === "Release";
    • Have you tried using this NuGet package? https://github.com/kmees/MSBuild.NodeTools
      I believe it allows you to run a Grunt/Gulp task upon build that has the current build configuration in the task name.
    • This is quite essential feature and hopefully it will be added soon.  OTOH I wonder why is it missing in first place.
    • Any news/possibility if this implementation?
  • Solution-level Gruntfile.js
    3 Posts | Last post August 04, 2015
    • I've got several solutions where the Gruntfile.js is at the "solution-level" (and thus show up in the pseudo-folder named "Solution Items"). It doesn't appear that these are supported (they don't seem to show up at all). Will there be support for solution-level task files as well? (I could probably move the tasks in these to project-level files, but this is were they are currently.)
    • Solution level gruntfiles are not yet supported. We will be supporting that in future releases.
    • Here's a pretty simple solution to allow this extension to use any gruntfile (including coffee-script), create this wrapper as gruntfile.js in the project:
      /// <binding BeforeBuild='before_build' AfterBuild='after_build' Clean='clean' ProjectOpened='project_open' />
      module.exports = function(grunt) {
          grunt.option('gruntfile', 'gruntfile.coffee');
          grunt.registerTask('before_build', function() {
          grunt.registerTask('after_build', function () {
          grunt.registerTask('clean', function () {
          grunt.registerTask('project_open', function () {
  • Project with gulpfile.js in subpaste
    2 Posts | Last post July 26, 2015
    • Hello everybody! I'm working on a project, and when I put the project containing gulpfile.js in a subfolder, the plugin really did not recognize him anymore. The structure looked like this:
          paste 1
             paste 1.1
          paste 2
          paste 3
      Someone went through this too?
    • Yep, same issue here.
  • Compatibility with VS2015 Task Runner Explorer?
    3 Posts | Last post July 20, 2015
    • Hi Mads,
      I've noticed in the VS2015 RC that the binding comments are different:
      /// <binding AfterBuild='sass, browserify' ProjectOpened='watch, watchify' />
      /// <vs AfterBuild='sass, browserify' SolutionOpened='watch, watchify' />
      Will the two versions be compatible with each other in the future? I've noticed that in VS2013 no bindings are recognized if *both* comments are present in my gulpfile. VS2015 seemed happy enough to ignore the VS2013 binding.
    • Edit: Actually the behavior is that only the first /// comment line is read, the extension ignores any subsequent lines.
    • I seem to have the same issue with VS 2015 RTM. I'd like to have my solution work in both VS 2013 and VS 2015 but they both only look at the first line for bindings as far as I can tell.
  • Additional parameters for grunt?
    1 Posts | Last post June 30, 2015
    • Can I add additional parameters to the grunt execution call?
      Especially I would like to have the "-force" Parameter added to the execution of grunt. 
  • Debug tests run via grunt?
    1 Posts | Last post June 30, 2015
    • I use grunt to start a couple of unit test files.
      Is there a way how I can break into the vs Debugger from within the Tests?
1 - 10 of 81 Items