Software Development

Review: Visual Studio 2010 IDE

Visual Studio 2010 treats developers and other users to a user interface overhaul laden with new features to improve the development experience.

It has been more than eight years since the first version of Visual Studio .NET was released. Changes to the IDE up to Visual Studio 2008 primarily focused on support for Microsoft's various technology initiatives, but the look and feel remained mostly the same. Visual Studio 2010 treats developers and other users to a user interface overhaul laden with new features to improve the development experience.

Specifications

  • Product: Visual Studio 2010
  • Versions: 2010 Professional, 2010 Premium, 2010 Ultimate, Test Professional 2010
  • Cost (to buy from MSRP): 2010 Professional $1,199 ($799 w/o MSDN), 2010 Premium $5,469, 2010 Ultimate $11,899, Test Professional 2010 $2,169
  • Supported operating systems: Windows 2003 Server, Windows XP, Windows Vista, Windows 7
  • Additional information: Product Web site

Who's the target market?

Upgrading to Visual Studio 2010 will be considered a must for users of prior versions of Visual Studio. The improvements to IntelliSense may be particularly useful to developers who are primarily focused on JavaScript and attract those who prefer other environments.

Standout features

  • User interface built on Windows Presentation Foundation (WPF)
  • Improved Start page
  • Improved code editor
  • Improved IntelliSense
  • Call Hierarchy Viewer

What problems does it solve?

The newly designed user experience is refreshing for an application showing its age. The user interface is built on WPF and no longer relies on the limited MDI interface in previous versions; this allows for better multi-monitor support with fly-out windows (Figure A). Figure A

Fly-out windows in Visual Studio 2010. (Click the image to enlarge.)
The first thing you might notice when opening Visual Studio 2010 is the new Start page (Figure B). As an xaml file, this page is completely customizable and includes the ability to remove and pin project files in the Recent Projects section. Figure B

Visual Studio 2010 Start page. (Click the image to enlarge.)
The code editor has a number of enhancements. You can scale the font by holding down [Ctrl] while scrolling the mouse wheel (Figure C). In previous versions of Visual Studio, users had to set the font size through a dialog and exit to see if the changes were correct. Figure C

Scaled font in Visual Studio 2010. (Click the image to enlarge.)
Box Selection was present in Visual Studio 2008 by holding down [Alt] while selecting text. In Visual Studio 2010, Box Selection (Figure D) is enhanced to allow for zero-length boxes and improved pasting. Figure D

Box Selection in Visual Studio 2010. (Click the image to enlarge.)
The feature that will see the most use (by accident if not design) is Highlight References (Figure E). By selecting any symbol, such as a variable or a property, all references to the symbol are highlighted. The symbols can then be navigated by holding down [Ctrl][Shift] and pressing the up/down keys. Figure E

Highlight References in Visual Studio 2010. (Click the image to enlarge.)
IntelliSense (Figure F) has been improved to allow for acronyms based on Pascal casing. For example, typing String.INOE and then a non-alphanumeric character will convert the call to String.IsNullOrEmpty. This still doesn't prevent IntelliSense from interfering when you're writing code that doesn't exist, as you would with a unit test. Figure F

IntelliSense in Visual Studio 2010. (Click the image to enlarge.)
The Suggestion Completion mode (Figure G) allows you to type freely without IntelliSense changing the text you typed. You can toggle between Standard and Suggestion Completion modes by pressing [Ctrl][Alt]space. Figure G

Suggestion Completion mode in Visual Studio 2010. (Click the image to enlarge.)

IntelliSense for JavaScript has seen the most improvement, as it is now able to determine the correct structure of a variable even after the structure is changed.

In the past, I would use .NET Reflector or another tool to analyze a user's call hierarchy; now that functionality is built-in. Right-click the user and choose View Call Hierarchy (Figure H), and calls to and from the user will be available for browsing. Figure H

Call Hierarchy in Visual Studio 2010. (Click the image to enlarge.)

What's wrong?

Designing a good WPF or Silverlight user interface requires extensive knowledge of XAML or proficiency with Microsoft Expression Blend. The built-in WPF designer is insufficient beyond simple tasks, and many developers would benefit by forgoing the designer altogether.

A framework targeting feature is included, but the IDE is unable to support earlier versions of solution and project files; instead, Visual Studio resorts to converting the outdated files the first time they are opened, which makes it difficult to use Visual Studio 2010 alongside previous versions on the same projects. An entire team must make the switch at the same time or face the onerous task of maintaining separate solution and project files.

Competitive products

Bottom line for business

Many businesses will upgrade to take advantage of new language features or frameworks introduced in .NET 4, and developers will continue to work without noticing much change outside of UI styling. However, productivity can be improved by taking advantage of the new features in the IDE. Even something as simple as pinning important projects to the start page will save time otherwise spent browsing for a solution file.

Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!
3 comments
lchs
lchs

Why would MS even consider releasing a new IDE and exclude support for compact framework 6.5 and older. I luv the new look of VS2010 but cant develop anything for mobiles or pocket pc's running compact framework 5, 6 or 6.5.

Justin James
Justin James

... it's because WinMo 6.5 is the end of the road for WinMo. Windows Phone 7 is *not* backwards compatible with WinMo 6.X, the compact framework is nearly dead, so it makes sense to not bother with it. J.Ja

KodefuGuru
KodefuGuru

That is the story I've heard. Use VS 2008 for WinMo 6.X development, VS 2010 for Windows Phone 7 development.