Automation model documentation for Visual Studio 2008 available

Just in case you haven’t notice it yet, there is documentation available about the new automation assemblies specific to Visual Studio 2008, such as EnvDTE90 or VSLangProj90:

http://msdn2.microsoft.com/en-us/library/1xt0ezx9(VS.90).aspx

No much new automation for add-ins or macros in Visual Studio 2008, I think. It seems that the Visual Studio team is much more focused on the Visual Studio SDK and the automation model is quite forgotten which it is a pity, because it is by far the easiest and cleanest way of extending Visual Studio, and for most people approaching the Visual Studio extensibility is the way to go. Packages are much more complex and overkill for most purposes and their history is not the best: unmanaged COM-based interfaces, Interop assemblies, Managed Package Framework, etc. which seem patch after patch…

There is still a lot of room for improvement in the automation model such as:

  • Providing mandatory automation model support in all Visual Studio projects, such as setup projects and others. New VSTS database projects support automation, but that was not the case in VS.NET 2002/2003 database projects.
  • Providing better source code control support.
  • Providing better commandbar support, for example to create dropdown menus with image, such as the Add New Item button on the Standard toolbar.
  • Providing better text editing capabilities, such as markers, colorizers, etc.

In general, for each interface of the SDK there should be an automation model where applicable. I know that you can call the interfaces of the SDK from an add-in, and I have written several articles about that in the past, but it is quite painful to read the SDK docs to figure out how things work or how to call them. For the most part, Reflector for .NET is the best tool to understand things if you are lucky enough to be calling a managed Visual Studio package…