Monday, October 21, 2013

Why I love Visual Studio 2013

After only one year, Microsoft released a new version of Visual Studio. The preview and release candidate where already available for a couple of months but now the official RTM is released last week. I've used the preview and release candidate extensively and installed the RTM as soon as the download was available.

if you’re wondering if it’s worth the the trouble to upgrade to VS2013 I encourage you to keep reading!

Project round tripping

Upgrading a product that you rely on every day can be quite exciting. Especially when working in a team, upgrading an application can be something that requires some coordination and planning.

However, that’s not true for Visual Studio. You can upgrade your edition of Visual Studio without bothering your coworkers. Because of a feature called project round tripping you can work on a project using both Visual Studio 2012 and 2013 without any problems.

This means you won’t have to wait for other members of your team to upgrade. You can upgrade today and start using all the new features without having to wait on a centralized upgrade.

So what are some of those new features?

Debugging enhancements

Microsoft put a lot of work in enhancing the debugger in Visual Studio 2013. One great feature is edit-and-continue support for 64-bit applications. Since most development pc’s are running on 64-bit hardware, this is a very welcome feature.

In C# 5 async/await was introduced and the debugger was capable of stepping through a function that used the await operator just as if you where debugging synchronize code. However, the call stack showed that you where actually switching threads and lost the context of the call stack you where working on. All this is improved in VS2013. The debugger now nicely shows where you are hitting an async command in your code and helps you in keeping track of your context.

One other great feature is the ability to see the return value of a method. If you have code like this:

   1:  int result = Multiply(Five(), Six());

you normally only see the value of result in the debugger. With VS2013 the auto’s window will also show you what Five and Six returned.This can make your life a lot easier. Instead of introducing all kinds of temporary variables during debugging, you can now just use the debugger to view all intermediate results.

Code Lens

Another new feature is code lens. Code lens is some sort of hub that’s projected over the code you’re working on. It shows you all kinds of information that normally would require you to open separate windows or navigate through your solution.

One thing it can always show is the number of references to your class or method. You can easily inspect the references without having to navigate through your solution.

When you are using unit tests, the code lens also shows if your unit tests for that particular method are passing or failing. And when you are using Team Foundation Server 2013 or Team Foundation Service you get even more information like who edited the code and what changes they made.

Browser link

Since I’m a web developer, I’m especially thrilled by all the new features that are coming out for web development. Browser link is definitely at the top of my list and if you are a web developer this feature makes the upgrade a must have!

Browser link is a real time connection between Visual Studio and any browser that’s running your application. This is done by using SignalR, one of the coolest and hottest frameworks released by Microsoft. This makes all sorts of scenarios possible. By default, you get an easy way to refresh your opened browsers after you’ve made a change. This allows for a rapid feedback cycle while doing web development.

However,that’s only the beginning. If you install Web Essentials (a must have extension for every web developer!) you get access to all the new features that the ASP.NET team is experimenting with. This gives you a bunch of new possibilities for Browser link like inspection mode and design mode just as you where used to having in your browser development tools. But also the ability to sync changes from your browser directly into your code (CSS tweaking!) is really nice.

And as Microsoft clearly states: this is only the beginning. Browser link is an open API and you can start customizing it with your own ideas.

And a lot more

In addition to these new features, there is a lot more in VS2013. Enhancements to the HTML, CSS and JavaScript editor, new JavaScript profiling tools, GIT integration, a new Team Explorer, new Azure capabilities and integration into Visual Studio and a bunch of other features.

I can say that I really love VS2013. So, why haven’t you upgraded?

Have you already upgraded? What are your favorite new features? Please leave a comment!


  1. One of my favourite new features is "Debug managed memory", which lets you take snapshots of a process and then ask "which objects were created between these two snapshots?" I've already found and fixed a memory leak in Entrian Source Search using it - I highly recommend it!

    1. Nice! I have to admit I haven't done much 'memory leak fixing' in C# but I'll check it out