I’ve been noticing some oddities in how Visual Studio 2010 RC handles Custom ClassificationFormatDefinitions when multiple extensions are interacting together. It it hasn’t been fixed already, then I guess it’s already too late for it to matter, but I still wanted to bring it up just to know if it’s just me that’s been noticing this.
As some readers are aware, I’ve written a couple of VS2010 extensions for myself which I always install as soon as I setup a new VS2010 installation, and so far I’ve been very happy with the results and VS2010 extensibility in general. Both of these extensions define custom ClassificationFormatDefinition, whose format I then tweak on my current VS color scheme.
And this generally works great. That is, until I install another extension created by someone else. The first time I noticed this was when I installed the Visual Studio Color Theme Editor extension by Matthew Johnson. Everything worked fine, except that after using it a bit I realized that every time I changed the color theme for the whole IDE using Matthew’s extension, my custom ClassificationFormatDefinitions would revert back to the default formats specified in the original definitions in code, instead of the values I had assigned to them in my customized VS color scheme.
Re-importing the .vssettings file with my saved VS color scheme would get colors and formats right again, so, to be honest, I didn’t give it much thought at the moment.
Yesterday, however, I ran into this again while trying VsVim by Jared Parsons. As soon as I fired up VS2010 after installing VsVim, I noticed that custom formats for my own definitions reverted once again to the default values. I ran into a couple of issues with VsVim so decided to disable it for now while until I had time to look into it closer and imagine my surprise when right after restarting VS2010 my customized format definitions came up right away instead of the default values!
So my impression is that something (but not sure what) causes VS to ignore customized custom definition formats configuration (confusing, I know, sorry) when multiple VS extensions are running. Has anyone else run into this before?