Visual Studio 2008 (Orcas) handles some of the Font and Colors settings differently from VS2005. While Orcas can import .vssettings files generated its predecessor, there are a couple of problems:

  1. Custom colors for User Types and C# @"" strings don't get imported. This is because the name of the settings in the exported files changed between versions. For example, the setting for Delegates was named "User Types (Delegates)", but it is now called "User Types(Delegates)" (notice the missing space!).
  2. Visual Studio 2008 introduces a whole new set of settings for XAML. This seems like a pretty needless thing to me, because all but three of the new XAML settings have direct counterparts in the XML color settings (only those dealings with XAML markup extensions are really new).

As I had spent quite a bit of time creating the several Visual Studio 2005 Color Schemes that I've made available here, I had no desire to spent a lot of time porting them and fixing the problems mentioned above.

Instead, I spent half an hour creating a simple XSLT that you can run on a .vssettings file exported by VS2005 and generate a new one with the above problems fixed. For the XAML settings, the XSLT will copy the corresponding XML options and for the three new settings (XAML Markup Extension Class, XAML Markup Extension Parameter Name, and XAML Markup Extension Parameter Value) it gives them "reasonable" values from other options.

Download PortVSSettings.xslt.

Update: To run the XSLT without writing any code, you can open it up in Visual Studio and use the XML -> Debug XSLT option. Then, choose your .vssettings file as the input and you're done! (thanks to Brad Wilson for reminding me about it!)

Note: The template will only likely work with fairly complete customizations. This is because of the way the Visual Studio Import/Exports Settings tool works: It won't export any color options that have the "default" color.

Because of this, if have customized Visual Studio but some of the colors the XSLT looks for are missing because you left in the default value, it will not do the trick.


Tomas Restrepo

Software developer located in Colombia.