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?
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.
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.
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.
Although particularly idea of colorization of solutions does not make any sense to me, I’m excited about the whole idea of community experiments. Mad, please, keep going and keep us updated!
Hey, I solved this problem years ago by allowing for putting a file specifying a VS theme name into the solution folder, so it can go into source control.
This also enables branch-specific visual distinction, if people want that, too 🙂
Built this extension for that purpose: AutoThemeSwitcher
Looks pretty spiffy! It would be nice if the solution colors could appear next to the solution name in the Open dialog, but I suspect that might be a whole different set of settings and parsing from what was required for what’s currently in the extension. For the places it does show up, this is a well done and useful addition to VS!
Just fix your awful windows 11 taskbar by adding the possibility to “ungrouping similar apps” + “show window title” and that’s done…
Windows 11 is the most unusable version of windows I have ever seen (and I used to love Window 8, so no excuse)
Nice differentiator. Perhaps consideration of having multiple desktops with allocated name for each desktop might be useful also – while running a few instances concurrently. If only the desktop name appeared in the VS status bar or the VS heading. Colours are useful, however over time does allow for some muddling, yet with named desktops the clarity might have longer lasting gains. These assists are truly appreciated, Thanks.
For those unfortunate people like me who have to use TFS, could you also add a setting to make it so that all Visual Studio instances share the same view of TFS Included and Excluded changes, one of the problems of having multiple Visual Studios open is that if you accidentally submit from the wrong instance of Visual Studio you can find yourself checking in files that weren't meant to be part of the final...
There is also this extension: https://marketplace.visualstudio.com/items?itemName=Wumpf.SolutionColor which has been around for a while.
It colours the main title bar which I think has a bit more visual impact than a 3-pixel thick line (of course, if you are in full-screen mode, colouring the title bar doesn't help)
(note: the Wumpf.SolutionColor extension hasn't been entirely updated for VS2022, (works fine on older versions). There are some workarounds on the author's github to make it work in...
I've raised several feedback comments suggesting that the _theme_ should be optionally coupled to the solution rather than the user. I would like more distinction than just a small bar at the bottom of the screen. VS Code is far more flexible in this regard - I can use a red-theme for a release branch to warn me I'm working on something critical in which case the entire window background is red rather...
Mads, can you elaborate about where this setting is persisted? Does it go inside the “.vs” folder along other solution-related caches, like the .suo? Or does it keep its own tracking of which solution is which color somewhere else?
Asking just to understand if clearing the “.vs” folder would eliminate this information or not, since that is something I actually do with some frequency.
It’s stored in the .vs folder in a file called color.txt
What about VS for Mac support?