Differentiating Visual Studio instances

Mads Kristensen

When you have multiple instances of Visual Studio open at the same time, it can be tricky to tell them apart. Especially if you’re working on different branches of the same solution, which makes them look almost identical. What if each instance could have a unique color so you could instantly tell them apart? Would you use it?

Colors applied to Visual Studio

The Peacock extension for Visual Studio Code does exactly that, and with 1.7 million installs it appears to be working great for lots of developers. A feature request on the Visual Studio Developer Community is gaining steam asking for the same feature be added to Visual Studio, so please vote and comment if you’re interested.

An experiment

Due to the UI differences in Visual Studio Code, it may not be desirable to port Peacock as is to Visual Studio. Instead, we may need a different UI paradigm and colorization scheme. Let’s experiment and keep iterating to find the best solution together.

We’re starting out with an extension to kick off the experiment. We call it Solution Colors and the first iteration puts a 3-pixel thick colored line above the status bar (see image above).

Getting started

After installing the extension, you are ready to start colorizing Visual Studio. The way it works is that you manually assign a color to a solution, by right-clicking the top tree node in Solution Explorer.

Solution/Folder context menu

Every time you open that solution, the extension applies the color automatically. Select None from the list to remove it again. It works for both solutions and for folder-based workspaces (CMake, etc.).

You can adjust the thickness of the line from the Tools -> Options dialog to suit your liking. Find it under Environment -> Fonts and Colors -> Solution Colors.

Options for Solution Colors

Both built in and custom themes are not affected by this colorization.

Next steps

If this feature is interesting to you, please install the Solution Colors extensions and take it for a ride. Make sure to share any ideas and bugs on the GitHub issue tracker, and feel free to send pull requests too. The feature request ticket is a great place to share your comments and thoughts, so make sure to vote and comment there as well.

Do you like the idea of community experiments like this one? Let us know in the comments below.