Modify Visual Studio 2012 Dark/Light Shell Themes
UPDATE: 9/7/2012 - An “official” theme editor for VS2012 is now available in the VS extension gallery available here:
http://visualstudiogallery.msdn.microsoft.com/366ad100-0003-4c9a-81a8-337d4e7ace05
The remainder of this post is for archival purposes and is out-dated.
So, Visual Studio 2012 is nice but I ran into some serious usability issues. I like the dark theme, but it was too dark. Something between light and dark would have been perfect.
In my current setup:
- I turn down my monitor’s contrast to the lowest setting.
- I turn down my Nvidia driver contrast down to the lowest setting.
I spend a lot of time on the computer so it is important to keep these settings where they are. I don’t want fiddle with these nobs back and forth just to use Visual Studio.
After some research and play, I found where Visual Studio 2012 was storing and reading theme / color data. Specifically here:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\Themes
Notice, there’s a Data value in each sub-key category. This Data value is binary-byte packed with color values and color names. I wrote a small tool that that reads Data for each category and allows you to inject your own colors.
Visual Studio 2012 Theme Editor
Play it safe: Please backup your registry before using this. You can backup your current theme by using the green “Backup Theme to File” button.
Visual Studio 2012 Themes
- Midnight
Theme
- by Eugen Podsypalnikov
-
Visual Studio 2012 in 2010 Colors - by Cihan Yakar
-
“Cool Blue” theme by ~T~A~B~
Visual Studio 2012 Icon Patcher
FAQ
- Can I change the ALL CAPS menu?
Yes,
1. Close Visual Studio
2. Launch regedit and navigate to
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\General
3. Create a DWORD value namedSuppressUppercaseConversion
with value 1.
That should suppress the upper casing on the FILE, EDIT, VIEW menu area in Visual Studio 2012. - Can I change the Visual Studio 2012 Icons?
Yes, See the link above: http://vsip.codeplex.com/ - I changed a color, it doesn’t work. What’s wrong?
Keep trying. There’s hundreds of colors VS uses so it might take some time to find the color you’re trying to modify. Most of Visual Studio’s Shell colors are in the Environment category - take a look in there. Also, keep in mind, Visual Studio uses many colors, and sometimes colors get “brushed over” others. - How do I reset my theme?
Click on the Reset Theme link in the main program to go back to stock colors. -
There’s a bug in your program. Can you fix it? Probably. I didn’t spend much time creating a bulletproof UI. I just needed something quick to hack these color values. Since it’s open-source, feel free to fork, download, fix, and push me a patch.
For me, some important colors that I needed to adjust: - Environment > CommandBarMenuBorder
- Environment > CommandBarMenuBackgroundGradient(Start/End)
- Environment > CommandBarMenuItemMouseOver
Hope that helps, happy coding!
Brian Chavez
Comments
agetronairb
Would it be possible to modify to work with Visual Studio Express 2012 for Web?
Brian Chavez
Hi,
I don’t know if it works with Express edition. Try it and let me know! :)
-Brian Chavez
Ed
Firstly, Brian thanks I think with a bit of trial an error I can make life a little more bearable.
For others like myself who are using the web express version then to get Brian’s tool to work download the source code and change the RegPath variable in the ThemeReader class to Software\Microsoft\VWDExpress\11.0_Config\Themes i.e. replace VisualStudio with VWDExpress. Recompile and you should be able to play with you themes.
Joshua Cassell
Thanks for looking into this. I wasn’t using 2012 because of the horrible lack of any ability to change the color. I mean Microsoft is completely out of their gourd lately. I’ve got a few stories from working there for 12 years. Some of them amazing, but the ones since Ballmer took over mostly would probably just piss off most of of their customers if they knew the facts and actually make me a bit ill. Questionable legality even. Not working there anymore since June this year. The color thing is one of their legal mistakes lol
Ken
Brian, thanks for sharing your ‘solution’ to this horrific mistake of a GUI. From what I can tell, your program only modifies the two themes provided by MS. Is that correct? That’s definitely a start but what about the icons, are they still in black and white? Is there a way to get color icons?
Brian Chavez
Hi,
Yes, it only modifies Light and Dark themes.
I did see some colors for Icon background and Glyphs. You might want to try fiddling with those settings in the Environment category.
-Brian Chavez
cophnia61
Hi Brian, great work! My eyes thank you :)
English is not my first language, so I hope you understand what I say XD
There is a plugin for Visual Studio 2010, called “Visual Studio Color Theme Editor”, I’m sure you know it.
I notice that with this editor you can export the setting in xml, and the color names are exactly the same as those of Visual Studio 2012.
The only difference is that in the exported xml (VS2010) they are like:
TOOLWINDOW_BUTTON_INACTIVE_BORDER
where in the reg key “11.0_Config\Themes” (VS2012) they are like:
ToolwindowButtonInactiveBorder
So, with C# and regular expressions it is not difficult to export a vs2010 theme to a vs2012 theme, I’m doing it right now but I’m not so good in programming, so I thinked you or someone else can write a theme conversion tool, or at least to say it so the other people will know it is possible to do :)
Excuse for my english, I hope you understand what I mean!
Brian Chavez
Hi cophnia61,
I see what you’re saying, but simply importing a VS2010 theme isn’t that easy.
There are many more brush strokes in VS2012. So, ToolwindowButtonInteractiveBorder might be listed, but it also has many additional accompanying “partner” brush strokes that are new to VS2012.
The end result may look like a theme that is half VS2010 and half VS2012.
For example, ToolWindowContentTabGradientBegin and ToolWindowContentTabGradientEnd would be missing in an exported VS2010 theme.
Brian
So I changed the color for Environment -> Highlight thinking this would change the “Highlight” color in the solution explorer…nope. Doesn’t work. Is there a different variable for this? I just want to change the background color of the solution explorer to white.
Brian
Nevermind, I found it. It’s under TreeView
tu.x
Great tools!
Anyone can let me know the key of select menu item and its background? I cannot distinguish between menu item is selected or not :(
ex: When I select to File menu, I don’t know what I’m selecting is ‘New’ or ‘Open’ or …
Brian Chavez
@tu.x
Try “Environment > CommandBarMenuItemMouseOver”
tu.x
@Brian: Thank you a lot!
Eugen
Nice job, Brian, thank you !
A check box “Modify all entries colored by the this value” - could be very usefull, I think… :)
Cihan Yakar
Here is my vs2010 like theme: http://www.cihanyakar.com/2010theme.zip
preview: http://i.imgur.com/NHDq3.png
Hans Pfaff
Hello Cihan,
I installed your VS2010 theme reg file. It worked immediately. THANKS!!!! you saved my eyes (and my mood).
I like this theme. It is years ahead of the standard VS2012 themes.
Jason
Thank you so much - my systolic decreased a full five points after installing Cihan’s 2010 theme. Thank you Cihan!
Anar
Cihan, great theme! Thank you!
Also i quote: “A check box “Modify all entries colored by the this value” - could be very usefull”
Cihan Yakar
An extension arrived
http://visualstudiogallery.msdn.microsoft.com/366ad100-0003-4c9a-81a8-337d4e7ace05
Max
What key to use to change main menu (File, Edit, View, etc.) background color? I’ve tried what I knew, but I couldn’t any that would work.
Thanks.
Mohsen
thank you.
jemal
thanks so much its work for black
Guest
Oh why tf you can’t put these files on your server but giving links where is register?
There is no time for registering
I opened that page with hope I download it from here.
Leave a comment
Your email address will not be published. Required fields are marked *