I will now describe some new features of Visual Studio 2010. There are many new features so I will not be able to describe each of them. I will begin with the most useful features I discovered.
- Targeting an older version of the .net framework
You are still able to target a specific version of the .NET Framework when you create a new application. Simply choose the needed version in the dropdown list when you create a new application and the list of available project automatically adapts.

You can now directly search for online template. Simply select the “Online Template” option in the menu.

- Dock window wherever you want
A really cool feature allows you to detach a window (for instance the asp.net designer) from the application and dock multiple windows on the same screen or on 2 or more screens. If you add a button on the designer window, the code window will be automatically updated at the same time!
You can now very easily find out where a method is called and what method does it call with the call hierarchy.

Right click on the method –> Call Hierarchy
In the ASPx editor, you can now very easily surround a block of code with another.
Select code to surround –> Right click –> Surround With
Snippets are available for almost every control. Even shortcut have been added. For instance, you can now add a textbox with the shortcut “tb”.


Press Ctrl+space –> Type tb –> Press tab
A real improvement for VB.NET, code snippets allows you to do almost everything! It’s a pity that this features is not (yet) available in C#.

Right click –> Insert Snippet
A cool feature helps you to clean up the unnecessary “using” statement from a file.
before:
after: 
A click on the “Remove and Sort” menu remove the unnecessary using and sort them correctly. Nice!
If you click on something in the editor, all references of your selection are automatically selected

On this picture, I put my mouse on “ls”. All same reference were automatically highlighted.
You can now zoom in any code editor. Press the CTRL key and press + or scroll with your mouse. Same as in Internet Explorer :-)

- Generate class, constructor, method, property or field
A new very cool feature is code generator. You can now generate class, constructor, method, field, properties,… from scratch. Let’s have a look.
In a blank solution we create a new instance of a new class person. This class does not exist yet but just click on it to generate the file and the class. If you choose other, more options are available.

Let’s generate the constructor

We can also define a new Size property or field and generate it

And finally, let’s add a new method GetAge() and generate it

And the generated class. Of course, we have to define the code in the GetAge() method but the skeleton is in the class. We can use refactoring methods to rename the generated members and/or arguments if we do not like the generated names.

- Web.config Transformation
Visual Studio 2010 lets you create configuration file transforms to modify your project's Web.config file to work with various deployment environments. A deployment environment can be a development computer, a testing server, a staging or pre-production server, or a production server. Typically, when you move the application between these environments, various settings in the Web.config file must change. Some of the settings that change between environments include application settings, connection strings, debug flags, and Web service end points. You can get more information on the following blog: http://blogs.msdn.com/webdevtools/archive/2009/05/04/web-deployment-web-config-transformation.aspx
This feature was already available in previous version of Visual Studio. You can add this kind of breakpoint which allows you to add text to be displayed in the output window.
You can now add label to your breakpoints.


What you can do with these groupings is perform various operations on one set of breakpoints without impacting other breakpoints.
Using the two new buttons, you can now export or import your breakpoints to a xml files.

A new debug window is now available. It allows you to debug code used in parallel code.

The list of new features is very big and I am going to learn more about them. Then, in another article, I will post everything I will find interesting and/or useful. Here is a list (not exhaustive) of some of these new features for people who does not want to wait:
- Reduce block code (if, for, foreach,…)
- Online template
- Extensible Test Runner
- Dynamic Data Tooling
- WPF-based Editor
- Click-Once Enhancements for Office
- Improved WPF Tooling
- Web Deploy
- Historical Debugging
- MVC Tooling
- Inline Call Tree
- Minidump Debugging
- Quick Search
- Concurrency Profiler
- JQueryIntellisense
- Breakpoint Import/Export
- Document Map Margin
- 64-bit Mixed-Mode
- Parallel Stacks Window
- Improved Multi-Monitor
The next part of this series of articles will focus on C# 4.0. Keep in touch :-)