How to use old color themes in Visual Studio 2015 ♪ I see a red door and I want it painted black ♫

With the release of Visual Studio 2015, I tried to import the color themes I used previously in VS 2013. To my surprise, they didn’t work correctly. After trying several themes available at Studio Styles, I realized that something changed in the latest incarnation of Microsoft’s IDE in the way it handled color (or named its attributes).

After doing some research over the internet, I found no mention to the problem. The available color themes at Studio Styles were up-to-date but apparently still weren’t 100% compatible and no one had new versions created specifically for this. What I did found was an extension for Visual Studio 2015 called Color Theme Editor.

That extension is a revamped and expanded alternative to customizing the editor via Tools > Options > Fonts and Colors. It has a (big) list of possible attributes with their associated color and a preview of how it looks like. It also features a Search box, which can be used to filter said list either by attribute name or even a specific color.

The tool works great until it doesn’t. The search box can become unstable from time to time (especially when searching for colors, from what I’ve tested) crashing the program in the process; also, there’s no guide whatsoever (beyond the name) on what each attributes represents. Luckily, each Visual Styles page contains examples of how code might look like with a particular theme and hovering on the different symbols revealed its corresponding attribute name. It wasn’t until a couple of days later that I found an article by Microsoft, titled Fonts and Colors, Environment, Options Dialog Box, that helped me understand better what most attributes represented.

While color themes for Visual Studio 2013 aren’t completely compatible with 2015, most of the colors are imported correctly, meaning that the heavy work was already done when I imported them. Some user types, however, were kept being displayed using VS’s default color scheme and not the color specified in the theme file.

Imported color themes have wrong colors
Wrong color for C# classes

Updating a VS2013 theme

The procedure to create a valid theme for VS2015, starting from an existing theme from VS2013, is the following:

  1. Download the desired theme from Visual Styles. Say, Son of Obsidian.
  2. It’s recommended to have any visual settings in Visual Studio set to their default. This can be accomplished by selecting Tools > Import and Export Settings > Reset all settings. Backing up the current settings is optional.
  3. Install the Color Theme Editor extension and open it via Tools > Customize Colors.
  4. Such editor already comes with several pre-installed themes. Pick one from your choice, the closer to the desired theme as possible, by clicking on the little icon on its corner, which reads Create Copy of Theme and resembles a paint palette.
  5. Assign a name to the new templateSon of Obsidian 2015, for example. Beware, this is the only point where names can be set; otherwise they can’t be modified. A workaround would be creating a copy of the theme, setting the new name and deleting the original theme.
  6. Activate the new theme by clicking on it.
  7. Use the aforementioned option (step #2), Import and Export Settings, to import the original color theme downloaded on Step 1.
  8. To modify the new theme, hover on its corner and click the second button (the paint palette with the pencil).
  9. The Color Theme editor has two possible modes, common elements and all elements, which is confusing as the so-called common elements are the attributes related to the IDE itself (and not the text content from open files). Select the Show All Elements button on the editor’s toolbar (the one with two columns).
  10. We need to import the options of the original theme. Click in the paint palette with the right arrow, the last element at the editor’s toolbar. Hopefully, the only colors that need to be updated (as far as I know) are the ones related to the User Types (e.g. classes, delegates, structures, etc. in C#). Their hex value should read FF4EC9B0, in case you’re used VS2015’s Dark theme as the base.
  11. The tricky and most tedious part of this process is selecting the new color. Opening the original theme’s file with a text editor and using the values presented there doesn’t seem to work. The solution, while inelegant, gets the job done: double-click on the desired color to change and use the provided color picker to snatch the desired color from the original theme’s website. It’s recommended to zoom-in as much as possible to be able to grab the correct color and not an in-between, result of text antialiasing.
  12. Repeat the process until done. The editor supports copy-paste shortcuts, as well as multiple attributes selection, making it easier than picking the same color every single time.
  13. When finished, click the second item in the toolbox (the check mark) to save changes and re-load the color theme to the IDE.
  14. Optionally, to export, click on the third icon (the paint palette with the right arrow).
Son of Obsidian's color theme
Son of Obsidian for Visual Studio 2015

Creating themes for Visual Studio can be tedious, it would be great if the editor provided some kind of wizard or step-by-step, guided tour.

Nevertheless, here are four color themes compatible with Visual Studio 2015:

They should work great for C# but may have wrong colors for other stuff (like C++); any discrepancies, please report them below in the comments.

20 thoughts on “How to use old color themes in Visual Studio 2015 ♪ I see a red door and I want it painted black ♫

  1. I would love to use the Sone of Obsidian theme but I can’t find any download links, only images. Could you provide the vssettings files?

  2. Great theme !! Thanks !! Only thing is, I can’t see text in the design view window. I changed colors and fonts to all white or all black but I can’t see the text, the checker box is no use either and looks awful. How do I change the text color?

    1. Hi, thanks for passing by!

      Unfortunately, I don’t work with the design view windows. The themes linked I provided are incomplete as I only updated them for C# (and some things from C++). Probably the names of the fields required by design view have a particular name (other than havinf “Design” or “View” as part of it). Once you find the associated names, you can follow the guide and update the themes without a hassle.

      Good luck, let me know if you manage to fix it!

  3. Dude, you rock. I was puzzled by this till I found your thoughts on this, and your work to make some great themes available. Thanks!

    1. Hi, thanks for you feedback.

      I only updated the themes to account for most C# and C++ options; they’re still incomplete as I don’t work with web development and cases like the .cshtml were beyond the scope of what I did to them.
      If you want to update the themes, you just need to find what attributes are related to web development and follow this tutorial. It’s sad Microsoft doesn’t provide enough documentation on this topic :/

  4. There’s something wrong when I try it. I’m running Visual Studio 2015 Update 1.

    I think Step 7 fails. When I try to import a theme, it asks me if I want to save my settings. No matter what I choose before I press Next, the dialog window closes. Nothing else happens. I’m not given a chance to import anything.

    Is there an alternate way of importing themes?

    1. Hi! I also have Update 1 but don’t experience what you describe; I tried to look for an alternate way to import settings but haven’t found one yet.

      Maybe you have the same problem as the one specified in this article: How to fix Visual Studio Import and Export Settings Dialog when it disappears or crashes when trying to import or export settings. It’s for an older version of VisualStudio (the article is from 2012) but it might be the answer you seek.

      I hope it’s useful, good luck!

  5. Christian Chomiak, can you upload somewhere your version of Son of Obsidian theme?
    I used that one from link at the end of this article but it looks completely different on my computer :(
    I mean nothing looks like on your screen…

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.