Extending the Editor
Visual Studio SDK
Extending the Editor

The Visual Studio code and text editor has been completely rewritten in managed code.

The design of the editor lets you extend many editor features without implementing a VSPackage. Instead, you can use the Managed Extensibility Framework (MEF). For example, if the only 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 implemented by using the Windows Presentation Framework (WPF). WPF provides a rich graphics library for flexible text formatting, and also visualizations such as graphics and animations.

If you have a VSPackage that you want to adapt to use this editor, you can use the adapters that are included in the Visual Studio SDK.

In This Section

Getting Started with Editor Extensions

Explains conceptually how to create an extension to the editor.

Using Editor Templates to Create Extensions

Explains how to use the editor extension templates to create an extension.

Inside the Editor

Describes the general structure of the editor, and lists some of its features.

Managed Extensibility Framework in the Editor

Explains how to use the Managed Extensibility Framework (MEF) with the editor.

Editor Extension Points

Lists the extension points of the editor. Extension points represent the editor features that can be extended.

Editor Imports

Lists the services that an extension can import.

Adapting Legacy Code to the New Editor

Explains different ways to adapt legacy code to extend the editor.

Migrating a Legacy Language Service

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.

Walkthrough: Creating a Margin Glyph

Shows how to add an icon to a margin.

Walkthrough: Highlighting Text

Shows how to use tags to highlight text.

Walkthrough: Outlining

Shows how to add outlining for specific kinds of braces.

Walkthrough: Displaying Matching Braces

Shows how to highlight matching braces.

Walkthrough: Displaying QuickInfo Tooltips

Shows how to display QuickInfo popups that describe different elements of the code (such as properties, methods, and events).

Walkthrough: Displaying Signature Help

Shows how to display signature help popups that give information about the number and types of parameters in a signature.

Walkthrough: Displaying Statement Completion

Show how to implement statement completion.

Walkthrough: Displaying SmartTags

Shows how to implement smart tags.

Walkthrough: Using a Shell Command with an Editor Extension

Shows how to associate a menu command in a VSPackage with a MEF component.

Walkthrough: Using a Shortcut Key with an Editor Extension

Shows how to associate a menu shortcut in a VSPackage with a MEF component.

Reference

The Visual Studio editor includes the following namespaces:

Microsoft.VisualStudio.Language.Intellisense

Microsoft.VisualStudio.Language.StandardClassification

Microsoft.VisualStudio.Text

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

Microsoft.VisualStudio.Text.Tagging

Microsoft.VisualStudio.Utilities

Related Sections

Managed Extensibility Framework Overview

Information about the Managed Extensibility Framework (MEF).

Windows Presentation Foundation

Information about the Windows Presentation Foundation (WPF).

© 2010 Microsoft Corporation. All rights reserved.   Terms of Use | Trademarks | Privacy Statement
Page view tracker
Rate the Lightweight library
x
Lightweight builds on ScriptFree (loband) by adding features you've requested: a SearchBox and default code language selection.
Do you like the SearchBox?
Do you like the tabbed code blocks?
How useful is this topic?
Tell us more.
Thanks
x
You're helping to improve MSDN Online.
Feedback
Switch View
Classic
Lightweight Beta
ScriptFree
Switch View