I’ve Given Up On Visual Studio Express 2012. Here’s Why

I’ve Given Up On Visual Studio Express 2012. Here’s Why

Last year I made the decision to upgrade to Visual Studio Express 2012 For Windows Desktop. Last week I dumped it for Express 2010. I wish I could say there were many reasons why I went back, but there’s only one — Express 2012 killed my productivity.

For all its benefits — a built-in high contrast style, code analysis, unit testing and multi-language support in the one IDE, it was missing a crucial feature: the Exception Assistant.

If you’ve been using the Express or Pro editions up to 2010, you might not even realise you’ve been using this assistant. Essentially, it provides the hovering dialog box when an exception occurs during runtime, providing helpful info and a shortcut to the view details of the error. To jog your memory, it looks like this:

In Express 2012, you’ll see this dialog instead (via this thread over at StackOverflow):

The option to enable the Exception Assistant is missing from Express 2012 — this is an intentional change by Microsoft. The company deemed the feature too useful to include in the free Express 2012 and so, it decided to remove it. Here’s the explanation from MS’ feedback site, Connect:

You are correct that we intentionally removed the exception assistant from the WDX sku for VS 2012. In 2012, pro and above are required for this functionality. You should be able to view the exception information in the watch window including the inner exception.

We’ll take your feedback and look into possibly adding this dialog back into the express skus in a future release but we have no plans of changing this for 2012 at this time.

Marc Paine
Visual Studio Debugger QA Lead

It feels petty to dump Express 2012 for this alone, but having to deal with this intrusive dialog, rather than the Exception Assistant, was slaughtering my productivity as it throws a few additional steps into the debugging process. No matter how much I willed my brain to adjust to closing the box and setting the next line to execute from, I would instead hit the wrong combination of keys, usually stopping execution.

Put simply, coding suddenly felt clunky. Given the choice between a shiny new IDE, or my productivity, I’m going to choose the latter every time. I’ll be keeping an eye on Express 2012, to see if Microsoft updates it to include the Exception Assistant, but for now, I’m much happier with Express 2010, even if I need three separate versions installed for Visual Basic, C# and C++.


    • I’m not all that familiar with C# but if system exceptions are analogous to runtime exceptions in Java then they’re for situations where something has gone horribly wrong and there’s a good chance you want the top-level error handling to handle the exception.

    • True. The final version they shouldn’t. During development though, they should. Fail hard, fail fast is the most widely accepted version of this ideal. Scattering try/catch blocks throughout the application is not a good idea. Even placing one at the top exception handler is a major annoyance when you can simply switch to an older version and not have to do anything to get access to this debug information…

  • lol, so many people not happy with the latest offering of VS. You’d be happy to know that if you pony up the cash for the full vs 2012, you get the missing exception handler.

    The biggest annoyance for me is that they have decolourised the XAML viewer. 2010 had html colours, 2012 has only white or black šŸ™

Show more comments

Log in to comment on this story!