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.
- 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.
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
- Managed Extensibility Framework Overview
Information about the Managed Extensibility Framework (MEF).
- Windows Presentation Foundation
Information about the Windows Presentation Foundation (WPF).