Improved Multitargeting Support
When a new version of Visual Studio/.NET framework is released, it can take time to upgrade and test existing applications. This can prevent you from taking advantage of features such as IDE enhancements if you are not ready to upgrade your application yet. VS2010 contains improved support for targeting previous versions of the framework.

As per previous studio releases, the new project dialogue contains a drop-down menu that allows you to select the version of the framework that you are targeting when creating an application. When you make a selection, Visual Studio will filter the project types you can create to those available in that version of the framework. Note that you can also select the framework version you are targeting in the project properties.

In VS2010 the Toolbox and Properties windows are filtered to display functionality available in the targeted framework version. Previously, some properties that were not available in the targeted framework would still be exposed. VS2010 will even try to display the correct version of third-party components for the targeting framework version.

VS2010 emulates what is available in previous framework versions through reference assemblies. These assemblies contain metadata that describes functionality available in previous versions. VS2010 itself uses the .NET 4 framework, so when adding multitargeting support the team decided against running a previous framework version inside the same process. When your application is compiled to 100 percent guarantee application compatibility, previous compiler versions are used.

Intellisense will now perform partial string matching. For example, if you were to type the word build, note how Visual Studio displays both StringBuilder and UrlBuilder options. This can be very useful if you cannot remember the exact property or type name.
Intellisense also supports lookups based on capitalization. Because all .NET types are pascal-cased, you can simply enter just the uppercase letters of the type. For example, SB would return the type StringBuilder, among others with the same pascal-casing. Intellisense performance has also been improved particularly for JavaScript libraries.

Add References
The add references functionality was previously slower than Mr. Slow in a slow town on a slow day while walking backward. Add reference in VS2010, however, is pretty quick. When the Add Reference dialogue first displays, the focus is set to the Projects tab while separate threads load up the .NET and COM tabs.

Web Development (Code-Optimized Profile)
VS2010 contains some environment profiles such as the Web Development (code-optimized profile). This profile is optimized for code and hides design features. Code-optimized profile can be selected when you first load Visual Studio or by selecting Tools -> Import and Export Settings.

As much of the IDE is written in WPF, it was easy for Microsoft to add functionality such as the ability to zoom into the code editor. To zoom into the code editor window, simply press Ctrl and use the mouse wheel to increase and decrease zoom level. You could utilize this feature in presentations/code reviews or to zoom out to help you navigate a lengthy piece of code.

Highlight References
Highlight References allows you to quickly navigate through different instances of the same method call within a file. For example, if you want to navigate through all calls to the ToString method, then click once anywhere on the ToString method text (note you don’t have to highlight the text) and you will find the IDE marks all the other ToString calls in the same file with a light grey background. You can then navigate to the next ToString method by pressing Ctrl + Shift + Down or Ctrl + Shift + Up to return to the previous instance.

Navigate To
Sometimes if you need to find a specific piece of code it can be much quicker to use the search functionality rather than trawl through Solution Explorer. VS2010 improves on the existing “search” and “search in files” functionality with the Navigate To window. To bring up the Navigate To window, simply press Ctrl and comma or select Navigate To on the Edit menu. You can then enter a phrase you want to search for in your solution, and Navigate To will immediately filter results as you type. You can then click on these results to be taken directly to the results location. Navigate To will perform partial and in-string matches, and also supports pascal-casing searches (for example, BT would return a class called BigTiger). Navigate To supports all commonly used types of file such as C#, VB, and XML, and is much quicker and easier to navigate than previous search methods.

Box Selection
Box Selection is one of my favorite new features. It allows you to quickly perform the same change on many lines of code. To use box selection, place the cursor where you want to make the change, and then hold down Shift + Alt in combination with the arrow keys to create a “box” where the change will be applied. Finally, enter your change and it will be applied to all the selected lines. Box Selection could, for example, be used to refactor a number of class variables’ access level from private to public in one edit.

Call Hierarchy
The Call Hierarchy window allows you to see all calls made to a particular method and all calls from the method. Call hierarchy is recursive. To open the Call Hierarchy window, right-click on a method, property, or constructor, and select View Call Hierarchy. The Call Hierarchy window will then open, displaying calls to and from the method. Note that you can filter the Call Hierarchy window by solution, project, and document.

Code Generation
A great feature in VS2008 is that you can enter a new method name that doesn’t exist and have the IDE create a stub of it for you (to do this enter a method name that doesn’t exist, press Ctrl + . and select the Generate method stub option). VS2010 expands on this functionality and allows you to create classes, structs, interfaces, and enums in a similar manner. This is a great feature when you are starting the development of an application and particularly suitable for a TDD style of development. Let’s try this out now.

1. Create a new console application

2. Enter the following code:
Zebra MyZebra = new Zebra();

3. Either click the smart tag (fiddly) beneath the Z in zebra or press Ctrl + . (much better) to bring up the menu.

4. You now you have the choice of creating a Zebra class in a separate file (Zebra.cs) by selecting “Generate class” or you can select “Generate new type” to bring up an options screen that allows greater control of generated type. In this example please select “Generate new type.”

5. The Generate New Type screen will appear, allowing you to specify a number of options such as access level, file name, item to create, and so on. Select Class on the Kind drop-down menu and change the access level to Internal.

Consume First Mode
Intellisense is a great feature, but can sometimes get in your way. For example, imagine an application where you have a class called TigerCage and you now want to create a Tiger class. If you want to use VS2010’s new class generation features and start typing Tiger then Visual Studio’s Intellisense will jump in and smugly change your code to TigerCage. To resolve this issue Intellisense now operates in two modes: default and consume first mode. Consume-first mode prevents Intellisense from automatically completing a type or member that has not yet been defined. To switch to consume first mode press Ctrl+Alt+Space. You can enter Ctrl + Alt + Space again to switch back to the default mode.

VS2010 allows you to export/import and label breakpoints. You can use this feature to share a collection of breakpoints with a colleague or quickly return to a previous debugging setup. Note that the exported file holds the breakpoint location by line number, so if you should modify your code and import breakpoints they will no longer be positioned correctly.

Individual breakpoints can be exported by right-clicking on them and then selecting the Export option. Or you can export all breakpoints (or those matching a specific search criteria) by opening the Breakpoints window (Debug->Windows->Breakpoints) and selecting the “Export all breakpoints” option. Breakpoints can be imported in the Breakpoints window.

VS2010 allows you to apply a label to a breakpoint. This may be useful to associate it with a particular issue or with grouping in the Breakpoints window. To label a breakpoint, right-click on one and select the Edit labels option. VS2010 will then give you the option of entering a new label for the breakpoint or reusing an existing one.

If you start typing a letter, the toolbox will jump to items containing the letter typed. You can also tab through to the next item that matches.

Code Snippets
Previous versions of Visual Studio contained a feature called snippets that allowed you to save blocks of code for later insertion, saving you on the retyping (or remembering) them. VS2010 contains a number of new snippets (in particular for ASP.NET) and allows you to easily create your own. Although you can create your own snippets in VS2008, it wasn’t an easy process without the use of third-party applications (e.g. Snippet Editor
This changes, however, in VS2010 and is now very easy.

• Expansion (the snippet is inserted at the cursor)

• SurroundsWith (wraps around existing code)

Let’s take a look at this now and create a code file header snippet:

1. Add a new XML file to your project called verHeader.snippet (snippets always have the extension .snippet).

2. Right-click on the editor window and select Insert Snippet->Snippet. VS2010 will then create a basic XML snippet template.

Loading the Snippet into Visual Studio
Before we can use our snippet, we need to load it into Visual Studio. Because snippets are pretty useful, you will probably want to create more than one. Follow these steps to create a new directory somewhere on your computer called MySnippets.

1. Copy the verHeader.snippet file in your solution to the snippets directory you just created.

2. On the main menu, go to Tools, then Code Snippets Manager and you should see a screen.

3. Select Import

4. Select the snippet you saved earlier

5. Click OK

6. Visual Studio will then confirm you want to place the snippet in My Code Snippets directory That’s it your snippet is ready to use. You can now use this snippet by typing “codehead.”

Using Snippets
There are a number of ways to add snippets to your code. No doubt the quickest way is to use the trigger word (such as textbox in an ASP.NET app), but sometimes you may not know the trigger word to use. In that case you can pick the word from the snippet dialogue. To open the snippet dialogue, right-click on the editor, Select Insert Snippet, and you can then choose from either the ASP.NET or HTML snippets. You can also press Ctrl + K and then Ctrl + X to bring up the Insert Snippet enhancement, which allows you to navigate through them using the keyboard.

Creating Custom Start Pages
VS2010 allows you to customize the start page that is displayed when the IDE first loads. You could use this feature to display items such as current bugs, last night’s build status, and so on. On my Windows 7 machine, this directory is held at the following path: C:\Users\alex\Documents\Visual Studio 10\StartPages.

1. Open the project StartPage.csproj and note how StartPage.xaml is a standard XAML page with some Visual Studio-specific controls to display items such as recently opened projects.

2. Perform a simple modification, such as altering some of the text content.

3. Save the file with a new file name, such as CustomStartPage.xaml, in the same directory. Before you can use your new start page, you have to select it in Visual Studio options. Go into Tools->Options then select the Startup node. Select the new custom start page from the Custom Start Page drop-down menu. Close Visual Studio and reopen it. Your new start page should now appear the next time Visual Studio is loaded.

Source of Information : Apress Introducing dot NET 4.0 with Visual Studio 2010


Subscribe to Developer Techno ?
Enter your email address:

Delivered by FeedBurner