The all-new Spring Tools 4 are a complete re-write of the popular Spring Tools for Eclipse. Based on the Language Server Protocol, they can be used in various environments, like Eclipse, Visual Studio Code, Atom, and more. This session takes a look behind the scenes of the new Spring tools, and while doing that, covers:
- how does the implementation of the tooling look like?
- what are the overall design decisions behind the implementation?
- why did we choose the language server protocol? and how do we use it?
- how does the integration with Eclipse and specifically the JDT work?
- pitfalls along the way
The talk covers a wide variety of features of the tooling, including project resolution mechanisms, communications with other language servers, parsing Java code as inside of the language server, providing additional code lenses for Java code, how content-assist works for Spring annotations, how we extract symbols for Spring projects, and a lot more.