Color Schemes in SQL 2005 Management Studio

As many of you know, I spend time every now and then coming up with new color schemes for Visual Studio 2005. It's fun, and having a good color scheme can make all the difference in the world to your eyes when spending long times in front of your screen writing code.

I use dark backgrounds, so it was always painful to switch to SQL Server 2005 Management Studio to write SQL code, because I had not configured a custom color scheme there. I also didn't want to have to spend more time doing so, particularly since Management Studio has no Import/Export Settings wizard.

Enter VSColorsToSql

This is a simple utility I wrote last night that will port your current VS2005 Fonts And Colors Settings (just for the code editor, mind you) to Management Studio. It's nothing fancy, so all it does is copy some registry settings around. Here's my current scheme:

SqlColors

It does make some assumptions and and a few changes: Turns out the SQL and XML editors in VS use different settings than the corresponding ones in Management Studio! Hopefully, the mappings I selected will give you something usable as well.

Just to be on the safe side, you can export your existing Management Studio settings by backing up this registry key:

HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\90\
Tools\Shell\FontAndColors\{A27B4E24-A735-4D1D-B8E7-9716E1E3D8E0}

You can download the code from here.

kick it on DotNetKicks.com

47 Comments

  1. Pradeep K.

    Took me some time to convert this to VB .Net, and figure out a way to make it work between VS 2008 and SSMS 2008… But it was well worth it! Many thanks.

  2. Simon Morley

    Just change the registry values to the following for Visual Studio 2008 -> SSMS 2008

    SRC_KEY = @”Software\Microsoft\VisualStudio\9.0\FontAndColors\{A27B4E24-A735-4D1D-B8E7-9716E1E3D8E0}”;

    DST_KEY = @”Software\Microsoft\Microsoft SQL Server\100\Tools\Shell\FontAndColors\{A27B4E24-A735-4D1D-B8E7-9716E1E3D8E0}”;

    Thanks to Tomas for this handy tool!

  3. Pingback: TextMate theme for SSMS 2005/2008 - blah blah blah

  4. Stu

    Hey Tomas

    I’ve been using one of your dark themes (Ragnarok Grey) with VS2008 for a while and I love it. I’m looking to use this in SSMS2008 too but I’m struggling to find by reg key to back it up. You might say that if I don’t even know where to find this I really shouldn’t be messing about with it, but I’m dying to bring SSMS to the dark side!

  5. Stu

    @Tomas – I saw that, sorry my question wasn’t clear. The part I’m having difficulty with is backing up my existing registry key in case of catastrophe! Should I modify the code to do this before the settings are transferred over or is there a way of doing this through Windows explorer?

  6. Stu

    @Tomas

    Sorry – I’ve done some googling as I should have in the first place and found some regedit docs… I’ll figure it out. Thanks a lot!

  7. Pingback: Mareo Code » List of freeware goodies for C# developer – tools, libraries, visualizers, controls etc. for free

  8. Jeff S

    This worked fine with Visual Studio 2010 as well. Just change Simon’s suggestion from above:

    Just change the registry values to the following for Visual Studio 2010 -> SSMS 2008

    SRC_KEY = @”Software\Microsoft\VisualStudio\10.0\FontAndColors\{A27B4E24-A735-4D1D-B8E7-9716E1E3D8E0}”;

    DST_KEY = @”Software\Microsoft\Microsoft SQL Server\100\Tools\Shell\FontAndColors\{A27B4E24-A735-4D1D-B8E7-9716E1E3D8E0}”;

  9. Rodolfo

    What happens if im using windows 7 64bits (sql server 2005, visual studio 2008)
    do the keys referenced on the program change?

    thanks

  10. Tomas Restrepo

    @Rodolfo: They shouldn’t, I think, but not sure; I don’t usually run my main dev environment on x64. However, both VS and SQL management tools are 32-bit, so you’d likely be fine if you force the tool to run as a 32-bit process as well.

  11. Shardul

    This worked like a charm !
    Just the kind of stuff that makes me more productive while not being bothered by the unnecessary eye-strain.
    By the way, with a bit of tweak, I got my SSMS2008 to wear the Ragnarök Grey theme by borrowing it from VS2010. Pretty neat.

  12. Maverik Gately

    Thanks a lot for this utility.

    @Greg: use the Import/Export Settings from Tools menu in VS2010

    @Tomas Restrepo: The utility is doing the registry magic in HKEY_CURRENT_USER, so bitness of OS doesn’t matter :) Confirmed working on 64bit OS with VS2010-SSMS2008 (Thanks @Jeff S for saving me time to find the tweak myself :) ).

  13. Sekhar

    Thnaks alot for this tool

    It is working perfectly with VS2010 to SSMS 2008.

    Do you know any to way change the color settings for message window and result window in SSMS 2008 ?

  14. Pek

    Thanks! But for some reason the column names and the table names are not being coloured. I tried the son-of-obsidian_vs2008.vssettings which is the one I have in VS2008, but for some reason it does not make it completely. Have some run into this and knows have to solve it?
    Thanks!

  15. debuke

    i just lost my system (thx safeboot) and was restoring my colours… since the Oren Ellenbogen’s Dark Scheme links don’t work anymore, i found another good one (close to that one)… and it looks awesome in my sql ide… thx again!

  16. John DelNostro

    Any ideas on how to apply this to SSMS 2012? I’m not seeing the registry key. This color scheme is awesome would love to use it in 2012. Any ideas on the font, colors etc might have to manually edit it for the time being.

    Thanks!

  17. Tony Carolla

    Thanks for the utility! I am running Win7 with Microsoft SSMS 2008 R2, and Visual Studio 2010 Pro, and I had success by changing the two variables to:

    private const string SRC_KEY = @”Software\Microsoft\VisualStudio\10.0\FontAndColors\{A27B4E24-A735-4D1D-B8E7-9716E1E3D8E0}”;
    private const string DST_KEY = @”Software\Microsoft\Microsoft SQL Server\100\Tools\Shell\FontAndColors\{A27B4E24-A735-4D1D-B8E7-9716E1E3D8E0}”;

    Again, thanks much, this will make my forays into SQL easy on the peepers!

  18. John

    Doesn’t work with Visual Studio 2012, there is no Software\Microsoft\SQL Server Management Studio\11.0\FontAndColors\{A27B4E24-A735-4D1D-B8E7-9716E1E3D8E0}. The dark theme for Visual Studio 2012 is excellent as well

  19. Pingback: SQL Server Management Studio Color Schemes?

  20. patrick

    How to apply color theme to SSMS 2008. I do not have VS installed in the Laptop and I do not have admin rights so I cannot make changes to the registry. Please help and my eyes would appreciate very much. Thanks

  21. Bill

    Awesome! Thank you! I got it to work with VS 2012 to SSMS 2008 R2 by modifying the source code in the following manner:

    1 – Add a new private const string for the category the Plain Text registry values are in ‘private const string SRC_PT_KEY = @”Software\Microsoft\VisualStudio\11.0\FontAndColors\{58E96763-1D3B-4E05-B6BA-FF7115FD0B7B}”;’
    2 – Comment out old ‘ // hack: ‘ in CopyValue function that was for older VS.
    3 – Add new ‘_map’ key/value pair(s) for ‘Plain Text’ registry values.
    a – Plain Text Background, Plain Text FontFlags, Plain Text Foreground
    4 – Done! Run program!

  22. Bill

    I forgot to mention one more step after step 3 in my previous post. Add the following to the Copy method.

    RegistryKey PTsrc = Registry.CurrentUser.OpenSubKey(SRC_PT_KEY);

    // now copy plain text from seperate category (VS2012)
    foreach (KeyValuePair valname in _map)
    {
    if (valname.Key.StartsWith(“Plain Text”))
    {
    dst.SetValue(valname.Key, PTsrc.GetValue(valname.Key));
    }
    }

  23. KL

    Absolutely a wonderful tool. Ported SSMS 2008 R2 color scheme to SSMS 2012. It is an eye sore for me to look at the teal table/column color scheme in SSMS 2012, glad it is back to black color just like SSMS 2008. Thank you so much, I love everything about SSMS 2012 and almost abandon using it because I hate the query color scheme. Thanks again.

  24. Jeff

    Can someone explain step by step for a complete noob how to do this? I read this comment and found the registry file and dont undertand what in the world i am exactly needing to do. I want to Change SSMS 2008 to dark as its easier on my eyes.

    Just change the registry values to the following for Visual Studio 2008 -> SSMS 2008

    SRC_KEY = @”Software\Microsoft\VisualStudio\9.0\FontAndColors\{A27B4E24-A735-4D1D-B8E7-9716E1E3D8E0}”;

    DST_KEY = @”Software\Microsoft\Microsoft SQL Server\100\Tools\Shell\FontAndColors\{A27B4E24-A735-4D1D-B8E7-9716E1E3D8E0}”;

  25. Diego Galeano

    Hi
    Could someone please post the code to export VS2012 to SSMS 2008 ?
    or email it to me at diego.galeano at gmail ?
    I tried to follow Bill’s instructions and couldn’t make it work.
    Thanks in advance

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>