Developing a Legacy Language Service

Note

This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

This section links to topics that help you create a legacy language service.

Legacy language services are implemented as part of a VSPackage, but the newer way to implement language service features is to use MEF extensions. To find out more about the new way to implement a language service, see Editor and Language Service Extensions.

Note

We recommend that you begin to use the new editor API as soon as possible. This will improve the performance of your language service and let you take advantage of new editor features.

In This Section

Model of a Legacy Language Service
Provides a model of a minimal language service for the Visual Studio core editor. You can use this model as a guide for creating your own language service.

Legacy Language Service Interfaces
Discusses the objects required to implement a language service and provides a listing of additional objects that you can use to provide syntax highlighting, method data, and other features.

Intercepting Legacy Language Service Commands
Describes how to insert a command filter into your language service to intercept commands that the text view would otherwise handle.

Registering a Legacy Language Service
Provides information about how to register your language service by using Visual Studio.

Language Service Support for Debugging
Describes how a language service can provide features to support a debugger.

Checklist: Creating a Legacy Language Service
Provides step-by-step instructions for creating and integrating a language service for the core editor.

Syntax Coloring in a Legacy Language Service
Discusses how to implement syntax highlighting in your language service.

Statement Completion in a Legacy Language Service
Discusses statement completion, the process by which a language service helps users finish a language keyword or element that they have started typing.

Parameter Info in a Legacy Language Service
Describes how to provide method tips for overloaded functions and methods.

How to: Provide Hidden Text Support in a Legacy Language Service
Explains the purpose of a hidden text region and provides instructions about how to implement a hidden text region.

How to: Provide Expanded Outlining Support in a Legacy Language Service
Explains the two options that extend outlining support for your language beyond supporting the Collapse to Definitions command.