Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

LSP4E

Revision as of 21:52, 24 January 2018 by Psuzzi.gmail.com (Talk | contribs)


The project includes the necessary code to integrate any language server in the Eclipse IDE, interacting with the language server: it orchestrates the request to the language servers and presents the response in the usual IDE metaphors so users can manipulate them.

Language-server-idea.png

A LanguageServer can provide different capabilities. Here is a list of some of the ServerCapabilities managed by LSP4E: CompletionProvider, HoverProvider, DefinitionProvider, ReferencesProvider, DocumentFormattingProvider, CodeActionProvider, CodeLensProvider, DocumentLinkProvider, SignatureHelpProvider, DocumentHighlightProvider.

Quick Links:

How to contribute

First, read the contribution page and the contributing readme, then set up the Eclipse project and understand how it works.

A simple setup example: get Eclipse JEE, clone the source from https://git.eclipse.org/r/p/lsp4e/lsp4e and import the existing maven projects into the workspace. Then, open the target platform file, wait for the target is resolved, and set it as target platform.

Two build examples: mvn verify should build a p2 repository.

Use cases

LSP4E is already used in several Eclipse plugin/products, such as: aCute, Blue Sky, LSP4E PHP, RedOx, Spring Tools 4.

Simple usage example: Build a language server using Xtext, and run the generated LanguageServer on stdi/o as you can see in the MockLanguageSever#main() example. Here are few useful references: building a LS for your DSL, Xtext LSP workshop, search xtext generate LS

Related Resources

Below you can see some useful references:

Older documentation (could be outdated)

Back to the top