Visual Studio 2017 High Contrast Theme Dark Registry Hack (Updated)
I run a high contrast Windows theme because I have crappy eyesight. I also program for a living and use Microsoft Visual Studio. Visual Studio has a rather lovely “Dark” theme that suits my tired old eyes very well. Unfortunately, Microsoft won’t let me use their nice “Dark” theme, because someone at Microsoft thinks they know what I want, better than I know myself. Instead, Microsoft forces Visual Studio to use their special “High Contrast” theme. The theme dropdown in the options is disabled and font/color styling is limited to a handful of colors.
So what’s the problem with that, you ask? I mean,I’m happy to use the high contrast theme elsewhere in Windows, so what’s the big deal? For starters, their “High Contrast” theme is terrible. There is no syntax coloring or styling. It is plain, white text on a black background. It is a goddamn travesty. But the thing that bugs me most is, someone made a decision to take this choice away from me, making my work harder, and forcing me to endure a sub-optimal experience, reserved only for visually impaired users. Bravo Microsoft. Your good intentions kinda suck.
It’s not just me. Lots of people have the same problem, and not just VI users either. Here’s Microsoft’s official stance on this long existing problem..
Thank you for your feedback! The Visual Studio team has determined that this issue will not be addressed in the upcoming release. We understand the desire to have VS use a different theme from the system. To support customers who rely on high contrast and give them a single experience, we believe the the accessibility for visual Studio is paramount in this instance. We will continue to evaluate it for future releases. Thank you for helping us build a better Visual Studio!
So basically they’re saying “tough shit”.
So what is a programmer to do? Well there is a registry hack that I’ve used for a few generations of Visual Studio (like I said this is not a new issue). The hack essentially overwrites the crap “High Contrast” theme with the lovely “Dark” theme in the registry.
UPDATED – Confirmed working on VS 2019 Community and others..
Simplified instructions (old instructions below)
- Close Visual Studio (if open).
- Press Windows + R, and type regedit in the text box and click OK. This will run RegEdit!
- Click on HKEY_USERS, and select File -> Load Hive.
- Navigate to this location; C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\16.0_????????
- Select “privateregistry.bin”, and give the new Hive a nice name, like “VS2018PrivateRegistry” (without quotes).
- You will now see the loaded Hive under HKEY_USERS node, and you can navigate to the key here; HKEY_USERS\VS2019PrivateRegistry\Software\Microsoft\VisualStudio\16.0_????????_Config\Themes\
- Right click and export this key; HKEY_USERS\VS2019PrivateRegistry\Software\Microsoft\VisualStudio\16.0_????????_Config\Themes\{1ded0138-47ce-435e-84ef-9ec1f439b749}
- Open the new, exported .reg file in your favorite text editor.
- Find and replace the GUID of the “Dark” theme, with the GUID of the “High Contrast” theme. Find: ({1ded0138-47ce-435e-84ef-9ec1f439b749}) and Replace with: ({a5c004b4-2d4b-494e-bf01-45fc492522c7})
- Save the edited .reg file and double click it to import back into the registry.
- Unload the Hive; File -> Unload Hive. Important otherwise VS won’t run.
- Fire up Visual Studio and you should now have the Dark Theme activated. Note: The theme selector in preference will still be disabled.
————————————————
- 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)
- 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}):
- Import the reg file
This worked like a charm up until Visual Studio 2017, but they have moved the config settings out of the registry and into %AppData%. The config is stored in a private registry that can be loaded and edited in RegEdit. The themes are stored in the private registry and can be edited the same way as the old, working hack.
https://stackoverflow.com/questions/41119996/where-does-visual-studio-2017-rc-store-its-config
Fortunately, you can use regedit.exe to load a private hive. You need to select the HKEY_USERS node, and click the File > Load Hive… menu. You select the privateregistry.bin file [Editors note: located in; C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\15.0_????????\] , give a name to the hive (I entered “VS2017PrivateRegistry”) and now you can see the 15.0_Config key populated as usual.
Once you have the Hive loaded into RegEdit, you can navigate to the key here;
HKEY_USERS\VS2017PrivateRegistry\Software\Microsoft\VisualStudio\15.0_????????_Config\Themes\
Now the hack would be..
- Export te “Dark” theme registry key: HKEY_USERS\VS2017PrivateRegistry\Software\Microsoft\VisualStudio\15.0_????????_Config\Themes\{1ded0138-47ce-435e-84ef-9ec1f439b749}
- 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})
- Import the reg file
Note: Be sure to UNLOAD the Hive once you’ve applied the registry hack. Otherwise, Visual Studio wont run.
Meanwhile, Microsoft continues to see this as a non-issue.
Category: Programming, VI / Blind
Hi Chris!,
Thank you for the info.
Based on it I’ve written a little tool that does it for you. Please check it and let me know what you think: https://randomshaper.blogspot.com/2017/06/visual-studio-2017-high-contrast-hack.html
Thanks you for the acticle. I’m like you and use high contrast for my computer and hate the visual studio 2017 High Contrast theme. I tried your hack and it did not work. Any ideas?
HI!
I had to do similar actions for one more folder since I have two folders:
…\AppData\Local\Microsoft\VisualStudio\15.0_77af7ae9
…\AppData\Local\Microsoft\VisualStudio\15.0_77af7ae9Exp
Both folders contain privateregistry.bin
Without that VS gets restarted and overrides everything back.
Thank you! This was very helpful. You brought the syntax highlighting back.
This worked like a charm for my VS2017 and it’s such a simple little edit to the registry too! Thanks for this information.
Dude, you’re a genius. I have cateracts that were steady state for years and all of a sudden went to pot. I’ve been doing all kinds of experiments to get something I can read while I wait for surgery, and this worked perfectly. Thanks tons.
Awesome! I was hoping there was a registry hack when in high contrast mode! Thank you for posting! Hopefully one day they’ll apply an update to leave the theme unlocked.