Click here to Skip to main content
15,867,330 members
Articles / Visual Studio

A Brief Discussion On Visual Studio 2010 Top Features

Rate me:
Please Sign up or sign in to vote.
4.67/5 (18 votes)
10 Mar 2010CPOL8 min read 66K   28   19
This is a brief discussion on the top features of Visual Studio 2010.

Introduction

You guys all know that Microsoft Visual Studio 2010 will be launched on 12-April-2010 worldwide and currently it is in Release Candidate (RC) state. I am exploring it for a while since Beta 2 & found it really more useful than the earlier versions. There are lots of features added into the account of Visual Studio 2010 which will improve the productivity of application development. Developers can use it for faster coding, collaborating among the whole team & more. In this post, I will describe the new features of Visual Studio 2010 which I already explored. I think this will be beneficial for everyone.

Following are the new features in Visual Studio 2010.

Multi-targeting Application Development

Using Visual Studio 2010, you can not only develop applications for .NET 4.0 but you can also use it for the development of earlier versions of the framework. While creating a new project in the IDE, you will see the option to select between different types of .NET Framework (i.e., 2.0, 3.0, 3.5 & 4.0).

image  
Depending upon your choice, it will filter the project templates in the New Project dialog. If you select “.NET Framework 4.0”, it will show all the project types but if you select “.NET Framework 2.0”, it will only show the projects supported by .NET Framework 2.0.

image

Not only this, as Visual Studio 2010 builds on top of Windows Presentation Foundation (WPF), you will find it more useful while searching for a specific project type. Suppose you want to develop an application for your client in WPF & you are finding it very difficult to search within a huge collection of project types. Don’t worry. There is a “Search Box” right to the dialog for you to help finding the same. Just enter the keyword (in this case “WPF”) & see the magic. While typing, it will auto filter based on the keyword you entered.

image

Faster Intellisense Support

Visual Studio now came up with faster intellisense support. It is now 2-5 times faster than the earlier versions. The IDE will now filter your intellisense as you type. Suppose you want to create an instance of “WeakReference” & due to the search algorithm of the VS2010 IDE, you don’t have to write the full word of the Class. Just type “WR” and it will automatically filter out that & show you “WeakReference” in the intellisense. Try it out.

image

Editor Zoom Functionality 

You will find this feature useful while you are showing some presentation or doing a webcast. Earlier in VS2010, you had to open the options panel & then you had to change the font size of the editor, which was a little bit troublesome. Now that issue is gone. You don’t have to follow where to go to change the text size. While inside the editor window, just press the control key (CTRL) and use your mouse wheel to increase/decrease the zoom level.

image

Faster Assembly Loading in “Add Reference”

In Visual Studio 2010, loading of assemblies in the “Add Reference” dialog is pretty fast. In earlier versions, it freezes the dialog for some time to load all the assemblies. In 2010 IDE, by default, it focuses on the “Project” tab & in the background, loads the other tabs. In case it is opening the dialog focusing on the “.NET” tab, you will notice that instead of loading all the assemblies at a time, it loads those in a BackgroundThread, thus improving the loading time making it a bit faster.

image

Detach Window Outside IDE

Are you working on dual monitor? If so, you will find this feature very useful. VS2010 IDE now supports detaching Window outside the editor. Suppose you want to detach your “Error”, “Output”, “Solution Explorer” or “Properties” window in the second monitor while working in the editor in the first monitor, you can do that now. Thus, it gives you more space in the editor & separating your important windows outside the IDE.

image

Reference Highlight

Another feature of Visual Studio 2010 IDE is the reference highlight. By this feature, it will highlight all the calls to that method or member variable, which you can find easy enough to search all the positions of the reference wherever it has been called.

image

Faster Code Generation

Before discussing about this feature with you, let me ask you a question, “Are you using TDD, i.e. Test Driven Development?”. If so, you will find this feature not only useful but very much attractive. So, what is that? Wait, let's ask ourselves another question “How to write code while doing Test Driven Development?”. Thinking? Right, you have to implement the skeleton of the class & methods first and then you have to write the UnitTestcases to implement the actual logic. VS2010 came up with the excellent feature of generating codes for you. Have a look into the following snapshot:

image
As you can see, I don’t have a class named “Person” in my project and hence it is marking it as UNKNOWN by highlighting it in Red. If you look into the first snapshot in depth, you can find out that though the class is not present in my namespace or even in the project, it is creating the class reference in the intellisense. Great, right? Wait a minute. If you now place your cursor on top of “Person” and press F10 while holding down ALT+Shift, you will see a dropdown comes up in the screen with two menu items asking you to either generate the class for you or generate a new type.

The first option you will find easy. If you chose that, it will generate a class file named “Person” for you in the project. Let's go for the second choice where you will get more options & will find it much more interesting. This will open up a new dialog “Generate New Type” for you. There you can chose which access modifier you need (private/public/protected/internal), you can chose different types of code to generate (enum/class/struct/interface), you can also modify the location of the class file. You can either put it in the same project or you can choose a different project available in the solution. Not only that, you can also create a new file for the class or append the class in another file. In short, this feature gives you various options to customize.

image

The same thing is applicable while generating methods. Have a look into that.

Box Selection

This is another nice feature of Visual Studio 2010. Let’s describe this using an example. Suppose you declared some properties as public & in the near future, you want to mark them as internal. How can you do this? You will go and replace the access modifier one by one to internal. Am I right? Yup, in Visual Studio 2010, you can do this work very easily. Press Alt+Shift and draw a Box Selection using your cursor which will look like the first snapshot. Then type the desired characters to replace the text within the selected boundary.

image
Here in the example, the public keywords of the properties has been marked using the Box Selector and when typing, it is actually changing in all the lines. Have a look into the second snap where I am typing “internal” to replace “public” and that’s populating in all the lines where I marked.

Easy Navigation

It is very easy now when you want to navigate to your specific code. As Visual Studio 2010 is built on top of WPF, hence it now has proper filtering as and when you type. Press CTRL+, to open up the “Navigate To” dialog and this will show a list of matching criteria once you start typing in the “Search terms” field.

image

Better Toolbox Support

Visual Studio now came up with better Toolbox support. You can now search Toolbox Item very easily. Just type the desired name of the Toolbox Item and the IDE will jump into the focus of matched element. Pressing TAB will bring the focus to the next matching element.

image

Breakpoints

It now has a better feature in terms of Bookmarks. A team can now collaborate bookmarks between them by using the import/export bookmarks. You can now pin the debug value so that you can access it at a later point of time, also you can now add a label to your bookmark.

image

Let's give a brief idea on this. Suppose you are debugging your module & while debugging, you found an issue in another’s module and want to let him know that there is a bug in his code and creating issues in your module. Just sending out information requires debugging to the code again & finding out the issue by another team member. Now in VS2010 IDE, you can now pin the debug value and export that bookmark with proper comments as an XML & send it out to another of your team members. Once he imports it to his IDE, he can see the bookmark with the debug value available from the last session. From this point, he can debug the root cause instead of finding out the area again. This is very useful in terms of collaborating debug information with the team.

image

The only thing that I don’t like here is, the XML which uses line number to store the breakpoint information. If the code has been modified in the other member side, it will not work correctly. The only requirements of the import/export to work correctly is “There should not be any modification in the shared code file”.

IntelliTrace

Visual Studio has now the feature called “IntelliTrace” by which you can trace each step of your debug points. This is very useful when it comes to a larger UI where you can find the calling thread information in the IntelliTrace Window.

image

Conclusion

There are more features like better TFS Support, in-built support for Cloud development, modeling, reports, etc. which I have not explored till now. Once I explore those, I will post it as a separate thread. So for now, go ahead and learn Visual Studio 2010 features and get familiar with it for productive development.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Technical Lead
India India

Kunal Chowdhury is a former Microsoft "Windows Platform Development" MVP (Most Valuable Professional, 2010 - 2018), a Codeproject Mentor, Speaker in various Microsoft events, Author, passionate Blogger and a Senior Technical Lead by profession.

He is currently working in an MNC located in India. He has a very good skill over XAML, C#, Silverlight, Windows Phone, WPF and Windows app development. He posts his findings, articles, tutorials in his technical blog (www.kunal-chowdhury.com) and CodeProject.


Books authored:


Connect with Kunal on:





Comments and Discussions

 
GeneralMy vote of 4 Pin
TweakBird7-Dec-10 22:35
TweakBird7-Dec-10 22:35 
General[My vote of 1] Box Selection Pin
Giri Ganji19-Mar-10 3:35
Giri Ganji19-Mar-10 3:35 
GeneralRe: [My vote of 1] Box Selection Pin
Andromeda Shun23-Mar-10 21:22
Andromeda Shun23-Mar-10 21:22 
AnswerRe: [My vote of 1] Box Selection Pin
Kunal Chowdhury «IN»8-May-10 7:05
professionalKunal Chowdhury «IN»8-May-10 7:05 
QuestionErrors highlighting Pin
NeoPunk10-Mar-10 19:48
NeoPunk10-Mar-10 19:48 
AnswerRe: Errors highlighting Pin
Kunal Chowdhury «IN»20-Mar-10 4:59
professionalKunal Chowdhury «IN»20-Mar-10 4:59 
GeneralAdd References Dialog Pin
William E. Kempf10-Mar-10 9:29
William E. Kempf10-Mar-10 9:29 
GeneralRe: Add References Dialog [modified] Pin
tonyt10-Mar-10 11:25
tonyt10-Mar-10 11:25 
GeneralRe: Add References Dialog Pin
William E. Kempf11-Mar-10 2:19
William E. Kempf11-Mar-10 2:19 
GeneralRe: Add References Dialog Pin
Kunal Chowdhury «IN»11-Mar-10 6:18
professionalKunal Chowdhury «IN»11-Mar-10 6:18 
GeneralDetach Window Pin
William Winner10-Mar-10 7:31
William Winner10-Mar-10 7:31 
GeneralRe: Detach Window Pin
Aleksey Vitebskiy10-Mar-10 9:31
Aleksey Vitebskiy10-Mar-10 9:31 
GeneralRe: Detach Window Pin
William E. Kempf10-Mar-10 9:56
William E. Kempf10-Mar-10 9:56 
GeneralRe: Detach Window Pin
Kunal Chowdhury «IN»11-Mar-10 6:25
professionalKunal Chowdhury «IN»11-Mar-10 6:25 
GeneralRe: Detach Window Pin
William E. Kempf11-Mar-10 6:44
William E. Kempf11-Mar-10 6:44 
GeneralRe: Detach Window Pin
William Winner11-Mar-10 8:27
William Winner11-Mar-10 8:27 
GeneralRe: Detach Window Pin
Kunal Chowdhury «IN»11-Mar-10 15:55
professionalKunal Chowdhury «IN»11-Mar-10 15:55 
GeneralRe: Detach Window Pin
William Winner12-Mar-10 11:25
William Winner12-Mar-10 11:25 
GeneralRe: Detach Window Pin
Kunal Chowdhury «IN»12-Mar-10 18:43
professionalKunal Chowdhury «IN»12-Mar-10 18:43 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.