Protocol Implementations

Erich Gamma edited this page Feb 3, 2017 · 51 revisions
Clone this wiki locally

(for additions to this table, please comment in #8)

Language Servers

They are listed in chronological order of appearance.

Language Maintainer Repository
PowerShell MS VS Code PowerShell extension
C++ MS VS Code C++ extension
C# OmniSharp Many integrations, repository
JSON MS Bundled with VS Code
CSS/LESS/SASS MS Bundled with VS Code
Xtext language framework Eclipse Eclipse Xtext
Crane PHP HvyIndustries VS Code Extension
PHP Felix Becker php-language-server
Haxe Dan Korostelev (@nadako) VS Code Haxe extension
Java (javac) @georgewfraser Javac based Java support
RAML RAML Workgroup raml-language-server Work in Progress
API Elements Vincenzo Chianese(@XVincentX) vscode-apielements
groovy Palantir groovy-language-server
Java (Eclipse) Eclipse, RedHat java-language-server, becoming Eclipse JDTLS
OCaml/Reason freebroccolo ocaml-language-server
Go Sourcegraph sourcegraph-go
Rust Jonathan Turner rustls
Scala Iulian Dragos dragos-vscode-scala
Polymer Polymer Team polymer-editor-service
Julia Contributors Julia language server
Python Palantir Technologies python-language-server
Isabelle Makarius Wenzel sources
GraphQL GraphQL community Server in GraphQL

Editors, IDEs supporting the Protocol

The following editors/IDEs support the language protocol:

Editor/IDE Maintainer
VS Code MS vscode
Eclipse Che Eclipse,Codenvy/TypeFox Che
Eclipse IDE Eclipse,Red Hat Eclipse community, Eclipse LSP4E
emacs Vibhav Pant emacs language server client
GNOME Builder language server client


An SDK/libraries support implementing the protocol in a particular language.

Language Maintainer
node.js MS vscode-languageserver-node
C# MS work in progress by David Wilson
Java Eclipse, TypeFox Eclipse LSP4J
Haxe @nadako language-server-protocol-haxe
PHP Felix Becker php-language-server
Rust Bruno Medeiros RustLSP
Haskell Alan Zimmerman Haskell-LSP