Blog

Ten Cool Things You Didn't Know About Visual Studio 2010

Late March I've attended the Guthalon in Glasgow - a talk by Scott Guthrie, Microsoft vice president. The topic was the new features of Visual Studio 2010, ASP.NET MVC 2 and Silverlight 4 and the Windows Phone 7. On this talk Scott showed some great new features in Visual Studio 2010. I'm sharing the ten most useful of these in this article.

1. Pin variables when debugging

At debugging when hovering over variables the "Pin variable" option appears. Clicking on this makes the variable stick next to the source code until removed (and the pin stays there between debugging sessions). It is a really hand utility eliminating having to add variables to the Watch window one by one or search through the Locals window to find the variable one's looking for. Definitely one of the top 3 new features I use on a day to day basis!

2. Box selection

While holding down the Alt key box selection can be made on the screen. At first glance this feature doesn't seem to useful. However when typing anything in the selection the same text appears in all lines. So this selection is extremely useful for mass renaming of e.g. visibilities or anything else that involves changing the same thing in all lines.

3. Search on-the-fly

When pressing Crtl and , (comma)  the new Navigate To window appears. This is a real-time search window offering basically the same functionality as the Find and Replace window (opened by Crtl + Shift + F) but doing it on-the fly, without having to wait seconds for search results. So the list of results updates the moment you type the next letter in your search expression. Scott said that the search database used by this window is built continously in the background by Visual Studio.

4. Zooming

There's a small zoom drop down box on the left bottom of the application. It's barely noticeable but is really useful when showing your code to someone else or doing presentations. Not a function you'll use too often but comes handy every once in a while!

(Note: zooming can also be used with Crtl + mouse scroll)

5. View Call Hierarchy

Exploring code has been made much easier with the new View Call Hierarchy command in the context menu when right clicking a method. The Call Hierarchy window shows calls from the method, calls to the method and overrides of the method (if any). This little add-on makes exploring someone else's code so much easier.

6. Sequence Diagrams

The professional and above versions of Visual Studio 2010 come with built-in sequence diagram generation functionality. Simply right click on the method and select Generate Sequence Diagram to get a nifty call sequence diagram.

7. Dependency Graphs

The professional and above versions of Visual Studio 2010 come with a built-in dependency graph generator that generates an interactive, browsable dependency graph. When there is a large number of object this graph can get overwhelmingly large. However the fact that it can track dependencies at assembly, namespace and class level as well make it a useful tool for getting an idea for the project dependencies.

8. IntelliTrace and Dump Debugging

Ever had clients submitting bug reports that you were unable to reproduce and made you wish you could just debug right on their machine? IntelliTrace brings this to reality. When running an application with IntelliTrace enabled it records the series of events happening within it and lets the developer play these back. Note however that IntelliTrace collects less information than one might need at debugging and also has a slight performance overhead when turned on. IntelliTrace is only available in Visual Studio 2010 Ultimate. For more information on Intellitrace see MSDN.

Dump Debugging is the feature that enables to open dump files from production machines and debug those. This is a great feature to use for debugging crashes happening on a production machine. See a video on how to use this feature on Channel 9.

9. Multi-monitor support

Few people knew that Visual Studio 2008 actually had multi-monitor support. You just had to launch an instance on each monitor! Aside from this joke, this feature was one that was really wanted. Now windows can be positioned across monitors making developing and debugging a much better overview on dual screens.

10. Intellisense - lots of small improvements

Intellisense has gone through lots of small improvements. The most important ones are:

  • When selecting any variable all instances of it are highlighted - a well needed improvement that has been around for in lots of text editors
  • Search is not limited to prefixes any more, it is done within strings. So when typing time for example, DateTime will be offered as well (previously only names starting with time were)
  • Intellisense can search just knowing the capital letters of a class. When searching e.g. for HttpCachePolicy it's enough to type HCP - nice!
  • Javascript intellisense is extensive: all major Javascript libraries are supported (JQuery, Ext.JS, Prototype). Expressions are also evaluated on the fly and Intellisense is offered accordingly.

As the above list shows Visual Studio 2010 comes with plenty of small and some significant improvements. The launch of Visual Studio will be 12-14 April, until then the Release Candidate is available for evaluation.

Interested in an performant, easy to extend, fully themeable Silverlight / WPF charting library? Give the free version of Visiblox a try!
 

Comments

[...] This post was mentioned on Twitter by Phil Winstanley, Gergely Orosz. Gergely Orosz said: Ten Cool Things You Didn't Know About Visual Studio 2010 http://bit.ly/c6JrrT (based on @scottgu 's talk at #Guthalon) [...]

 

I find myself wondering how many of these enhancements will not be available to those with VS2010 Professional and will require VS2010 Ultimate in order to work.

 
Posted by Rory Becker

Rory: as far as I know only IntelliTrace is limited to Ultimate, the others work starting with Professional. I recall Scott said the same. Of course all is yet to be confirmed.

 
Posted by Gergely Orosz

That would be truly excellent. I look forward especially to features 1, 5 and 7 (Pinning, Call hierarchy and dependency graphs)

I was already looking forward to Block editing and intellisense improvements.

I must confess though to still being a little in the dark, as to what 'on the fly search' is beyond what we've already got in VS2008

 
Posted by Rory Becker

Rory: on the fly seach means that the moment you type the next letter of the search expression, the search results are re-populated. It just saves a second or two of waiting as in VS2008 search is done by scanning the disc, but in 2010 a search database is constantly updated in memory speeding things up.

 
Posted by Gergely Orosz

[...] a detailed description of each of these features read my blog post Ten Cool Things You Didn’t Know About Visual Studio at my Scott Logic blog. var [...]

 

Social comments and analytics for this post...

This post was mentioned on Twitter by danielrmay: RT @GergelyOrosz: Ten Cool Things You Didn't Know About Visual Studio 2010 http://bit.ly/c6JrrT (based on @scottgu 's talk at #Guthalon)...

 

Rory: It looks like the Dependency Graph and Sequence Diagrams appear to be limited to the Ultimate Edition as they would be part of Architecture Explorer and UML Tools. I believe that the Call Hierarchy will be limited to the Premium Edition as that would fall under the Code Metrics and Profiling Tools. http://www.microsoft.com/visualstudio/en-us/products

 
Posted by Aaron Nielson

If true ... That will suck :(

 
Posted by Rory Becker

#2 is actually in Visual Studio 2008. No really new to 2010. Same key, hold Alt while selecting and it gives you a box. Use it more than I thought I would.

 
Posted by Eric Berens

Rory, concerning graphs and metrics in VS I would advise using NDepend integrated in VS. According to my experiments it is much smoother than VS2010 tools themselves and I think it works with all VS versions.

 
Posted by Todd Brayshaw

[...] Visual Studio 2010 Home Page VS 2010 Product Highlights What’s New in VS 2010 10 Cool Things About VS 2010 [...]

 

[...] Visual Studio 2010 est arrivé Et voilà, après plusieurs mois d’attentes et plusieurs versions Beta, Visual Studio 2010 est arrivé en version finale. En plus de l’intégration du Framework 4.0, Visual Studio apporte énormément de nouveautés. Voici un article qui répertorie les 10 plus marquantes. [...]

 

The Box selection feature was available in VS2008 and even earlier. But the mass renaming one wasn't. that's the great improvement.

 
Posted by Max Paulousky

@Eric: The selection is in VS2008, but VS2010 allows additional data to be typed into all selected rows simultaneously. much better :)

@Todd: That's nice and probably the cheapest way to go... But I'm not sure I can justify $410 for "being able to run queries on my codebase"

@Everyone: View Call Hierarchy is not available for VB.Net only C# and C++ :( So much for co-evolution.

 
Posted by Rory Becker

Box selection isn't anything new!

 
Posted by G

VS2008 has multi-monitor support - it ain't perfect but it works. I use it everyday.

 
Posted by G

[...] Ten Cool Things You Didn’t Know About Visual Studio 2010 [...]

 

[...] Found it here and original is here. [...]

 

I actually find 2010 to be very annoying vs. 2008. It seems clunkier and slower, giving me unwanted intellisense and strange color changes and things that I don't know even know the purpose of. The find and replace, which I use very often does weird things, even after installing the patch. When I move it around some other navigational items appear. I have no idea what they're for, except they are distracting and annoying. If I drage the find and replace to close to a border, it snaps into place and gets bigger, even thought that's not what I wanted. I really haven't noticed a single improvement on 2010 vs. 2008. Just minor different annoyances, slower and clunkier performance that irritates. I guess that's what happens the longer you're a programmer. You start to get tired of the useless bloatware upgrades and slower performance. Makes no sense.

 
Posted by Roy
It's called getting older, Roy. Your comfort bubble gets smaller and smaller, to the point where even minor changes to your environment become stressful events.
 
Posted by Sir Athos

Post a comment