Extending the Editor
You can extend most features of the Visual Studio code editor by using the Managed Extensibility Framework (MEF) instead of implementing a VSPackage. For example, if the editor feature you want to extend is syntax coloring, you can write a MEF component part that defines the classifications for which you want different coloring and how you want them handled. The editor also supports multiple extensions of the same feature.
The editor presentation layer is based the Windows Presentation Framework (WPF). WPF provides a graphics library for flexible text formatting, and also provides visualizations such as graphics and animations.
The Visual Studio SDK provides adapters known as shims to support VSPackages that were written for earlier versions. Nevertheless, if you have an existing VSPackage, we recommend that you update it to the new technology to obtain better performance and reliability.
Related Topics
Title |
Description |
---|---|
Explains how to create an extension to the editor. |
|
Explains how to use the editor extension templates to create an extension. |
|
Describes the general structure of the editor, and lists some of its features. |
|
Explains how to use the Managed Extensibility Framework (MEF) with the editor. |
|
Lists the extension points of the editor. Extension points represent the editor features that can be extended. |
|
Lists the services that an extension can import. |
|
Explains different ways to adapt legacy code to extend the editor. |
|
Explains how to migrate a legacy language service. |
|
Walkthrough: Linking a Content Type to a File Name Extension |
Shows how to link a content type to a file name extension. |
Shows how to add an icon to a margin. |
|
Shows how to use tags to highlight text. |
|
Shows how to add outlining for specific kinds of braces. |
|
Shows how to highlight matching braces. |
|
Shows how to display QuickInfo popups that describe elements of code such as properties, methods, and events. |
|
Shows how to display popups that give information about the number and types of parameters in a signature. |
|
Shows how to implement statement completion. |
|
Shows how to implement code-snippet expansion. |
|
Shows how to implement smart tags. |
|
Shows how to associate a menu command in a VSPackage with a MEF component. |
|
Shows how to associate a menu shortcut in a VSPackage with a MEF component. |
|
Provides information about the Managed Extensibility Framework (MEF). |
|
Provides information about the Windows Presentation Foundation (WPF). |
Reference
The Visual Studio editor includes the following namespaces.
Microsoft.VisualStudio.Language.Intellisense
Microsoft.VisualStudio.Language.StandardClassification
Microsoft.VisualStudio.Text.Adornments
Microsoft.VisualStudio.Text.Classification
Microsoft.VisualStudio.Text.Differencing
Microsoft.VisualStudio.Text.Document
Microsoft.VisualStudio.Text.Editor
Microsoft.VisualStudio.Text.Editor.OptionsExtensionMethods
Microsoft.VisualStudio.Text.Formatting
Microsoft.VisualStudio.Text.IncrementalSearch
Microsoft.VisualStudio.Text.Operations
Microsoft.VisualStudio.Text.Outlining
Microsoft.VisualStudio.Text.Projection