Visual Studio 11 IDE Advances

Over my last few posts, I’ve blogged about some of the advances we’ve made for the Visual Studio 11 Developer Preview – improvements to programming languages that enable developers to better express their intents while building efficient solutions, and improvements to the .NET Framework that yield faster, more connected, and more integrated apps.

In this post, I’ll switch gears and take a look at some of the advances we’ve made for developer productivity right within the Visual Studio IDE.  This includes enabling improved navigation and code understanding in order to help developers complete their work faster.


One of the more prominent advances in the Visual Studio environment enables developers to quickly discover that key piece of information or functionality they need.  Previously, developers would navigate through tool windows, lists, documents, and dialogs looking for a particular file, or a particular option, or a particular assembly to reference, or the right control, or a myriad of other targets.  With Visual Studio 11, search is now integrated throughout the IDE via a set of features we affectionately refer to as “Search Everywhere.”

Want to quickly find the right assembly to reference?  Search is now integrated into the Add Reference… dialog:

Want to quickly find that important command or option you’ve been seeking?  The new Quick Launch feature enables you to search through the thousands of capabilities available in Visual Studio.  Not only does Quick Launch help you to discover commands or options, but as you can see in the screenshot below, it also helps you to learn the keyboard shortcuts for the results.

Want to quickly find a particular file somewhere in your solution?  The new Solution Explorer search feature enables you to filter by file name.  Moreover, Solution Explorer has been augmented to enable peering into the classes and members contained in files, and the tool window’s search capabilities apply to such entries as well.

Have a lot of compilation errors and want to quickly find those matching particular criteria?  Search is also available in the Errors tool window:

Some tool windows not only provide search capabilities, but also deeply integrate them with other components of Visual Studio.  For example, the new Parallel Watch windows provide a “Filter by Boolean expression” box:

When a Boolean expression is supplied, the debugger will evaluate that criteria for each thread, and only those threads for which the expression evaluates to true will be shown:

As you can see, “search” has become an integral part of the development experience in Visual Studio 11. For more detailed information on what’s available, I recommend this blog post from the Visual Studio team.


Closely related to this “Search Everywhere” experience is that of searching the text within your documents.  Referred to as “Find,” this experience has been streamlined in Visual Studio 11 to minimize the number of dialogs that developers must deal with, and to minimize the amount of time developers spend away from their code.  In Visual Studio 2010, typing ‘ctrl+F’ would bring up the Find and Replace dialog:

Now in Visual Studio 11, the Find experience instead starts with a control integrated directly into the code window:

As shown in this screenshot, I no longer needed to manage a separate dialog, or deal with multiple clicks or separate result windows in order to see the text I was seeking; instead, as I typed into the Find control, matching text in my document got highlighted.  In fact, for those of you who know and love .NET regular expressions, you can get such real-time highlighted results as you type in your regex:

The Visual Studio team has posted more detailed information on this new Find experience.

Preview Tab

How many times have you found that your document tab well overflows with open documents?  Every time you “Go To Definition” or open a search result in another file, that file will be opened.   And that file will remain open until it’s explicitly closed in the editor by the developer.  This is true even when the need for that file was temporary, when it was only needed in order to preview the target content.

Enter the Visual Studio 11 Preview Tab.  The Preview Tab sits on the right-hand side of the document window and is used over and over again anytime such a preview is needed:

This greatly helps to reduce the clutter we’ve all experienced in the Visual Studio document windows.  If you do want previewed content to be more permanent, with a single click you can “promote” the current file from the preview tab into a full-fledged code window.

For a more detailed look at the new Preview Tab, see this blog post from the Visual Studio team.

Project Round-Tripping

Working in a team environment that includes team members using different versions of Visual Studio often requires some finesse.  Once one member of the team uses a newer version of Visual Studio to work on a project, that project gets upgraded, and previous versions of Visual Studio aren’t able to use it again.  This forces teams to maintain multiple project files in order to support multiple versions of Visual Studio.

With Visual Studio 11, project round-tripping is a first-class feature.  Projects created with Visual Studio 2010 can be opened and edited with Visual Studio 11, and most importantly, can then be used again by Visual Studio 2010 (SP1 is required).  As long as the projects aren’t modified to use new project capabilities only supported by Visual Studio 11 (e.g. explicitly upgrading a C# application to target the .NET Framework 4.5 instead of the .NET Framework 4), teams don’t have to upgrade all of their Visual Studio installations at once, but instead can have some members of the team using Visual Studio 2010 and some using Visual Studio 11, all running together in harmony.

The Visual Studio Tips and Tricks blog provides more detail on project round-tripping.

And more…

Improvements for code understanding and navigation go well beyond searching, previewing, and project round-tripping.

For example, in Visual Studio 2010, C# and Visual Basic gained a feature known as “reference highlighting,” where clicking on a token in the editor caused the editor to highlight all other uses of that token.  In Visual Studio 11, this feature now exists for Visual C++ as well:

In this screenshot, I’ve clicked on one instance of “multiplyBy2”, and all three uses of that token have been highlighted by the IDE.  This screenshot also demonstrates the semantic-based code coloring that’s new to Visual C++ in Visual Studio 11.  Visual C++ also includes support for code snippets, as well as IntelliSense for C++/CLI.  For a good exploration of new IDE productivity features in Visual C++, see this blog post from the Visual C++ team.

IDE support for F# has also been improved in Visual Studio 11.  For example, F# developers will enjoy much improved parameter help, such that when typing a function or method call, information on each parameter now appears as you type:

Additionally, developers using Visual Basic will now be able to utilize the Call Hierarchy window.  This tool window analyzes a solution for all calls to and from methods, enabling developers to more easily understand how a particular method fits into their design (the new Solution Explorer in Visual Studio 11 also provides some of these capabilities):

For more information on the Call Hierarchy window and its support for Visual Basic, see this blog post from the Visual Basic team.

All in all, the Visual Studio IDE has seen some great improvements in this release.  I encourage you to download the Developer Preview and experiment with the IDE, trying out the features I’ve discussed in this post, and seeing what other new gems await you.  As always, we’re looking forward to your feedback.


Comments (30)

  1. Chris McGrath says:

    One thing I hate about the Solution Navigator in the Power tools which has been carried over to VS2011 is it ALWAYS puts a level for the class name under a file. Considering that 99% of all code files contains ONE CLASS and that class shares the same name as the file it produces a tree like the following…










    This is a waste of space (which in big solutions is precious), literally adds another level of complexity and gives another mouse click to expand the class to see anything useful. Wouldn't it look nicer as below?







    If the file contains multiple classes, fine the layer makes sense, show it. If the file contains one class with a different name, fine the layer makes sense. But when these cases aren't met (which again is the large majority of the time) DON'T SHOW IT.

  2. David says:

    Features are cool, but the number one thing we want fixed in VS vNext is performance, at least for C++ development. I have downloaded the Developer Preview as soon as it became available. I hate to say that the performance of the Developer Preview is the same as that of VS 2010, which is completely unacceptable. Will we there be another Developer Preview or a beta version? Because if the performance stays as bad as it is now, none of the new features will matter.

  3. dbu says:

    Somasegar, VC11 is broken by design, and you know it…


    Stop working on VC11 until this BUG is fixed, or you'll loose a lot of your customers!

  4. David says:

    I just read through link supplied by dbu (thank you). I couldn't believe my eyes.

    Bug report:

    Any app that you create with Visual C++ vNext cannot be used on a widely used operating system, Windows XP. This effectively prevents its use for any serious work.

    The official and final response from Microsoft:

    Thanks for the report. This behavior is by design in MFC and CRT for Visual Studio vNext. The minimum supported operating systems are Windows Server 2008 SP2 and Windows Vista. Windows XP is not a supported operating system for the release (design-time or run-time).

    WHAT?????! This is insane!

  5. Abhijit says:

    Love the pervasive search features built into Visual Studio. However, I note with a great amount of concern that the **excellent*** Find dialog (both Ctrl-F and Ctrl-Shift-F for Visual C# settings) will be replaced with Quick Find from the PowerTools extension for VS2010.

    I cannot express how much I hate that feature. It just doesn't work as well as the regular find dialog. It always forgets the find/replace in selection setting. Its just useless.

    I sincerely hope that the quick find will be optional.

  6. New features are nice, but only when the performance with very large projects is excellent. And people say that the Developer Preview is as bad as VS 2010 which is unbelievably slow when compared to VS 2008. Microsoft, please don't release VS vNext unless you're made it 2 times faster than VS 2008 when working on solutions with 50+ projects that have 1 million lines of code. Because that's how we use Visual Studio.

  7. James says:

    All I heard was VS is still slow as hell. It shouldn't require 16GB of RAM and a fast SSD to bake it as fast as 2008 was. Guessing performance, as usual, is something no one thinks about in the team.

  8. toub says:

    To everyone commenting about Visual Studio performance, thank you for your feedback.  The team definitely hears you.  Larry Sullivan, Director of Engineering for the team, has written a blog post updating readers on Visual Studio performance at…/an-update-on-visual-studio-performance.aspx.  I'd encourage you to read that and to follow-up there and through the channels he discusses to provide further performance feedback.  The team does appreciate your comments; in particular, as you comment on performance concerns, it'd be very helpful if you could provide specifics about exactly what areas are most troubling to you and where you'd benefit from the most improvement.

    Chris, thank you for your suggestions on the Solution Navigator.  The team responsible is now actively discussing your suggestions.

    Abhijit, thank you as well, and I've forwarded your concerns to the right folks.  Have you tried out the find experience in the Visual Studio 11 Developer Preview?  Ctrl+Shift+F brings up the same Find and Replace dialog that is present in Visual Studio 2010.

  9. rw says:

    I really like the new search feature that you mentioned that I now use in VS 2010 but I wish I could limit where it searches. A lot of times I want to search in only non minified .js files.

    My biggest complaint of 2010 was crashing, although it recovers nicely.  VS 2010 SP1 seemed to mostly fix.

    Love the new javascript debugging in 2011 – I really can't wait for this upgrade.

  10. I had no idea there was a VS tips & tricks blog, separate from the main one. I think there are too many VS-related blogs – you have to have many different subscriptions just to be sure of catching information that might be useful to you. Why split everything up so much? Or, if you're going to, is there a handy listing of them all somewhere?

  11. TristanSDX says:

    As to search, I propose to implement something like 'cascaded search'. Cascaded search will enable searching within results of previous search. This will reduce requirement to write complex search templates. Also some undo/redo could be helpfull.

  12. Lachlan says:

    Looks like my original post got lost in the ether (seems to happen a lot on MS based sites?) so I will try again, just with the key points:

    * Performance is supposedly improved over VS2010. It's not. (For VB.Net on oldish machine, least). HUGELY disappointing.

    * "New Features" are mainly stuff that has been present for a while in Productivity Power Tools extension. But with things missing, i.e. scroll bar highlights.

    VS is becoming a victim of feature-creep, so much stuff the average developer will never use built in, yet the good stuff every developer will use comes out in an extension??? There needs to be some cohesive high level strategy here about the direction for VS: A basic IDE + many extensions OR a monolithic beast with all functionality baked in?

  13. Alois Kraus says:

    VS2010 is great if you have a fast PC with a fast HDD or even better a SSD. But I expect you to lower the memory and disc access footprint in VS2012 as number one prio feature. If I use solutions with WF Designer files I can easily get 800 MB WS with only a few MB source code and some rather small XAML files. That is not acceptable. The constant leakage of memory (I have VS2010 Ulitmate SP1) is also a rather nasty thing (nearly 80 MB per day when VS is left unattended). Could have something to do with TFS doing something in the background because the managed heaps look good.

    The other thing is that VS should scale as much as possible. Some examples of not scaling

    – DGML Viewer – very nice but extremly slow (memory over 300 MB for a 2 MB file?) when the node count is about 2500.

    – Many Solutions. VS can not load a project which does contain many solutions (hundreds). This is ok for a UI since MSBuild can take it. But MSBuild for 32 bit targets can not compile solutions with more than ~800 targets since it will run out of memory in the meantime (it does some unfortunate caching of build output which consumes all of its memory..)

    – It is also a known issue that although VS comes with a nice DGML viewer MSBuild is not able to calculate build dependencies (graph theory?) correctly when you have more than ~50 projects in one solution where you have quite a lot of projects which do not depend on any other project.

    Yes the new features of VS2012 are nice and the extended threading support for C# with the await keyword is awesome but I do prefer a release of VS which does fix the known memory leaks and performance issues. VS2010 by the way crashes much to often on C++ targets especially when COM is involved. With WinRT these "old" things will become much more relevant again.

  14. Hi Abhijit,

    We have definitely heard the feedback from the Productivity Power Tools and have been using it to refine the Find experience in Visual Studio 11 Developer Preview. To name a few, we have fixed issues in the selection scope from Power Tools such as no selection highlight, no wrap alert, scope reverting to Current Document etc.. With the new Find, while searching within a selection, the selected text is highlighted to indicate the scope. Once the search is complete, a wrap alert is provided. In Power tools, the selection would be lost once you click inside the document. We have fixed this issue and Find now retains the selection, until explicitly dismissed. You will find some of these improvements in the Build release, others are in our internal builds for upcoming releases. If you have a chance to try out the Developer Preview, you’ll notice that much of the Quick Find functionality is now also available as part of Find in Files (Ctrl+Shift+F).  I’d encourage you to try it out and let us know what you think.  After the Build release, we have continued to make significant improvements to Find. If there’s a specific bug that you want to verify is fixed or if you have more detailed feedback, feel free to contact us directly @



    Murali Krishna Hosabettu Kamalesha | Program Manager | Visual Studio Professional – Editor team

  15. Chris McGrath says:

    One more point. I made an extension for Visual Studio – – It's pretty popular. I'd love for the features to be included in solution navigator by default so I could deprecate it.

    If not, please make sure there is an easy API for working with the solution navigator. The current Solution Explorer has some terrible problems with lazy loading which is almost impossible to get around in code –…/visual-studio-api-nested-solution-folders (lazy loading is great – but make sure there's a way for us to perform a load in code) I've got a lot more details about this problem if you need it.

    Finally I can see having class details in the solution explorer as a benefit and an annoyance. I'd love a button which toggles it on and off.

  16. David C says:

    Will VS2011 support ;

    1) Click Once deployment of F# applications?

    2) compiling of XAML as 'Page' within F# projects?

  17. Bluto says:

    Lack of VC++ Windows XP runtime support is UNACCEPTABLE.  I will not use this tool for VC++.  Maybe it will be good in 2017.

  18. Dave Kerr says:

    I think some clarification is needed on the Visual C++ issue – is the developer preview limited to building C++/MFC applications targeted to Windows XP only, or is the actual final release of 2011 going to be limited in this way? If that is the case then 2011 is going to be totally un-usable for a staggering number of users – can anyone shed some light on this?

  19. wsfaso says:

    I have also found that the Crystal Reports interfacing in VS2011 is much better over VS2010.  I have a project that I would not migrate from VS2008 to VS2010 due to Crystal Reports being ASP 4.0, the project ASP 3.5, VS2008 compiles no problem.  VS2010, would not accept the project, but VS2011 preview does.

  20. Marcello says:

    Nice additions. But for the time being I am afraid I will remain loyal to VC++ 6: I see no reason to upgrade to the latest compiler as long as my code keeps running with no problems whatsoever in any windows distribution. I have several thousands of customers and NO problems or complaints whatsoever. My productivity with VC++ 6.0 is  difficult to achieve even with the latest C++ IDEs, no matter what the new additions were, they are still behind the "old" and "outdated" VC++ 6.0.

    The requirements for the latest versions are too hefty (operating system, memory, hard disk space) and I find difficult to find reasons that justify the migration to the new tools. I have many of these and others by third party tools since a long time ago:  I didn't had to wait years and years to get these and many others.

    Funny is not that there is still no rename refactoring in the vsNext C++ which is absolutely essential for my work. I am so comfortable with VC++ 6.0 that I don't think I will ever need to go beyond version 6th, not as long as the MFC feature pack classes are still not properly integrated into the MFC classes and pulling a staggering 1.3 MB to every statically linked application I build with VS2008. Since VS.NET, the IDE lacks a lot of the functionality which was present in the VC++ 6.0 IDE, so much that any upgrade looks a downgrade.

    I don't understand the philosophy that keeps the team adding and adding new features and releasing new versions, while not solving the underlying problems of the earlier versions, regardless of how useful the new features may appear, from my perspective, it looks like building castles in the air.

    I have come to the conclusion that expecting that a software like VS, with such level of complexity will be error free is an unattainable utophy with the current technologies and we will have to surrender our pretensions to that fact or expect to live in continuous pain and frustration.


  21. I look forward to pirating VS 11 assuming Microsoft continue the same pricing policies they did for upgrades from 2008 to 2010.

  22. AGREED says:


    Nicely stated …

    Visual Studio 6.0 was the last good release of visual studio. Every release since has been totally garbage. Overlapping frameworks, unfixed bugs, duplicate controls, zero RAD and tons of useless features. A total apathetic attitude towards the customer and GOD mentality has infected Microsoft's developers tools division. It is time more developers wake up.

  23. supra says:

    Does VS11 will be released  after June 2012?

    Does VS11 is platform of window 8 or 7?

    I have to buy my new pc with 64-bit along with window 8 version.

  24. supra says:

    Does COLLECTION 's control is back? But VS10 is back on COLLECTION's control

  25. toub says:

    Thank you all for the feedback, including that on XP, on reliability, and on performance.

    Dave Kerr, the Developer Preview does not support XP.  Which operating systems will be supported by the final release have not yet been announced.

    supra, the schedule for the RTM release also has not been announced.  The Visual Studio 11 Developer Preview runs on both Windows 7 and Windows 8.

  26. dbu says:

    @Stephen Toub

    >>…Which operating systems will be supported by the final release

    >>have not yet been announced…

    then why was this Bug closed "by design"?…/690617



  27. Abhijit says:

    @Stephen and Murali: Thanks for noticing my comments on the quick find. Its as much a case of "who moved my cheese" as well as the new feature not working as well as the old one. Ctrl-F and  Ctrl-Shift-F do work the same way but only after I've tweaked the settings in the "Find-All" dialog – each and every time to change its behaviour from "find in all" to "find in document". Its a productivity thing.

  28. FsharpTeam says:

    David C,

    To answer your questions, Visual Studio 11 will not directly support Click Once deployment of F# projects, but there are some good workarounds. You can create a C#/VB front-end for an F# library, and that can be deployed with Click Once. Or, you could create a C# wrapper project that references the F# .exe as a resource. Then, with Click Once, all the referenced assemblies will be appropriately deployed.

    Another option is to use manual Click Once deployment, as outlined here:…/xc3tc5xx.aspx.

    In response to your second question, you won't be able to compile a XAML page within F# projects. In such scenarios, we recommend doing the UI in C#/VB, where you can use the designer. You can then put your program logic in an F# library and call it from the front-end.

    Donna Malayeri

    Program Manager, Visual Studio F#