Beyond LSP: Extensions for Java
summary
Eclipse JDT Language Server gets extended inside Che to add concrete features: browse Maven dependency jars, open non‑source class bytes via custom opaque URIs, and provide structural rename with workspace edits that include moves/deletes plus a prepare/validate session so linked‑mode refactors work. Implementation reuses JDT core and source‑attachment/downloader, exposes a jar‑entry API (jarId + path), and launches searches and refactors. It works for demos, but file‑watch flooding on large imports (20k files, JDTLS memory ~3GB) and URI interoperability with other language servers remain problems.
AI-written summary · about
chapters (7)
- 0:00Start
- 2:09Agenda
- 5:33What's in an LSP Call
- 12:19Browse Project Dependencies
- 21:33Move
- 22:26Specific Searches
- 23:22Large Workspaces and Performance
related talks
22mEclipse Che and the Language Server Protocol
33mA DSL case Study with Java imports implemented in TypeScript
38mExtending Eclipse JDT to Support Java Projects with a Bazel Build
33mDeveloping Java applications using Visual Studio Code
06mLeveraging Eclipse Che for developers
51mIntroduction to Che Extensibility Model
44mDeveloping a Language Plugin: LSP versus the Joy of Learning
29mEclipse JDT Embraces Java 9 - An Insider's view
