Language Server Protocol

E190930

The Language Server Protocol is an open standard that enables code editors and IDEs to provide language-specific features like autocompletion, go-to-definition, and refactoring through external language servers.

Try in SPARQL Jump to: Surface forms Statements Referenced by

All labels observed (1)

Label Occurrences
Language Server Protocol canonical 3

Statements (61)

Predicate Object
instanceOf communication protocol
open standard
abbreviation LSP
category developer tools standard
defines capabilities negotiation between client and server
initialization and shutdown procedures for language servers
lifecycle of text documents in the editor
set of JSON-RPC messages between client and server
designedFor integrating language-specific tooling into code editors and IDEs
developedBy Eclipse Che
surface form: Codenvy

Microsoft
Red Hat
documentation https://microsoft.github.io/language-server-protocol
enablesFeature code actions
code completion
code lens
diagnostics
document formatting
document symbols
find references
go to definition
hover information
range formatting
rename refactoring
semantic tokens
signature help
workspace symbols
firstIntroducedBy Visual Studio Code
surface form: Microsoft Visual Studio Code team
goal decouple language-specific tooling from editors and IDEs
reduce duplication of language support implementations across tools
governingBody Language Server Index Format and Protocol working group
hostedAt GitHub
license Creative Commons license
surface form: Creative Commons Attribution 4.0 International
relatedTo Debug Adapter Protocol
Language Server Index Format
repository https://github.com/microsoft/language-server-protocol
supportsConcept language clients
language servers
supportsLanguage C#
C++
Go
Java
JavaScript
Python
Rust
TypeScript programming language
surface form: TypeScript

many other programming languages
supportsTransport Transmission Control Protocol
surface form: TCP

WebSockets Standard
surface form: WebSocket

standard input and output
usedBy Atom
Eclipse IDE
Emacs family of editors
surface form: Emacs

IntelliJ-based IDEs via plugins
Neovim
Sublime Text
Theia
Vim
Visual Studio Code
usesEncoding UTF-8
usesTransport JSON-RPC

Referenced by (3)

Full triples — surface form annotated when it differs from this entity's canonical label.

Visual Studio Code supportsLanguageProtocol Language Server Protocol
OmniSharp implementsProtocol Language Server Protocol
clangd implementsProtocol Language Server Protocol