The Oxygen release train has introduced new approaches to more efficiently support editing of textual languages in the Eclipse IDE: a Generic and Extensible Text Editor was introduced in Platform to minimize boilerplate, Language Server Protocol for Eclipse (LSP4E) which allows to quickly hook into the IDE the power of Language Servers and TextMate for Eclipse (TM4E) allows to as easily delegate the syntax highlighting in the IDE to a TextMate grammar.
Theia is a new open-source project providing a foundation for implementing integrated development environments (IDEs) not only for software developers but all kind of engineers. Based around a flexible layout engine and by leveraging industry standards such as the “Language Server Protocol” clients shall be able to design rich software tools for engineers that run both as a desktop app and in the browser connected to a remote backend (e.g. in Eclipse Che using containers).
This talk summarizes our experiences from building language servers and integrating and using them across Eclipse, VS Code, and Atom. We talk about the good parts, e.g.:
- building lightweight tooling
- the freedom of starting fresh
- building the tooling once and reusing it across various environments
- isolated testing
The bad parts, e.g.:
- no communication among language servers
- do the work twice or more, ship libraries twice or more
And the really ugly parts, e.g.: