Updating VS2010 Extensions for Beta 2

Now that Visual Studio 2010 Beta 2 is out, I’ve spent some time updating the editor extensions I created for VS2010 using the new extensibility model so that they work with Beta 2. The changes needed haven’t been very extensive, but they were not obvious at first.

Here’s a list of the most important changes that were required:

  1. The IEnvironment interface is gone, and this affected a few signatures of methods in the extensibility interfaces.
  2. The [VsCatalogName] attribute is also gone, and needed to be removed from the assembly.
  3. The *.vsixmanifest file now needs to be always named source.extension.vsixmanifest, and it needs to be added to your VS project with the action set to “None”. Otherwise, you will get a build error.
  4. The schema for the VSIX manifest file has changed, so I had to update it by hand. Most changes aren’t too big, mostly the case of elements and attributes. I did get stuck a bit here after incorrectly changing my <Components/> section, but @noahsmark helped me get it resolved. Thanks!

Other than this, the process has been mostly straightforward.

You can get the updated code for my KeywordClassifier extension from the GitHub repository. Here’s a screenshot of how it looks like in the new beta:


I’ve also updated the code of my LineAdornments extension, and the updated code is in the GitHub repository as well. Unfortunately, I seem to have hit an issue with this one that I haven’t managed to resolve successfully yet, which I’ll mention on another post.


  1. does not work on beta2 ..?
    => The project type is not supported by this installation.

    (VS2010 v.10.0.21006.1 B2Rel)

  2. @Thomas: Like with beta 1, you need the VS2010 SDK to be able to build extensions. Should be available already as well (I know it’s in MSDN ’cause that’s where I got it from)

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>