One of the quotes I picked up on from this recent article on eWeek was "...Microsoft is really putting lots of effort into making Visual Studio .Net a third-party platform..." This is certainly true and I think a platform is really the right way to think about extensibility for Visual Studio. There are a lot of parallels you can think of between VS and an OS like Windows. For example:
- VS Macros ~ VBScript
- VS Add-ins ~ Powertoys for Windows, 3rd-party OS components (e.g. custom control panels)
- VS Packages ~ Native Programs
- VS Packages w/VSIP Helper classes ~ .NET assemblies running on the CLR
This is the overall vision that we have for Visual Studio going forward. With this model in mind, you can think of the current COM-based VSIP interfaces as being parallel to the Win32 API and the Helper classes (called the “Managed Package Framework” in Whidbey) as being parallel to the .NET Framework on Windows.