I’ve been using Visual Studio since version 5. In those days, I ran it on a computer with 16Mb (!!!) RAM and a 166MHz processor and was, for the most part, happy with the performance. At the time, MFC was the way to make attractive GUI apps, but I also spent a lot of time obsessing over C++, replacing the compiler and the STL with versions that allowed me to weave that Generative Programming magic that was becoming popular.
Now, a decade down the line, we have a new release of Visual Studio. I have barely touched 2010, but with Beta 1 released I felt like downloading it off the subscription and having fun with it.
Installation
It’s weird, but there were two checkboxes for installation – to install support for .NET development and C++ development. That’s it. It’s totally weird. In other respects, the installation is the same as Visual Studio 2008, installing about 15 different components (such as .NET Framework 4, which casuese a restart) one after another.
I’m not a fan of these large 4Gb undiscriminated installs. Lots of stuff, such as Sync Framework and SQL Server should be installed only if you work with those technologies. I’m using a WinXP virtual machine, so these extra features carry a price in terms of both the waiting time and the performance costs.
First few screens
The opening screen is a re-hash of the same ideas that have been around since VS2005. I had to collapse the Solution pane because the whole thing wouldn’t fit on my 800×600 window.
One thing that VS and other programs haven’t learned to handle well yet is the absence of an internet connection. It’s not a given! And I don’t really want to be reminded that I’m missing on the RSS feed that goes into Visual Studio. Thanks but no thanks.
The project system is pretty much the same, with the idea that there is only one language (C#) and all languages fall into that elusive “Other Language” category. Care to guess what languages are kept there? C++, Visual Basic, and F#.
Making a WPF app
Just for fun, I decided to make a WPF app. One thing I noticed immediately is that the WPF property pane was properly done, with special editors and all.
It’s hard to notice that the editor uses WPF unless you try something like selecting text, shown below.
I was kind of expecting closing braces to ‘pop up’ like they do in XCode (the Mac IDE), but alas. The Add Reference dialog is, so far, still that same boring (and horribly inefficient) window. Notice that Blueprints, the tech that is meant to succeed Guidance Automation, is already in the GAC for some reason. I’m guessing it will be included in 2010.
Extra windows
There’s now a Call Hierarchy window that lets you determine who calls a particular method, and which other methods this one calls:
The Code Definition pane is even more useful – it can show you the actual body of the method you’re interested in. In our case, it can open the .g.cs file and show us the body of the (typically hidden) InitializeComponent() method:
One cute thing is ‘watch floats’ or whatever they are called. Basically, you can hover the mouse over a variable while debugging, and then detach the property strip, letting it stick on the screen as a kind of Post-It note:
That’s as much as I have explored so far… might post more screenshots later.