Microsoft's IDE reveals a cleaner look, IntelliSense and Designer improvements, even parallel programming support, but some promises still achingly unfulfilled
Visual Studio 2010 Beta 1 is a very promising upgrade to the premier IDE for .Net development. It improves the UI, IntelliSense, and Designers; supports parallel programming; and improves support for test-driven development. It's still missing support for ASP.Net MVC and smart devices.
As I said in my review of Visual Studio 2008 in January 2008 and repeated in my SP1 review in August 2008, Visual Studio is the premier IDE for developing applications with the Microsoft .Net Framework and at least a contender for the best Windows-hosted C/C++ IDE. At the same time, despite my glowing endorsement, I quibbled about a few deficiencies in the product; in my later Silverlight 2.0 review in November, I went on to complain that the XAML designer added to Visual Studio by the Silverlight toolkit only had a preview pane rather than a full-blown designer.
Microsoft must be sick of hearing me bitch and moan and ask for the next thing when the company has just delivered something nearly great. And yes, I'm going to do it again, but understand that I wouldn't spend the energy to ask for the next step if I hadn't found the product useful. So let's start with the high notes.
[ See the Lab Notes blog for a scrolling tour of Visual Studio 2010 highlights. See Martin Heller's Strategic Developer blog for further Visual Studio 2010 beta notes and ongoing coverage of Microsoft development technologies. ]
Visual Studio 2010 (VS2010) has a revamped user interface that looks much cleaner than previous versions of Visual Studio, and uses Windows Presentation Foundation (WPF) rather than Windows Forms. I like the way this works, at least on a computer with plenty of RAM and a good graphics board. I give the UI a big thumbs-up. I'm told that the UI also supports multiple monitors, but I don't have the hardware configured to try this myself.
Not surprisingly, the WPF designer is even smoother than before. Additionally, you can now generate data-bound WPF controls by dragging items from the Data Sources window to the WPF designer. Even better, the XAML designer for Silverlight achieves parity with the WPF designer; you no longer need to switch out of Visual Studio to Expression Blend to work on a XAML design visually.
The new code browsing features are another win. Once you've learned to use Ctrl-Scroll to zoom in and out on the screen, you don't even think about it. Once you've learned the Navigate To shortcut (Ctrl-Comma) and the Call Hierarchy navigation, you'll wonder how you got around your projects before.
Debugging and TDD
VS2010 has much improved thread debugging; given the increased support for multithreading and parallelism, this is a necessity. Toolboxes and IntelliSense are now sensitive to the Framework version of your target project, so you don't have to wait until compile or runtime to discover that you've used a feature unsupported by your target. Again, given the increased number of possible targets, this is a necessity.
Visual Studio has supported test-driven development for years, but it was always awkward to create new stubs and to synchronize IntelliSense if you actually wrote the tests first. Now you can switch into consume-first mode to keep IntelliSense from running amok, and you can generate stubs from their usage.
Windows 7 is suddenly telling users it isn't genuine -- and it has nothing to do with Windows being...
Windows users are reporting significant problems with four more October Black Tuesday patches
Microsoft sends KB 2952664 through the automatic update chute for the seventh time -- and still can't...
Sponsored by Nuage Networks
Sponsored by Fibre Channel Industry Association
Polished integration of Azure Websites, Mobile Services, and BizTalk Services is a big step forward for...
Microsoft's Windows 10 SDK lets developers create apps that easily run across Windows devices
The formula is simple at one job: Nod your head and keep your job -- but keeping your dignity is...