Implementation Strategies

You can extend Visual Studio with automation add-ins, VSPackages, Managed Extensibility Framework (MEF) component parts, or a combination of the three. Generally, add-ins are easier to develop, but are less powerful, than VSPackages or MEF component parts. Add-ins can call extensibility interfaces, and VSPackages and MEF component parts can access the Visual Studio automation model. You can combine several 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, legacy applications written in unmanaged code will continue to run in Visual Studio.

Simple extensions can add tool windows or send information to Visual Studio UI elements, such as the status bar or output window. More complex applications can be written as Visual Studio hierarchies, such as the Server Explorer. Still more power can be obtained by implementing a project, editor, or designer. For example, Visual C# and Visual Basic are themselves implemented as language services.

See Also

Other Resources

Getting Started with the Visual Studio SDK