Language Server Protocol2017-09-26T07:46:56+01:00

The Language Server Protocol

The Language Server Protocol (LSP), defined by Microsoft as part of VS Code, is the new star in the developer tools landscape. It provides a generic set of methods to connect a code editor with a language server, providing rich features like content assist, diagnostics, and navigation. By separating the UI part from the language-specific logic a language server can be reused in many different editors and IDEs. On the other hand, a single editor supporting the LSP will automatically have language support for many languages.

Today, the LSP is supported by almost all popular IDEs and editors, such as Eclipse Che, VS Code, Eclipse, Vi, Atom and so on. Furthermore the list of language servers grows on a weekly basis. As the time of writing, we count over 40 language servers supporting popular languages like Java, Python, TypeScript or Ruby among more special languages.

TypeFox has been one of the first, helping to make the LSP adopted broadly. We, for instance, developed and contributed the initial proof of concept for the LSP-support in Eclipse Che. Also, TypeFox is the creator of Eclipse LSP4J and of course we added LSP-support to our beloved Xtext project.

Why use LSP?

By implementing your language services as a language server, you can easily reuse the same code across all kinds of editors and IDEs.

The LSP won’t go away. So relying on it is the best way to make sure that your efforts survive the life next generations of tool evolution.

LSP supporting editors and IDEs are available on all platforms and even for the browser.

VS Code & Monaco

The LSP has been designed in the context of VS Code, an open-source desktop code editor, developed by Microsoft. Developing a language server will ensure first-class language support within VS Code. The code editor widget that is used in VS Code is implemented with Web technology and can be integrated into any web application. It is called monaco.

Eclipse LSP4E

With Eclipse LSP4E the popular Eclipse IDE has support for language servers, too. TypeFox has been actively helping with this effort by providing pull-requests and developing Eclipse LSP4J, a generic Java binding for any language servers and clients implemented in Java.

Eclipse Che & Theia

We value the advantages of cloud IDEs and workspaces. As contributors of Eclipse Che and the new Theia initiative, the TypeFox team has demonstrated their passion and expertise in this field. Learn more.

Get In Touch

Don't Hesitate To Contact Us

Learn and discuss how the language server protocol can help you!
Get In Touch

Recent Blog Posts About The LSP

Theia  –  May 2018 Update

May 24th, 2018|2 Comments

It has been a while since I last shared an update about Theia. A lot has happened since then. Eclipse Theia That’s right, Theia is moving to the Eclipse Foundation. The project has already been created and [...]

Explore the Call Hierarchy in Theia

March 8th, 2018|Comments Off on Explore the Call Hierarchy in Theia

Having written a lot of code in Java with Eclipse, one thing that I have really been missing with TypeScript in VSCode was the call hierarchy: Show all callers of a method, then the [...]