My must-have extensions for Visual Studio 2013

2013-11-08

Visual Studio 2013 has been available for a while now, and next week is the official launch party. Ever since I started using Visual Studio my life has been made easier by all the great extensions that people write for it. This is the list of things I install almost as soon as I see the "Installation Completed" screen of Visual Studio itself:

Resharper
This product shouldn't need any introductions. It has been one of the most-used commercial Visual Studio productivity extensions. The only alternative that is equally valuable for me would be Code Rush, but somehow most of my clients have already standardized on Resharper. I miss some of the features from Code Rush (debug helpers, dynamic templates), but can do without them.

+Plugins: AgentMulder, AgentRalph, InternalsVisibleTo Helper, JsLint, Razer Plugin, TestCop
Resharper 8 now comes with NuGet support for plugins, which is great, as it helps you keep your plugins up to date! I have the above mentioned plugins installed to make life easier when doing a lot of Unit Testing and ASP.NET MVP development.

VSCommands
VsCommands adds some small features that are really handy. Think of Command Line Here, Locate in Solution Explorer, And for those of you that work a lot in MsBuild to write their own before/after build targets, the Edit Project File option is ideal. Plus it shows the current branch name in the title of your Visual studio window.

Reflector .NET
Resharper comes with dotPeek and Code Rush has a decompiler window, but only Reflector has one feature that's even better: Debug symbol generation. Using Reflector you can generate debug symbols for assemblies that you don't have symbols or sources for, making it possible to debug nasty issues in e.g SharePoint or any other closed source product for that matter. It has saved me on multiple occasions. To make it work with Resharper you do need to tweak the Resharper code Navigation settings:


This will allow Reflector to hook into the F12 handling of Visual Studio so you'll still see a decompiled version of any method you navigate to, just not from dotPeek/Resharper.

TFS Source Control Explorer Extensions
If you're, like me, an ALM support to any team you've been added to, then you'll probably see a lot of branch plans that got completely out of hand. In these cases (and even when you do have a working branch plan), the TFS Source Control Explorer Extensions are invaluable. It adds the Branch commands that are normally only possible from the command line directly to the Source Control Explorer and enabled drag&drop for files and folders to quickly and easily move things around.

I do disable two features:

The change files date on Get adds a long waiting period to large gets and I never look at the dates on my file system anyway and the Files icon change changes the icons around for branches and folders, but this doesn't add any value to me.

Branch Info Team Explorer
Ever wondered which branch your Solution was rooted in? Ever accidentally changed code in the wrong branch and then had to roll back and backport into the right one? That's why I have this little gem installed. Unless you're using a very complex workspace mapping, this extension to Team Explorer shows you exactly which branch your solution is coming from.


It also allows you to quickly switch to the same solution in another branch. That's very handy for people working on multiple feature branches or supporting multiple versions of the same product!

Visual Studio Team Foundation Server Power Tools
One more add-on for TFS. This one should be installed on all systems by default. Even just the extended commandline tools (tfpt). If you're into the command line stuff, then you'll also like the TfsTeamTools, the TfsBranchTools. If you've ever had to edit the Process Template of a TFS Project, then you're also going to love this set of extensions.

Codelens Code Health Indicator
If you're lucky enough to run Visual Studio Ultimate, then you'll love Codelens. It adds a lot of valuable information right into the editor, making it easier to see what has been going on with the code you're working on.

The Code Health Indicator provides a way to show the metrics from the Metrics Tool Window directly in your source window. This little add-on gives me back one of the features from Code Rush that I missed since installing Resharper.

The download page says it only works on Visual Studio 2013 RC, but so far it's been working on the RTM version as well with no issues (for me at least)...

Web Essentials
As you can tell by my inclusion of the Code Health indicator, quality code is important to me. Web Essentials adds JsHint support to Visual Studio and it helps define Stylesheets with the maximum cross-browser compatibility! Combine that with jsdoc, minification, less and coffeescript support and you can make many-a-html5-guru happy! If Sass support is important to you, install the Web Developer Workbench as well.

JSHint

I'd love it when Web Essentials would provide MsBuild support for minification, JsHint and CssLint as well, but though it has been on the feature request llist a long time, it hasn't been added so far. This would also allow integration of WebEssentials into Team Build.

Chutzpah Javascript Test Runner
When talking about WebEssentials, a way to execute Javascript tests is next on the list of achieving high quality code in a Web Development environment. Chutzpah does just that, it can execute Jasmin and QUnit tests written for Javascript and it integrates directly into the Visual Studio test runner. The beauty of that, is that it also integrates in Team Build and can thus pass or fail a build based on Javascript tests passing or failing.

NUnit & XUnit test runners
Should Mstest not be your tool of trade, since Visual Studio you can now add test runners to other test frameworks as well. So instead of adding a test runner for a whole different language, as is the case with Chutzpah, this adds support for additional test frameworks your managed code unit tests. Full support for team build as well, which is nice!

With the NUnit test runner you can also execute tests that were generated by Selenium as an alternative to the standard Visual Studio CodedUI tests.

Team Room extension
Are you working in a Distributed team, or people work from home a lot, then this addition to Team Explorer is really nice! It puts Team Rooms, a new feature of Team Foundation Server 2013 and Team Foundation Service directly into Visual Studio. No need to leave Visual Studio to chat with your team members or see their updates. Plus is was built by my own colleagues, what more could you wish for ;)!

Wix Toolset
Ever since the removal of the Visual Studio Setup Projects (or actually way before that, ever since I started using Team Build), I've been using Wix for my setup requirements. Though I usually don't create fancy UI's or extensively configurable stuff, I do like my installers to register themselves into the Programs and Features window and to be able to upgrade  (and downgrade) my application gracefully. Wix can help you do that!

StyleCop
Yay! A Visual Studio  2013 and Resharper 8.0.2000.2660 compatible version has been released. Stylecop helps you write your code in a clean way and helps ensure that team members all use the same  coding style. In itself it's a huge  pain, since I never seem to be able to remember all the rules in the style guide, but when combined with Resharper and it's magic alt-enter, it is incredibly helpful.

There are a few things that are still missing
Though almost every add-on for visual studio I regularly use has been ported to Visual Studio 2013 already, there are still a few that are missing. These will probably follow suit int he near future.


 

Most Reading