24

When I use a standard Windows aero theme in Windows 8, the VS2012 lets me to choose between light and dark themes, but I created myself a convenient high contrast theme in Windows 8, and now there is only a greyed option in the VS settings that says "high contrast", and I cannot change it.

I belong to the few people, who like the new dark theme of Visual Studio, but unfortunately I can't use it with the new high contrast Windows themes.

Can someone help me with this one?

TylerH
  • 20,799
  • 66
  • 75
  • 101
Gábor Szalóki
  • 261
  • 2
  • 8

4 Answers4

19

My colleague found a way to use the Dark theme in Visual Studio when Windows uses the High Contrast mode. He followed these steps:

  1. Export this registry key:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\Themes{1ded0138-47ce-435e-84ef-9ec1f439b749} (this should the key of the Dark theme)

  1. In the exported file replace the GUID of the Dark Theme ({1ded0138-47ce-435e-84ef-9ec1f439b749}) with the GUID of the High Contrast theme ({a5c004b4-2d4b-494e-bf01-45fc492522c7}):

  2. Import the reg file

Start Visual Studio. This works for him. It's even possible to mix theme settings from the High Contrast theme with those of the Dark theme. Just replace one of the subkeys content with one of the subkeys of another theme.

The GUID's for the themes appear to be the same on both our systems. But you should always check them before you try this. Also a backup of the keys is recommended!

urk_forever
  • 863
  • 7
  • 15
  • 1
    Also works for VS2013 by the way. Just substitute 11.0_Config with 12.0_Config in the registry key name and check the GUIDs of the keys just to be sure. – urk_forever Nov 11 '13 at 14:16
  • 1
    Have no idea why, but on VS 2015 on Win10 x64 it does not work. I spoiled up registry GUID's, switched back system theme from HighContrast and it works while Themes GUID's are messed. The same happens when I switch to HighContrast - it works like default, nothing changed, nothing gives error. The only thing changes is disabled combobox with "HighContrast" to "Dark". – EpiGen Jan 07 '16 at 05:50
  • Worked for me, I'm using VS 2015 + Win10 64x. In the registry I've changed the directory:"HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0_Config\Themes". – Fabio Belz Sep 12 '16 at 23:55
  • Has anyone gotten this to work with Visual Studio 2017? – Benjamin Drolet Nov 07 '17 at 19:07
  • 1
    As so many people are interested, is there any way to get Microsoft to understand they should provide an official option for this?!? – intrepidis Nov 12 '17 at 21:10
5

Here's the register change that changes the high contrast skin into the dark skin in Visual Studio 2015. By applying this file you can use the dark skin when Windows runs in High Contrast.

USE AT OWN RISK!!!

Export the reg values for the High contrast and Dark skin from HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0_Config\Themes\ (You can see which one it is at the value from the name field)

Change the GUID in the Dark Skin export to the GUID from the High Contrast skin export. (Use "Replace All" to do this) (The GUID looks something like this: {a5c004b4-2d4b-494e-bf01-45fc492522c7})

Addition: Copy the values from the Workflow Designer part of the High Contrast skin export and paste it in the Dark skin export (this layout is better than the Dark skin layout for this designer)

Save the changed Dark skin export and execute it while VS2015 is not running.

Funnynin
  • 5
  • 1
  • 3
Jacob de Boer
  • 479
  • 6
  • 12
  • 1
    Now my visual studio is copying 14.0_Config to 14.0_Config_4digitnumber on each launch and reset the themes. What should I do? – Pui Ho Lam Jul 20 '16 at 02:28
2

I made a PowerShell Script for this because I kept having to update the registry values with every update.

This is for Visual Studio 2015. You would just need to update the location values for the others.

$HighConstrastTheme = "HKCU:\SOFTWARE\Microsoft\VisualStudio\14.0_Config\Themes\{a5c004b4-2d4b-494e-bf01-45fc492522c7}"
$DarkTheme = "HKCU:\SOFTWARE\Microsoft\VisualStudio\14.0_Config\Themes\{1ded0138-47ce-435e-84ef-9ec1f439b749}"

Remove-Item -Path $HighConstrastTheme -Recurse
Copy-Item -Path $DarkTheme -Destination $HighConstrastTheme -Recurse
1

As you've found, the High Contrast theme in Visual Studio is automatically linked to enabling Windows' "High contrast" mode in "Ease of Access".

While you can't change themes while that mode's active, you can still change some color settings (editor, windows, etc.) directly via Tools -> Options -> Environment -> Fonts & Colors. Many settings come directly from Windows, but you still have some options here.

Not for this scenario, but just FYI for anyone intrested in tweaking themes, the Visual Studio 2012 Color Theme Editor extension is pretty handy. Scott H. has a post on using it.

Chris Bowen - MSFT
  • 9,589
  • 1
  • 17
  • 13
  • 1
    Isn't there any way to disable this "automatic linking" you mentioned for specific applications (for example VS2012)? I mean it seems logical to me that this option exists somewhere... But thanks for the answer anyway! – Gábor Szalóki Jan 15 '13 at 11:58
  • I'm not aware of a way in Visual Studio, but if I find an option I'll definitely update the answer. – Chris Bowen - MSFT Jan 15 '13 at 19:48
  • Have you found a new way to do this, perhaps by editing the registry and tricking VS to use the dark theme instead of the high contrast settings? I like the dark, high-contrast look for most apps, but really dislike it in VS and very much prefer the dark theme. – Josh C. Feb 21 '13 at 21:13
  • No, unfortunately I haven't found anything there, and I am still looking for a solution... Right now, I am using VS2012 in the forced High Contrast theme, and i set each color for my taste one by one. – Gábor Szalóki Feb 23 '13 at 12:29
  • High Contrast makes everything else look good and ruins VS. Looks like setting individual colors is the only option. What a pain. The VS 2012 Color Theme Editor does absolutely no good. You can save a theme, but still not access it from tools-options. – Jack Fox Mar 21 '13 at 02:06