logo

 

     
 
Home
Site Map
Search
 
:: Bitwise Courses ::
 
Bitwise Dusty Archives
 
 
 

rss

 
 

ruby in steel

learn aikido in north devon

Learn Aikido in North Devon

 


Section :: Bytegeist

- Format For Printing...

Visual Studio 2012 - a personal view

Should you be excited?
Monday 5 November 2012.
 

Microsoft has released the latest in its Visual Studio series – Visual Studio 11 aka Visual Studio 2012. While there are lots of new things in it, there’s no one unifying theme in this release, apart possibly for Windows 8 support and Windows App Store. There is, though, improved ASP .NET and .NET 4.5 framework support and there are a lot of minor improvements and new features.

But – there is a problem. Visual Studio 2012 doesn’t look good. In fact, it looks horrible. Now this initial feeling of ‘yuk’ happens quite a bit to me when I come across a new interface to a product I’ve used for some time and with which I’m very familiar. Mostly, I get used to it and move on. The initial dislike is simply due to unfamiliarity. However, with Visual Studio 2012 this hasn’t happened. As I’ve used it over the last few months, I haven’t grown to love it or like the look and feel – quite the reverse. So much so, that I now prefer to use Visual Studio 2010, but more of that later.

The first thing that hits you when you open Visual Studio 2012 is the color: grey, monotonous, dull. The second is the menus across the top WHICH ARE ALL IN CAPITALS AND SHOUT AT YOU LIKE THIS. Well, you can fix the capitals easily via a registry setting, but the colors are bit more problematic. There are two ’themes’ you can select - ’Light’ and ’Dark’. The ’Light’ theme really should be renamed ’Boring’ and all I’ll say about ‘Dark’ is that it shows that Microsoft has a sense of humour. It’s interesting here to compare Apple’s Xcode IDE with Visual Studio. Xcode looks nice but is a nightmare to work with – I personally prefer to use a text editor on the Mac. On other hand Visual Studio actually does what it says on the tin: it works. Maybe Microsoft and Apple should swap some engineers. Apple certainly know how to create great visual designs, while Microsoft know how to create a usable IDE.

’Dark’ is not to my taste!

There are many new features in Visual Studio, and depending on your work (web engineer, C# coder or whatever), you’ll probably find something of interest to you. But for me, the two things that stand out (apart from the look) are the Visual Studio 2010 integration and the loss of the setup project deployment.

Previously, say when up grading from Visual Studio 2008 to Visual Studio 2010, it has been impossible to use an earlier version of a Visual studio project file with the new version. If you have to support more than one version of a Visual Studio product, as I do, or if you want to mix different versions of Visual Studio within a team, this has been a real problem. But with Visual Studio 2012 you can, with a bit of care, use identical project files for both Visual Studio 2012 and Visual Studio 2010. For me, this is great! It means that I can support both of our products on both versions of Visual Studio without repeatedly editing the project files. It also means that – again with some careful design on my part – that users of our products can seamlessly switch between Visual Studio 2010 and Visual Studio 2012.

The magic $(VisualStudioVersion) macro allows you to configure projects for both Visual Studio 2010 and Visual Studio 2012.

The other thing that hit me was the loss of the set up and deployment system (vdproj). Microsoft had been advertising this fact for some time – but I must have missed it. Anyway, Microsoft do include a free lightweight version of InstallShield – a similar sort of thing to the established Dotfuscator Community Edition. However, InstallShield Express proved too limited for my purposes (it won’t handle installing services for example) and so I had to find another solution: enter WiX.

It took me about a week to convert my vdproj based deployment system into WiX (I’ve written more on this HERE). WiX isn’t a trivial product and has a learning curve associated with it. But once you’ve got it configured, it’s simply superb. I love the XML based configuration since it means I can see exactly what’s going on and the installation debugging on the target machine is also very good. Overall, WiX is a vast improvement on the old vdproj system – its more flexible and a lot easier to manage. I can’t say that I’m sorry to see the last of vdproj. Now the curious thing here is that if it took me a week to build an ANTLR system that converted a pretty complicated vdproj to a WiX project, why couldn’t Microsoft do the same? It surely wouldn’t have been beyond the capability of even a raw Microsoft intern to do the job properly and we would have got a WiX system nicely integrated into Visual Studio. Instead, there’s a lightweight replacement for vdproj which requires a paid upgrade for a commercial version of InstallShield to do serious installation. Curious.

I can’t say that I mourn the passing of vdproj - but WiX is wonderful!

Microsoft claims to have improved the IntelliSense in Visual Studio 2012. If it has been improved, I can’t see it. The IntelliSense for C# seems to me to be exactly the same as before – it just works. But for C/C++, it still seems, shall we say, not very good. In Visual Studio 2010, Find All References gets references to variables in other projects, tokens in comments and so on. But in Visual Studio 2012 it seems to have got worse. It’s now so bad that I’ve now turned IntelliSense off for my C projects. In Visual Studio 2010 it works reasonably well – not great, but better than in Visual Studio 2012. I don’t know whether it’s a bug, some setting I’ve not configured correctly or just an act of God – but for me, on my projects, C IntelliSense is not properly functional in Visual Studio 2012. The thing here is that I can compare Visual Studio 2010 and Visual Studio 2012 directly because I can use the exact same project file for both. In VS 2010 it works (up to a point), in Visual Studio 2012 it really doesn’t, at least for me.

Onto the user interface: the main thing here is that the Solution Explorer has been improved. You can now filter the files displayed by, say, all open files, or by modified files – possibly very useful. In C# (and probably VB, though I haven’t tried it) you can also expand a file to show the functions within the file, which is really a duplication of the methods drop down box, just above the code window. If you’ve used Eclipse, this will be familiar. Personally, I’m not a great fan of this because if clutters the Solution Explorer too much. Having using it a bit, I just went back to using the dropdown for navigation. And to be honest, I don’t use that very often.

The Solution Explorer has been improved - but I can’t say that I’ve ever used any of the new features in anger.

One other thing that I thought might be of interest was the bitmap and icon editor. Previously, in Visual Studio 2010 32-bit bitmaps were not fully supported – you could display them, but not do much with them. The bitmap editor is much improved in Visual Studio 2012 and you can now edit 32 bit bitmaps, but not to the point where I would want to use it to do serious work. I’m certainly not going to give up the Axalis IconWorkshop.

Overall, there are many improvements and new features in Visual Studio 2012. But whether these are of any use depends very much on what you do. If you are developing Windows 8 apps, say, then Visual Studio 2012 is worth getting. But if, like me, you have zero interest in Windows 8, don’t do much web or database development, and the term ‘application lifecycle management’ has as much intrinsic meaning as the poetry of Edward Lear then you might want to consider carefully if the upgrade cost is justified. The problem for me is that Visual Studio 2010 just does what I want: it simply works. However, because I can now run both Visual Studio 2010 and Visual Studio 2012 on the same projects (and I do on a daily basis) I can compare the two products, running them side by side. Previously, I couldn’t do this - the upgrade process always used to be one way only. When you can compare the two versions like this, you can clearly see what you are getting for your upgrade money. Personally - and this is just for the way that I work - it doesn’t seem a lot.

Visual Studio 2012 is an evolution of the Visual Studio product rather than a revolution, and no doubt over time, as Visual Studio 2010 is no longer updated, it will become necessary to migrate to access new features of Windows and .NET. But as of now, I suspect that there are many like me who will look at Visual Studio 2012, compare it to Visual Studio 2010 and think “why bother upgrading?”


Dermot Hogan is chief architect of the Visual Studio IDEs, Ruby In Steel and Amethyst, made by SapphireSteel Software.

AddThis Social Bookmark Button

Forum

  • Visual Studio 2012 - a personal view
    8 November 2012, by BradC

    I think Microsoft’s business model of selling an entirely new version of Visual Studio every few years is no longer sustainable. In the past the improvements to each version of VS was so great as to be unavoidable. No one would stay with VS6 when they came out with .NET, none would stay with VS.NET when they came out with VS2005. But as you mention in this blog post, there no longer seems to be a good reason to upgrade, and if MS forces the hand of VS users, this could mean a major breakdown as they would no longer be able to develop for their existing code base. I think the solution is for MS to make some kind of subscription system that would allow users to stay with their preferred VS version for many years and still bring in long term income for MS.


Home