The official source of product insight from the Visual Studio Engineering Team
With the release of Visual Studio 2010 came a major improvement to the overall extensibility story of Visual Studio; the new editor. With the new editor VS was introduced to a Managed Extensibility Framework (MEF) based API that opened up possibilities you could barely dream of in previous versions of VS. Inside of the editor you’re able to do nearly anything, from adding visualizations to using multiple fonts in the same file. For us, the extensibility we present with the editor is an important step forward, especially when you consider what people in the industry are starting to say about the future of software. As such, I want to ask you, our users/followers/critics, is extensibility the future? What do you think of the steps we’ve taken with the new MEF extensibility in the editor? How do you feel about the VSIX format? And lastly, where do you think we should go?
(Open threads are designed to be a discussion seeded by some little blurb, so comment away!)
Absolutely! A development tool is special in that aspect because users are usually capable of extending it themselves. I don't know about VS 2010 but the old VS API had a decent feature set, a little too "COM-plicated" to coin an expression :). One thing that I would personally like to see is support for code rewrite, perhaps something resembling the Common Compiler Infrastructure: this is in my opinion the area where extending VS could result in most improvement. Another good thing would be promoting reusability of existing Visual Studio functionality, for example possibility to embed intellisense into one's own designer component.
All projects need to avoid feature creep, but at the same time there's a need to make the application useful in many different scenarios. Add-ins address this problem by letting the project's developers focus on its core functionality, and then allowing users to tailor the application to their specific needs.
This has already been very successfully demonstrated in web browsers, where add-ins are the norm.
Where do we think you should go? We think you definitely should allow extensibility in Express editions of your IDE.
I think extensibility is a really good way to go.
Just look at the huge collection of extensions for Firefox, or Photoshop plugins.
But I would really like to see it going beyond the editor. For instance the Resource Editor (the native one, producing .rc) is completely closed. Does not even send document events at save/close/etc.