Click here to Skip to main content
15,867,568 members
Articles / UI
Tip/Trick

Modified VS 2012 Theme - Cool Blue

Rate me:
Please Sign up or sign in to vote.
4.39/5 (8 votes)
6 Sep 2012CPOL4 min read 89.6K   6K   10   23
Modifed theme color settings for Visual Studio 2012.

Introduction

Due to Microsoft's flagrant disregard for the thousands of developers who have voiced their utter dislike for the new theme colors used in Visual Studio 2012, it was necessary to create a custom theme in order to even consider using the new IDE. Included in this article are an outline of the key changes made to the VS 2012 UI, the tools used, and a little background on why this was necessary. I've included some files & links to make it easy for everyone to do for themselves what Microsoft should have done in the first place: Create a clean, colorful, user-friendly interface.

Background

Microsoft blatantly ignored the number one complaint amongst developers who tested the Beta & Release Candidate versions of Visual Studio 2012: The horrific choice of colors used in its 'Light' and 'Dark' color themes, as well as the switch to monotone icons. Even a cursory review of the thousands of comments reveals the new theme colors & icons result in a significant decline in developer productivity and desire to use the new UI. Some comments even indicate that the dismal colors may lead to thoughts of suicide. Although Microsoft did add back a miniscule amount of color in a few areas of the final product, the software giant clearly disregarded the majority of developers who flat out hate what its design team did to Visual Studio.

Obviously, it is a very unfortunate decision on the part of Microsoft and the Visual Studio design team not to listen to those of us who tried our best to voice our dislike for the new UI. I have already read numerous posts by developers who are either considering adopting a new IDE, or are simply not upgrading to VS 2012 until Microsoft fixes the problem.

I personally considered not purchasing VS 2012. However, there are a few compelling additions to the .NET Framework 4.5 I would like to take advantage of. As such, I took it upon myself to come up with a cleaner and more user-friendly color theme.

The New 'Cool Blue' Theme

As a fan of both the VS 2010 color scheme, as well as the Microsoft Office 2010 Blue theme, I decided to base my VS 2012 Cool Blue theme on those. Below is a screen shot that captures most of the key color elements.

Obviously, we all have differing ideas on what works best for us. It doesn't matter to me if you want to use this theme as-is or modify it to suit your own tastes. In fact, I’d love to see more user-designed themes pop up; I know we can do a better job than Microsoft! I will note that this was just a quick-and-dirty run through of re-coloring the UI. I tried to make things pop, ease eyestrain, create some much-needed differentiation between the different areas of the UI, etc... And of course, hopefully keep a few of my peers from slitting their wrists.

Screen Shot

Change Notes, Links, and Files

The first key change I made was to tweak the Registry entry to eliminate the ALL CAPS menus. WHAT was Microsoft thinking when they did that?! Here's a link to Richard Banks' article that covers this easy fix.

To modify the UI colors, I used Brian Chavez's Visual Studio 2012 Theme Editor. As he notes, this is a very basic, though functional, program. I began with the 'Light' theme, and modified it to get what I wanted.

One of the key problems I ran into was trying to figure out what properties (Theme Records) affected what parts of the UI. To help with this, I dumped all of the values to an Excel spreadsheet. I've included this spreadsheet, which shows the original color values of the 'Light' theme and notes my changes.

To make things easier, I did sort each of the theme Categories alphabetically. To get the Theme Records listing to match, just add a simple sorter to the ThemeReader class:

C#
private class ColorRecordSorter : IComparer<ColorRecord>
{
    public int Compare(ColorRecord x, ColorRecord y)
    {
      
        return (x.Name.CompareTo(y.Name));
    }
}

Then, within the UnpackColorCategory method, add this line before returning the Category:

C#
category.ColorRecords.Sort(new ColorRecordSorter());

I've included the modified Registry Editor (.reg) file and the Excel spreadsheet with my notes in the attached .ZIP file.

Good luck and happy coding!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralMy vote of 4 Pin
Chelo19746-Sep-12 15:37
Chelo19746-Sep-12 15:37 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.