Task Runner Explorer

Microsoft DevLabs Free

Provides custom task runner support to Visual Studio.

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

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

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,

Mads Kristensen September 19 2014
| Edit |

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!

Mads Kristensen October 01 2014
| Edit |

I've added that to the Prerequisites section in the description. In VS14, those tools will be installed by VS so you won't have to install them separately yourself.

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.

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

  • TRE uses built in node?
    1 Posts | Last post April 06, 2015
    • It looks like TRE uses VS's built in node in:
      "\Common7\IDE\Extensions\Microsoft\Web Tools\External\node"
      Is there a way to change it other than replacing the node there?
  • Grunt subtasks stopped showing in CTP6
    2 Posts | Last post April 03, 2015
    • In a project from CTP5 I had Gruntfile.js with tasks and subtasks. The subtasks displayed in task runner and I could run them independently. Which is not uncommon if you have say a Sass task with both dev and prod versions.
      This same gruntfile in CTP6 Task Runner no longer shows the subtasks.
    • Can anyone reproduce this?
      I'm hoping someone from team will respond.
  • Use Gulp from node_modules.
    1 Posts | Last post March 31, 2015
    • I do not install gulp globally, so attempting to execute gulp from the PATH won't work in my environment.  However, gulp is installed into my project, so it can be found in node_modules/.bin/gulp.cmd.  Presumably, most users who have a gulpfile will probably also have gulp.cmd, so I don't believe there is any reason to depend exclusively on gulp being in the path.
  • Run npm scripts
    3 Posts | Last post March 27, 2015
    • Any chance of support for running npm scripts as build tasks? (As recommended by this article http://blog.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/)
    • +1, this would be helpful -- even if Grunt or Gulp are being used under the hood, it can be expedient to alias them to npm scripts in order to combine them with other commands
    • +1 The majority of npm projects don't need grunt or gulp (or broccoli or assemble or...). And for those that *do*, it's still generally recommended for npm scripts to be listed as aliases for the grunt/gulp/etc tasks for discoverability. (npm is the common thread amongst all of these, anyhow, so package.json is guaranteed to exist and be the first place people  look).
  • TRE window very slow to open when output history is very large
    1 Posts | Last post March 25, 2015
    • Excellent extension! The only problem so far is that because I use grunt-watch heavily, I get a very large amount of text in the output area. So large that at times it takes more than 10-20 seconds to open after long term use. Reopening the solution (or restarting the task) solves the problem temporarily. I think this could be an easy fix, perhaps to limit the output buffer to some reasonable size.
      Keep up the great work!
  • Solution Platform and Solution Configuration
    3 Posts | Last post March 25, 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";
  • Failed to load
    4 Posts | Last post March 25, 2015
    • When opening Task Runner explorer by right clicking on gulpfile.cs I get an error message saying "Failed to load.  See output window for more information."  The output window says "Referenced file '~/Scripts/_references.js' not found."
      Running the latest version of Task Runner Explorer.
    • http://madskristensen.net/post/the-story-behind-_referencesjs
      If you don't have a _reference.js file in your project, but you have Web Essentials 2013 installed, then it's really easy to add one. Simply right-click the /Scripts/ folder and go to the Add submenu to find an easy way to add references.js.
    • The thing is that in VS2015 , using the ASP.NET 5 Starter Web, there is no /Scripts/ folder. I guess we can't use gulpfile with Task Runner Explorer yet, which is kinda sad.
    • I think you'll find the _references.js file is unrelated to the TRX.
      Drop down "Show output from:" and select "Task Runner Explorer" and that will show you the error for TRX.
      If it runs on one branch and not another, are you sure you have installed gulp so it's available to the branch you have the problem with?
  • Support for ember-cli?
    1 Posts | Last post March 24, 2015
    • I really like using the TRE with grunt.  I have another project which uses the ember-cli (which uses broccoli under the hood.  Will the TRE support broccoli or ember-cli?
  • Redirect Task Runner Explorer output to Output pane on build
    2 Posts | Last post March 20, 2015
    • I have just started with Task Runner Explorer, and it is not only extremely useful, but helped me with learning Grunt and the transition to Grunt in a number of projects.
      When you say in the description that only Web projects are supported, does that include both Web site projects and Web application projects?
      Would there be any benefit in parsing gruntfile.ts in addition to gruntfile.coffee and gruntfile.js? I imagine not, because gruntfiles are usually relatively small. (It might be easier to get Intellisense on TypeScript files than on standard JS files, but I guess that's not in the scope of this extension.)
      I have one issue on a Web site project -- I've attached a build binding to a grunt task, but the output from the task doesn't show up in the Output pane when I build, nor in the Task Runner Explorer terminal pane.
    • (I just want to note -- the task is running, either to completion, or failing as the case may be).
  • Failed if solution contains unloaded project (NullReferenceException)
    2 Posts | Last post March 18, 2015
    • 1. open solution with many project
      2. unload project (solution explorer -> project -> unload)
      4. NullReferenceException
      stacktrace: http://1drv.ms/1FuhB8q
      I think, VisitAllProjects method should check "if(project.ProjectItems!=null)"
    • I can confirm that this happens.  Thanks for saving my bacon by pointing this out, I wasn't sure where to turn :)
1 - 10 of 66 Items