Language Server Protocol (LSP) servers
The Language Server Protocol (LSP) is a standardized, open protocol (JSON-RPC) for communication between a code editor or IDE (client) and a language-specific process (server). It enables editors to provide rich language features like autocomplete, go-to-definition, and refactoring without…
Key facts
- First appeared
- 2016
- Category
- technology
- Problem solved
- LSP was created to solve the 'M x N' problem: the redundant effort required to implement rich language features (like code completion, diagnostics, refactoring) M times for M programming languages across N different code editors or IDEs. Before LSP, each editor had to build its own language understanding for every language it supported, leading to duplicated work, inconsistent quality, and a high barrier to entry for both new editors and new languages.
- Platforms
- macOS, Windows, Web (via web-based editors like VS Code for Web, Gitpod, Codespaces), Linux
Related technologies
Notable users
- Red Hat (Eclipse Che, Theia)
- Google (for Go language tooling)
- GitHub (Codespaces)
- Many editor/IDE developers who integrate LSP clients
- Various open-source language communities (Rust, Python, Java, etc.)
- Microsoft (Visual Studio Code)