Implementation Strategies
Visual Studio 2008 supports a rich object model that you can extend with automation add-ins, macros, VSPackages, or a combination of the three. Generally, add-ins and macros are easier to develop, but are less powerful, than VSPackages. Add-ins can call Visual Studio 2008 extensibility interfaces, and Visual Studio 2008 packages (VSPackages) can access the Visual Studio 2008 automation model. You can combine these two different approaches to create an effective solution.
VSPackages can be written in unmanaged or managed code. We recommend that you write new VSPackages in managed code by using the managed package framework (MPF). Almost anything that can be written in unmanaged code can be implemented more easily and securely in managed code. However, developers can expect legacy applications written in unmanaged code to continue to run in Visual Studio 2008.
The topics in the Visual Studio SDK documentation are presented in increasing order of power and complexity. Simple VSPackages can be implemented as tool windows or can send information to Visual Studio 2008's built-in UI elements, such as the status bar or output window. More complex applications can be written as Visual Studio 2008 hierarchies, such as the Visual Studio 2008 Server Explorer. Still more power can be obtained by implementing a project, editor, or designer. Visual C# and Visual Basic are themselves implemented as Visual Studio 2008 language projects.
Related Sections
Visual Studio SDK and Automation
Discusses using automation, VSPackages, or a combination to create Visual Studio 2008 extensibility applications.Visual Studio SDK and Managed Code
Compares the different ways to write a VSPackage in managed code.Visual Studio Integration Concepts
Discusses the basics of VSPackages and how to use a service.User Interfaces
Discusses common UI application elements in the Visual Studio SDK, such as the Status and Output windows.Hierarchies in Visual Studio
Gives an overview of Visual Studio 2008 hierarchies, which appear in the integrated development environment (IDE) as trees of nodes.Projects (Visual Studio SDK)
Provides an overview of project and solution classes.Language Services
Shows how to create language projects and editors.Visual Studio SDK Reference
Provides links to unmanaged reference topics.