Visual Studio 2012: a first impression

Visual Studio 2012 was released a while ago, but because the success of my master’s project was dependent on my VS 2010 environment, I refrained from upgrading until now. Last week I completely removed Visual Studio 2010, including the laundry list of optional components that get installed, and then switched to Visual Studio 2012 Ultimate (which I had already acquired trough my university some time ago). I haven’t been able to play around with it in-depth yet, but here are some first impressions…

50 shades of gray

The first thing you’ll notice, before even writing a single line of code, is the new graphical user interface. The default theme, called “Light”, turns the IDE into a collection of grayish and whitish shapes that sort of blend together into a single, featureless slab.

Visual Studio 2012 light theme

It’s a matter of taste, of course, but I found it to be extremely dull and uninspiring. Fortunately, for the first time ever Visual Studio now has out-of-the-box support for a completely different theme, called “Dark”.

Visual Studio 2012 dark theme

I’m already a huge fan of this theme. It still suffers from the same problem that the entire window is essentially one color, but for some reason I don’t mind it this time. The sparse color highlights also seem more pronounced here than they were in the “Light” theme. And, the fact that there is now an officially supported dark theme also means I no longer have to rely on third-party color schemes, which are often incomplete and require manual tweaking.

Coding features

Of course, the thing you’ll likely be doing most often in Visual Studio is writing code. And though the editor appears to be mostly unchanged from the previous iteration, one thing I immediately noticed was that it somehow felt more responsive. It seems this is primarily caused by the IntelliSense menus, which pop up and filter instantly with every individual keystroke. It makes the whole thing feel very snappy.

Now for the not-so-good… something which has been bugging me since the earliest versions of Visual Studio is how little love refactoring seems to get. And with every new major version comes another disappointment when it becomes clear that again nothing has changed. There’s only a very small set of refactorings available in Visual Studio and this set has not changed significantly for years. Hell, we’re in VS 2012 now and even something as elementary as a renaming operation still takes place through a clumsy dialog screen. Refactoring and code generation are small things which can make writing code into a much more pleasant experience. And in this sense, you’d really expect more from one of the world’s largest software company’s flagship development environment. Surely this isn’t the best you can do, Microsoft?

Indeed, looking at this article on MSDN it seems that while a whole range of new features has been added to Visual Studio 2012, the way in which you write code stays pretty much the same. Whether that’s a good or a bad thing is in the eye of the beholder. Personally I would have liked to see some innovations and enhancements to the code editor, because while it’s cool that Visual Studio can now help you in your application lifecycle management, at the end of the day that’s not where I’ll spend the most time. I will spend my time writing and debugging code. And I will say that Code Maps looks like a promising new feature, especially for use in debugging. It’s probably the best new feature I’ve seen so far. But other than that, there’s not a whole lot to report on the writing-code front.

Updates

Microsoft intends to improve Visual Studio 2012 over time, releasing updates which add new features. The first update has already been released, and the second one is currently in a community preview state. I think this is a great decision by Microsoft, which seems part of their overall strategy recently to involve the community much more directly in the development of new products. Update number 2 will provide, among other things, an integration of the Git version control system directly into Visual Studio, meaning it won’t just be Microsoft’s own source control systems that are directly supported.

Will it Blend?

My installation of Visual Studio came with Blend for Visual Studio 2012, which is apparently focused on the visual creation of Windows Store applications. I say “apparently”, because Blend will not let me create a new project, so I can’t test it out. A quick Google search learns that this is because I am on Windows 7, and Blend is only supported on Windows 8. Why they let me install it in the first place is a mystery. I’ve also read that Update 2 will address this issue, though I’m not sure how trustworthy a random guy on the Microsoft support forums is.

In summary

If this impression has made it seem that I don’t like Visual Studio 2012, then let me set this straight: I love working with Visual Studio, and version 2012 is no exception. In my opinion, it’s the best IDE out there. What I am is disappointed. I feel that for all of the fancy new features added to this version, its core component (the freaking code editor!) has been neglected and still provides the same basic experience as it did many years ago. I know writing text is not a terribly complex task, and therefor shouldn’t have an overly complicated solution, but I feel like there could have been more innovation over the years in an area which is so important to Visual Studio. Maybe in the next version…