15 minute blog post: A Hidden Feature in Visual Studio 2010

15 minute blog post: A Hidden Feature in Visual Studio 2010

Rate This
  • Comments 22

The sunset in Seattle was spectacular this evening. My wife and I climbed the water tower in Volunteer Park to look across the Sound as the sun dipped behind the Olympic mountains and, in the space of a few minutes, the sky turned from blue to orange and pink. We both agreed that the Emerald City and its surroundings can be breathtakingly beautiful – at least when it’s not raining. One the walk home, I remembered a little gem of a tip for Visual Studio 2010 and decided it’d make for a compact, 15-minute blog post.

Thumbnail Previews

This hidden feature gives you thumbnail previews on the Ctrl+Tab UI (IDE Navigator). To enable it:

  1. Click the Start button on your desktop and select “Run…” (or press Win+R as a shortcut).
  2. Type the following line into the Run dialog (all on one line) and click “OK”

reg ADD HKCU\Software\Microsoft\VisualStudio\10.0\General /v ShowThumbnailsOnNavigation /t REG_DWORD /d 1

Now, restart or launch Visual Studio 2010, load a few files and press “Ctrl+Tab” to bring up the ‘IDE Navigator’. Presto! You should see thumbnail previews on the navigator. If you don’t see them, it may be for one of the other reasons listed in the next section.

IDE Navigator with thumbnail preview enabled

Backstory

The thumbnail preview feature was actually present in Visual Studio 2008 and, in fact it was there in both Visual Studio 2010 Betas and the Release Candidate. It was disabled at the last minute during the run up to RTM, but not without a fight. You see, a report came in that, when running on a certain netbook, the IDE Navigator took a long time to appear. What’s more, disabling the “rich client visual experience” made the navigator snappy again. “Thumbnail previews” is one of the features that are disabled when the rich client visual experience is turned off, so it was apparent that generating these thumbnails was causing the slowness. By default, Visual Studio 2010 automatically adjusts the visual experience based on hardware capabilities or in the presence of remote desktop or software virtualization. However, this particular brand of netbook reported that it had a high-end GPU (even though its performance was somewhat “low-end”) meaning that Visual Studio enabled full visual effects, including thumbnail previews. After some debate on the team, the decision was made to disable the thumbnail preview feature entirely. I know a lot of people on the team (myself included) thought that this was a somewhat draconian solution – diminish the experience for everyone in order to improve performance on the netbooks. We argued that the users with low-end netbooks can disable the rich client visual experience manually – indeed, that’s one of the reasons why we added that option. Alas, the debate went the other way and we were asked to turn off thumbnail previews for everyone. Fortunately, with the tip described above, you can reawaken this dormant feature. Enjoy!

clip_image002

Paul Harrington – Principal Developer, Visual Studio Platform Team.
Biography: Paul has worked on every version of Visual Studio .Net to date. Prior to joining the Visual Studio team in 2000, Paul spent six years working on mapping and trip planning software for what is today known as Bing Maps. For Visual Studio 2010, Paul was the architect for the move to WPF. Paul holds a master’s degree from the University of Cambridge, England and lives with his wife and two cats in Seattle, Washington.

Leave a Comment
  • Please add 7 and 7 and type the answer here:
  • Post
  • @LadyM, Joe and those who set the registry value but it didn't appear to work:

    Note that to see document and toolwindows thumbnails you may also need to Enable rich client visual experience from Visual Studio –> Tools –> Options –> Environment -> General page:

    - Uncheck "Automatically adjust visual experience based on client performance"

    - Check "Enable rich client experience" (which should become enabled after unchecking the first option)

    On low-performance computers (e.g. netbooks) and in RemoteDesktop sessions the visual experience is automatically set to low values to maximize the performance (no gradients, background texture, animations, thumbnail images, etc) so you need to override these settings to see the toolwindow thumbnails in IDE Navigator window.

    (Also, make sure you have restarted Visual Studio after setting the registry setting to make sure the IDE reads the new value)

    Alin

  • On the one hand, this feature is not very useable, and is mostly an eye candy. On the other hand, if it's slow on the particular GPU, it's very likely that the users suffer with many other applications. Maybe the users have disabled some visual candies to make the explorer run smoother. You could check if a particular visual effect is disabled.

    But come to think about it, how long does it take to paint a page of text into a memory bitmap, and shrink it to a thumbnail size? Does it *really* require a GPU? My old 2GHz laptop (probably not much capable of running even Win7) doesn't have a problem with this feature of VS2008, under XP. Is memory drawing much slower now? Maybe you just implemented it wrong?

    Oh, and the new help sucks.

  • I m agree with Chris McGrath.

    This feature can be helpful if the thumbnail preview shows lines around the cursor in the currently selected file preview.

    btw, i want to suggest a feature for visual basic and c#.

    i dont know where to suggest but i m giving it here as Paul is a principal developer and he can pass my suggestion to the project leader and other concerning authorities..

    suggestion is for "With...End With" statement block.

    v can not create a "With" block inside a "With" block, means "With" block can not b nested, presently.

    my suggestion is to give a facility to (automatically) create a temporary variable to point to the object related with the "With" block therefore it can b nested as following:

    With Form1 as a

     With DataGridView1.Rows(index) as b

       a.Width = 300

       a.Height = 400

       a.Title = "Form1"

       b.Cells(0).Value = "abc"

       b.Cells(1).Value = "xyz"

       b.Cells(2).Value = "pqr"

     End With

    End With

  • very cool, thanks.

  • The other one feature is Auto restart

  • <a href="www.shopjuicycoutureoutlet.com/">Juicy Couture</a>

    <a href="www.shopjuicycoutureoutlet.com/">Juicy Couture Bags</a>

    <a href="www.shopjuicycoutureoutlet.com/">Juicy Couture Outlet</a>

  • Thank you! I used this to disable it.

    This actually takes a LONG time to open on my machine.

    Now it opens immediately!

    Thanks.

Page 2 of 2 (22 items) 12