Visual Studio, Microsoft’s flagship development tool and considered the best IDE around, has had an overhaul, a new coat of polish and some new features added. But is it worth upgrading, when everyone upgraded to Visual Studio 2012 so recently?
First appearing in 1997, Visual Studio has a long heritage. A year after its initial debut, Microsoft released version 6.0. After that, there wasn’t another upgrade for four years. In fact, I was still using Visual Studio 6.0 at work in 2007! That’s unusually long for an IDE not to be upgraded. In that four years, it grew from being a DOS/Windows IDE (Integrated Development Environment) for Visual Basic, C++, J++ and FoxPro to include C#, VB.NET and .NET in 2002. Since 2005, new versions appeared in 2008, 2010, 2012 and now 2013 with a shorter and shorter product cycle.
In deciding whether or not to upgrade, developers should consider the impact and value of the changes that have been made to the IDE. The good news, however, is that you can have multiple Microsoft compilers installed side by side without any cross interference. So you don’t have to choose one version over another. I used to have VS 2005, 2008 and 2010 all installed together. Now I have VS 2010, VS 2012 and VS 2013. I need VS 2010 for XNA/Monogame development, since it’s the last version that supports it. Likewise, I have Resharper 7 installed in VS 2010 and VS 2012, but will need to upgrade to Resharper 8 for VS 2013.
Here are some of what I consider to be the best new features in VS 2013 from a C# point of view. I’ll look at what’s new for C++ developers in a follow up article. Note: This review is of the Professional version of Visual Studio, which comes with Blend for 2013 in the MSDN download.
Developers often work with a lot of other developers’ code. To ease collaboration, past versions of Visual Studio incorporated a Go To Definition command, which opens the file that contains a definition. In VS 2013, you can quickly see the content of a definition file with Peek Definition. The Peak Definition command opens the file in a separate pop-up window, instead of navigating away from the active code, and stays there until closed. In the image below, I right-clicked on Dog.DrawPos and clicked Peek Definition, which opened up the file window showing the DrawPos property. In this case, that definition is from the same file but it could be from any file.
The big advantage is that unlike Go To Definition, you don’t lose your place in your source. Note that the scroll bar highlights your current position. The Peek Definition includes the entire file, so you can scroll through it. You can return to the point of definition by finding the small blue bar in the scroll bar column. That’s true when editing any source file — scroll and you’ll see a small blue bar that you can click to quickly scroll back to where you were.
Enhanced Scroll bar
This one you may have seen this before. Resharper provides a quick way to find errors or warnings in your code by putting colored bars in the scroll bar. VS 2013, however, lets you turn on a 10,000 foot view of your code. In old word processor parlance, they’ve greeked the text. But move the cursor onto your code and you see a pop up of what your cursor is over (in normal size). This view is off by default, but can be turned on by right clicking the scroll bar and adjusting the Scroll Bar Options. In the options, set map mode with three widths and what you see in the vertical scroll bar.
There’s no new language features in VS 2013 but the compilers for C# and VB.NET have been reimplemented from the ground up, incorporating the Roslyn technologies. The next version will likely start seeing new language features.
VS 2013 does come with a minor release of .NET, version 4.51, which brings one of the biggest changes: 64 bit support for Edit and Continue. With this new support, you can stop debugging somewhere in your code, edit it and then carry on.
There are a lot of changes in VS 2013, but many are minor and things that you won’t notice. So is it worth it? I think yes, but it’s a close call. Peek Definition and the scroll bar map are great but aren’t enough by themselves. The same can be said for 64 bit Edit and Continue – it’s useful, but we’ve all managed without it so far. I think a lot of people would have been very happy if Microsoft had just included these as an update to VS 2012.