Visual Studio 2010 Makes Solid Progress

Microsoft's Visual Studio development software gains enhancements to its core functionality and its handling of ASP.NET, C#, C++ and VB. Here, eWEEK Labs reviews Visual Studio 2010 in detail.

Microsoft's flagship product for developers, Visual Studio 2010, represents a substantial improvement over Visual Studio 2008, with enhancements to the tool's core functionality and its handling of ASP.NET, C#, C++ and VB. What's more, along with the VS 2010 release Microsoft has updated .NET Framework to Version 4.

All told, I'm very pleased with the update, and am looking forward to switching my own projects over from VS 2008 (and some that are even still on VS 2005). With that said, I think the ASP.NET elements of the IDE (integrated development environment) are lacking: AJAX is still missing from a lot of the product, and the AJAX extensions that are available feel somewhat hacked. A lot of Web development takes place on the client side these days, and while Visual Studio has solid support for JavaScript, I suspect a lot of Web developers will still find themselves using other tools.
I tested Visual Studio 2010 Professional Edition, which is priced starting at $799 for a full version or $549 for an upgrade version. Full information on the various available editions can be found here.
Core functionality
One of the first enhancements to the IDE that jumped out at me was the capability VS 2010 offers for navigating a call hierarchy. Over the years, many of us have discovered the important Go to Definition and Find All References menu items, allowing us to quickly navigate through our code. But we still often have to do a lot of searching if we're trying to trace through the code during development. The Call Hierarchy window expands on these concepts, giving us a way to drill down visually through the call references, showing "calls to" and "calls from" a function.

For a look at the 10 slickest features in Visual Studio 2010, click here.

The code editor has lots of improvements, partly because it now uses WPF (Windows Presentation Framework). The zoom feature is nice. Now you can quickly zoom in and out just like you can in a word processor such as Microsoft Word. And when you click on a variable or identifier, every occurrence of the variable throughout the document gets a faint highlight over it.
One really interesting feature is called Generate from Usage. Previous versions of Visual Studio had a handy feature called Generate Method Stub. This was activated through a pop-up menu when you typed a function call for a function that doesn't exist. If you typed myfunc(2), the first letter would have a bar under it, which would trigger a dropdown menu for the Generate menu item. Clicking it would create an empty method based on the types in the function call. (In the case of myfunc(2), the generated function would take a single integer parameter, for example.) This feature has been expanded on for other identifiers besides methods. For example, if I type this:
anothervar = 10;
then the "a" will have a bar under it with a dropdown menu with two options: Generate Property Stub, and Generate Field Stub, the first of which creates a property (with a "set" and "get"), the latter of which generates a simple private member variable, like so:
public int anothervar { get; set; }
private int anothervar;
Other improvements include enhancements to IntelliSense and improvements to the live semantic errors (the squiggly underlines that appear in your code).