# lsp4e
**Repository Path**: mirrors_eclipse/lsp4e
## Basic Information
- **Project Name**: lsp4e
- **Description**: Language Server Protocol support in Eclipse IDE
- **Primary Language**: Unknown
- **License**: EPL-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-11-17
- **Last Updated**: 2026-02-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Eclipse LSP4E - Language Server Protocol client for Eclipse IDE
[](https://ci.eclipse.org/lsp4e/job/lsp4e-github/job/main/)
[](https://github.com/eclipse-lsp4e/lsp4e/actions/workflows/build.yml)
[](LICENSE)
[](https://mickaelistria.github.io/redirctToEclipseIDECloneCommand/redirect.html)
[Eclipse LSP4E](https://projects.eclipse.org/projects/technology.lsp4e) makes Eclipse IDE able to consume the [Language Server protocol (LSP)](https://microsoft.github.io/language-server-protocol/) and the [Debug Adapter protocol (DAP)](https://microsoft.github.io/debug-adapter-protocol/).
**Target audience** are Eclipse plugin developers or Language developers willing to integrate a language which ships a Language Server or Debug Adapter into Eclipse IDE. End-users can also take advantage of this as LSP4E also defines a way to bind Eclipse IDE to existing language servers from UI.
**Install it into Eclipse IDE, or add it to your target-platform** using one of this p2 repository:
* http://download.eclipse.org/lsp4e/releases/latest/ for latest release
* http://download.eclipse.org/lsp4e/snapshots/ for latest CI build (usually of decent quality)
## Preview
### Language Server in Eclipse in the Eclipse IDE
[
](http://www.screencast.com/t/Xs3TtaQM)
### Debug Adapter in action in the Eclipse IDE
[
](https://www.screencast.com/t/0QRpxSA3M7Qy)
## Features
### Edition
LSP4E mostly ships extensions to the [Generic Editor proposal for Eclipse Platform Text](https://www.eclipse.org/eclipse/news/4.7/M3/#generic-editor). But those classes can be reused in any editor or other extensions.
At the moment, it provides regular JFace/Platform Text classes for:
* detection of language server for given file
* synchronization of files with Language Server
* diagnostics as problem markers
* completion
* hover
* jump to declaration
* formatting
* rename refactoring
* Find References
* File symbols (as Outline or Quick Outline)
* Workspace symbols
* Language Server messages as notifications
### Debug
Support for the [Debug Adapter Protocol](https://microsoft.github.io/debug-adapter-protocol/) includes usual debug operations (breakpoints, step forward, step into, view variable value, evaluate expression, change variable value...) in the [Eclipse Platform Debug](https://www.eclipse.org/eclipse/debug/) framework and its related UI components.
## Examples
Examples of integration contain:
* [Eclipse Corrosion](https://github.com/eclipse/corrosion) **Rust** support plugin for Eclipse IDE, edition is powered by LSP4E and RLS.
* [Eclipse aCute](https://github.com/eclipse/aCute) **C#** edition in Eclipse IDE using LSP4E and OmniSharp LSP implementation.
* End-user using Language Server from **Docker image**, providing edition feature in the IDE without creating specific Eclipse IDE plugin: http://www.screencast.com/t/vksX3uZm1aj
* [Eclipse WildWebDeveloper](https://github.com/eclipse/wildwebdeveloper) **HTML, CSS, JavaScript, TypeScript, Node.js, Angular, JSON, YAML (+Kubernetes) and XML** edition, using LSP4E and various language servers from SourceGraph and VSCode.
* [language-servers-for-eclipse](https://github.com/eclipselabs/language-servers-for-eclipse) Binds various language servers to the Eclipse IDE.
* [Solargraph](https://github.com/PyvesB/eclipse-solargraph) Binds a **Ruby** language server to the Eclipse IDE.
* [Quarkus Tools](https://github.com/jbosstools/jbosstools-quarkus) Based on the Eclipse [LSP4MP](https://github.com/eclipse/lsp4mp) language server, extended for Quarkus specifics and binds to application.properties and Java files.
* [dart4e](https://github.com/dart4e/dart4e): Provides [Dart](https://dart.dev/) programming language support for the Eclipse IDE using [LSP4E](https://github.com/eclipse-lsp4e/lsp4e), [TM4E](https://github.com/eclipse-tm4e/tm4e).
* [haxe4e](https://github.com/haxe4e/haxe4e): Provides [Haxe](https://haxe.org/) programming language support for the Eclipse IDE using [LSP4E](https://github.com/eclipse-lsp4e/lsp4e), [TM4E](https://github.com/eclipse-tm4e/tm4e) and the [haxe-language-server](https://github.com/vshaxe/haxe-language-server).
All those examples are good for usage as they provide advanced edition features, and great for showcase of the LSP4E project.
## Community
Contributions are highly welcome. [See how](CONTRIBUTING.md)
## Changelog - New and Noteworthy
Please review the [Changelog](CHANGELOG.md) for changes and new and noteworthy items.
## Related projects
The [Language Server protocol](https://microsoft.github.io/language-server-protocol/) specification is an open-source project.
As the Language Server Protocol doesn't include support for syntax highlighting, most adopters of LSP4E usually pair it with the [Eclipse TM4E](https://projects.eclipse.org/projects/technology.tm4e) project to provide Syntax Highlighting according to TextMate grammars.
Possible integration with Docker images as language-server are made possible thanks to **Eclipse Docker Tools**, which are part of the [Eclipse LinuxTools](https://projects.eclipse.org/projects/tools.linuxtools) project.
## History
This has been initiated during the EclipseCon France 2016 Unconference with the first official release
in [February 2017](https://projects.eclipse.org/projects/technology.lsp4e/releases/0.1.0).