Extending the Visual Studio 2010 Editor: not exactly a good first impression

I know this is the Visual Studio 2010 *CTP* meaning it's a very early release but still I feel quite a bit disappointed about the experience for developing extensions for the new editor.

While other features of Visual Studio 2010 are not mentioned nor supported at all in this CTP, the editor includes several walkthroughs on how to extend it and as I've found here, there is a custom VS SDK build custom made to support editor extensions scenarios. Also, the editor has its own forum for feedback.

With all this you would believe that there is a lot of interest from MS on gathering feedback and letting people trying out the new editor bits. And I do believe they sincerely meant this, but... the current experience is really UGLY.

The current CTP suffers from two major issues: 1) if you copy an extension while VS is running, VS will crash and 2) there is no such a thing as an "Experimental Hive" for the "Components" folder (this is where you copy extensions) meaning all files in there will get loaded up and thus locked by VS, so everytime you need to copy a new version (which is basically everytime you compile) you need to shutdown VS, overwrite the files and restart VS.

This is how the current development workflow for writing extensions looks like:

1) Write code, compile code
2) Shutdown VS
3) Copy DLLs to "Components" folder
4) Restart VS, try out the extension
5) Shutdown VS
6) Delete DLLs from "Components" folder
7) Change 1 line of code? Go back to 1) and repeat all over again...

As you can notice the above includes shutting down VS twice in order to try out even the very smallest changes...

Writing VS extensions (in VS 2008 and earlier) is already very-very hard so what one would expect in VS 2010 is nothing but stuff that simplifies this, and I'm betting the new managed editor APIs will help in this regard, so it's a real pity this "restart-VS-twice-for-every-compilation" wasn't fixed before the CTP went out...

I'm wishing this gets fixed in the next drop that is made available.

1 Comment

  • I could imagine that a registry entry in the Visual Studio registry tree contains a link to the "Components" folder, search for it in the registry. If this is the case, make a folder "ComponentsExp", copy over the original components from "Components" (if not empty). Now change the registry entry in the expirimental Visual Studio registry tree to the new location. No idea if this works, but if it does it solves your problem. Let us know!

Comments have been disabled for this content.