Implementing Language Servers - the Good, the Bad, the Ugly
EclipseCon France 2018
https://www.eclipsecon.org/france2018/session/implementing-language-servers-good-bad-ugly
Speaker(s):
Martin Lippert (Pivotal)
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.:
multiplied testing efforts
no editor/client is like the other, so what to do about clients behaving differently?
We also talk about the integration of our language servers with JDT, in our case to improve the Spring Boot developer experience while hacking Java code.
The talk is based on our experiences building language servers for Spring Boot and related projects and integrating/delivering them with Eclipse distributions (the Spring Tool Suite), VS Code and Atom.
(this is an updated version of the talk that was part of the EclipseCon Europe 2017 program, so additional experiences are shared as well as new solutions to the challenges mentioned before)