1 - Generating Sequence Diagrams To Inspect And Document control flow
Another cool feature in Visual Studio 2010 is the ability to generate Sequence diagrams. You may right click inside a method and select “Generate the sequence diagram” from the pop up menu, to generate the diagram. In this example, you may see that my SubmitOrder method in OrderViewModel class is instantiating an OrderServiceClient, to call AddOrderAsync method inside the same.
2 - Architecture Explorer
A cool addition in VS2010 is the Architecture Explorer (Click View->Architecture Explorer). The Architecture Explorer will provide you a very friendly interface to browse through and navigate to your solution assets. You can right click on an item (Namespace, Class Name, or Class Member etc) and select ‘View Content’ to navigate to the definition as well.
Also, you can export the selected items to a graph document from the Architecture explorer. You can do this by selecting the members, and clicking the ‘Create new graph document’ button (in top left corner) of the Architecture Explorer. Let me export some of the members in my OrderViewModel class, and have a look at the generated graph. You can also use the graph document to understand your code members in a better way, to analyze circular references, un referenced nodes etc (see the image below.)
3 – Code Navigators
Visual Studio 2010 has a number of useful code navigators. A simple yet useful code navigation/identification feature is ‘Highlight Reference’ - you can double click on any member to view the references highlighted, and can navigate across references using the Ctrl + Shift + Up/Down arrows.
Another cool code navigator is the ‘Navigate To’ window. You can use ‘Navigate To’ to search code members quickly when you work with the editor.
You can bring up the “Navigate To” window using the shortcut Ctrl , (press Ctrl and comma). You can search by any term, and you can even search using camel case. See that I’m searching for ‘OV’, to get a list of all code members following the OV convention.
Another cool code navigation feature in Visual Studio 2010 is the ‘Call Hierarchy’ window. You may right click any member to bring up the popup menu, to select ‘Find All References’ to bring up the call hierarchy window. So, next time when you change a method, you can have a look at where all you are going to impact. You can also view all overrides of your method, if you have any.
4 – Pinning Data Tips While Debugging
When you are debugging, you can pin variable values, so that they’ll be there for you to see later.
Also, you can even enter comments for a pinned data tip, so that you can view the comment later.
VS 2010 has also got a tone of other Debugger Enhancements, read about them from Scott Gu’s blog if you are interested.
5 - Consume First Development
Visual Studio is so smart that it can stub your classes, members etc on the go, when you type the code. For example, assume that you have a customer class, and you thought it should have a new method while doing something. You can just type the member name (method, property etc), rest your mouse on top of the tiny blue line under your new method to bring up the popup menu.
Click that, and you’ll see VS stubbing the method for you, as shown below. Note that VS has inferred the parameter type.
You can do that with constructors, properties, method overloads etc as well. That is super cool, especially if you are a TDD guy.
6 – Extension Manager for downloading and installing plugins
The Extension Manager in Visual Studio 2010 will allow you to download and install cool plug-ins for your VS IDE. You can bring up the extension manager window by clicking Tools->Extension Manager. Extension Manager will connect to Visual Studio 2010 online Extension library, and you can search and find cool plug-ins there.
Once installed, you may also Disable or Uninstall your plug-ins from the extensions manager.