integrating-language-servers

Connect Visual Studio extensions to an external LSP language server.

14|2|Updated Mar 24, 2026
One-click install
npx skills add https://github.com/madskristensen/vs-agent-plugins --skill integrating-language-servers
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: integrating-language-servers
Source: https://github.com/madskristensen/vs-agent-plugins/tree/main/skills/integrating-language-servers
Command: npx skills add https://github.com/madskristensen/vs-agent-plugins --skill integrating-language-servers

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Connects Visual Studio extensions to an external Language Server Protocol (LSP) server to provide rich language features such as IntelliSense, diagnostics, and navigation for new languages.

Core Features & Use Cases

  • Establishes LSP-based communication between Visual Studio extensions and a language server (out-of-process with VisualStudio.Extensibility or in-process with VSSDK/VSIX).
  • Supports defining custom document types, launching and wiring language servers, and handling initialization.
  • Use Case: Add complete language support to a VS extension for a brand-new language, enabling editor features in all three extensibility models.

Quick Start

Start the language server and wire it to your extension using ILanguageClient or LanguageServerProvider.

Frequently Asked Questions about integrating-language-servers

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add Language Server Protocol support to a Visual Studio extension?

To add Language Server Protocol support to a Visual Studio extension, you connect it to an external language server using ILanguageClient or LanguageServerProvider. This enables rich language features like IntelliSense, diagnostics, and navigation for new languages.

What is the best way to enable IntelliSense for a custom language in Visual Studio?

The best way to enable IntelliSense for a custom language in Visual Studio is by connecting your extension to an external Language Server Protocol server. This integration provides rich language features including diagnostics and code navigation.

Can I use an LSP client with the VisualStudio.Extensibility model?

Yes, you can use an LSP client with the VisualStudio.Extensibility model. LSP support works across three extensibility models: VisualStudio.Extensibility for out-of-process communication, and VSIX Community Toolkit or VSSDK for in-process communication.

How do I define custom document types for a language server in Visual Studio?

To define custom document types for a language server in Visual Studio, you configure content types and register MEF or VSIX assets within your extension. This setup ensures the language server correctly handles your specific file formats and grammars.

Do I need to bundle language server binaries in my VSIX extension?

You can optionally bundle language server binaries in your VSIX extension. Bundling the server binaries, grammars, and configuration ensures the language server is immediately available and properly configured upon extension installation.