[BLOG] Visual Studio 2008 coerced onto dual monitors

KhaosKhaos New Hampshire
edited November -1 in Community
The wide availability of inexpensive LCD monitors coupled with the potential increase in productivity afforded by having more viewable screen real estate has virtually guaranteed the adoption of display systems incorporating two or more monitors. These days, it is fairly common for IT professionals and engineers in a variety of fields and disciplines to have multiple monitors.

3271598545_d894638f20.jpg

Some software applications have been slower than others to provide enhanced support for multi-headed display systems. Software like Photoshop and AutoCAD have long gone out of their way to support such configurations because large displays have always been the rule in design rather than the exception, but other technical fields have only recently adopted these principals. Software development environments, especially Visual Studio, fall into the category of relatively recent adopters.

As a result of being late to the multi-mon party, Visual Studio 2008 is still designed largely around use with a single monitor. This blog is aimed at people who are already familiar with the use of Visual Studio and so I will not delve into the hows, whys and whats of this multi-mon inferiority. Rather, I will be taking a look at some specific ways of addressing these shortcomings and configuring Visual Studio 2008 for use on a dual-display configuration in the most efficient manner possible.


Auto-Hide tool windows suck
The default window configuration for Visual Studio sets most of the visible tool windows to the Auto-Hide display mode and hides almost all the tool windows from view. The Solution Explorer is typically displayed using the Dockable display mode. This is decent for single displays, but it is a complete failure for multiple displays.

The default Visual Studio 2008 window placement for C#
3272995008_bc099d0119.jpg

What most people don't realize is that Dockable windows can be docked to one another, not just to the main Visual Studio application window's docks!

Here is how to create a floating tool window dock for your secondary display:

1. Maximize Visual Studio on your primary monitor.

2. Change the display mode of all your tool windows to Dockable.
You can do this by clicking the push-pin in the tool windows' titlebar, or right-click the titlebar and select from the menu.

3. Drag one of the docked tool windows out of its dock in the main application window. It is now floating, but its display mode is still dockable.

4. Drag the floating tool window onto your secondary display area. Leave it there.

5. Drag another tool window off its dock so that you have a second floating tool window.

6. Drag this second tool window over to the first floating tool window on your secondary display. Dock them together. WOAH! COOL!

7. Explore the View menu and the View -> Other Windows sub-menu in order to find lots of useful tool windows that you now have a place for. Add some to your floating dock.

8. Repeat this process using a combination of adjacent-docks and tab-docks until you have a Floating Super Tool Window!
These terms will make a lot more sense once you actually play with this process.

Here is what my Floating Super Tool Window looks like in action...

A custom, floating tool window with many docks
3272128583_a96dac1d57.jpg

I highly recommend that you break your tool window tab areas into three basic sections as pictured above...

1. Big-Ass Windows like the Code Definition Window, Object Browser and Find Results.
2. Long Narrow Lists like the Solution Explorer, Class View and Toolbox.
3. Wide Lists like the Error List, Bookmarks, Test Results and Tasks.


Toolbars suck
Visual Studio allows you to customize your toolbars. Most people know this. The nice thing about this customization is that you can do away with the toolbars altogether. I like to hide all my toolbars and then set the main application window to Full Screen mode. This gives me the most possible space for editing source code. Keyboard commands are far superior to toolbar buttons, and you can customize your keyboard commands to your heart's content.

The code editor, full screen with no tool windows or bars
3272128585_3acb23cc6e.jpg


Single tabbed documents window? Sucks
Unfortunately, Visual Studio 2008 only allows you to have a single tabbed document window. This is built into the main application window, kind of like an MDI area except with tabbed documents. You can split the area into multiple sections, but the splits go away if you close all your documents.

This makes it impractical to have your Visual Studio application window span multiple monitors as you constantly have to reconfigure your tabbed document browser.

To make matters worse, the main application window likes to reset to a single monitor size every time it starts up.

I do not have a good fix for this. If you are willing to re-split your docs window all the time and you have three monitors, then you can stretch your Visual Studio window across two of them and split the tabbed documents area right on the edge of the monitors. This will essentially give you two monitors with tabbed documents, but I find it to be a pain in the ass.

Regardless, here is what it looks like to have two monitors with split document windows...

The tabbed documents of the main application window split on two monitors
3273045666_2428692b4f.jpg

Microsoft says that they are addressing this in Visual Studio 2010 / Orcas. Hopefully in Orcas the tabbed documents will be in normal tool windows that can be made Dockable like all the other windows in the IDE! This way we could have multiple document editors on multiple monitors with multiple tabs and not have the tabs and windows constantly reset on us.

Pretty please, Microsoft? :D


A conclusion, of sorts
In a rather blatant lead tie-in, let's take another look at the first picture from this blog entry...

3271598545_d894638f20.jpg

As you may have guessed, this is my desk.

On the left you can see my secondary monitor. That is where my Super Floating Whatchacallit lives. With a glance to the left I can see most of the pertinent information displayed in my tool windows at any given point in time. I also use the Super Floating Whosawutnow when designing graphical interfaces by switching my narrow list areas to the Properties and Toolbox tool windows.

On the right, you see my primary display. This is my main workspace where all the editing of source code goes on.

And that's about it!

It is my hope that someone somewhere finds this guide helpful and is at least inspired to give a dual-display configuration a try even if they didn't necessarily learn anything new about the Visual Studio 2008 user interface from reading this.

After all, this is as much about trying something new as it is about learning something new. Give it a shot! I think you'll like it. I know I do.
Sign In or Register to comment.