Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
LSP4E
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.
LSP4E | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
Browse Source |
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:
Usage Example
Here is a 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
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.
Success Stories
LSP4E is already used in several Eclipse plugin/products, such as: aCute, Blue Sky, LSP4E PHP, RedOx, Spring Tools 4.
Related Resources
Below you can see some useful references:
- https://www.eclipse.org/community/eclipse_newsletter/2017/may/article3.php
- https://www.eclipse.org/community/eclipse_newsletter/2017/august/article3.php
- (upcoming) https://www.eclipse.org/community/eclipse_newsletter/2018/january/article5.php
Older documentation (could be outdated)