Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jdt-dev] Progress with JDT-LS in Eclipse IDE integration

Hello,

For those interested, I'm willing to share some progress with the experimental alternative of Java Tooling in Eclipse IDE, which relies on JDT-LS and LSP4E integration in Generic Editor instead of JDT-UI for edition, and -quite recently- on the java-debug-adapter (which implements the Debug Adapter Protocol on top of the JDT Debug JDI Model) and the DAP integration part of LSP4E in Eclipse Platform Debug instead of JDT specific Debug UI.

The current state of things is rather encouraging: it's now possible to efficently enough edit Java code in Eclipse IDE with the Generic Editor and JDT-LS (as long as the code is included in a Java project); most features are working well. However, in real-life usage, we can easily identify some important features of JDT-UI that are missing and yet to implement (my top 1 is currently Ctrl+Shift+O not doing anything in generic editor); there are also some more or less annoying glitches here and there.
Similar thing for debug support: there is a decent Debug support, but it's rather fresh, so no support for Launch Configurations, no particular support for anything beyond running a Java main, missing Inspect... however when an application is running with the Debug Adapter, there are stack traces, breakpoints, variables & Inspect... working, so it's usable.
But again, it's not as good as direct JDT UI, it's still relatively frequent to switch back to JDT editor for some feature. This is the current goal really make it never necessary to switch back to JDT editor.
On the other and more successful hand, the promise of "low-cost" integration is fulfilled, implementing that has been relatively cheap, it's been easy to create much value (assuming we don't compare to JDT UI/Debug but think of what is possible "from scratch") within a few weeks. And the other promise of factorization is also fulfilled: working on that integration has actually triggered bugfixes/features proposals in JDT-LS, JDT-Core, LSP4E, Platform... and each of this change actually benefits the ecosystem more widely (eg JDT-UI can benefit from some improvements that have been proposed while improving eclipseide-jdtls integration).
This approach allows our team of Eclipse contributors at Red Hat to properly serve the goals given by our company while still serving the Eclipse ecosystem the best we can. We'll keep working on this approach for a while.

So if you're interested in trying it, and maybe even contributing, the entry point is https://github.com/redhat-developer/eclipseide-jdtls .

Cheers,
--
Mickael Istria
Eclipse IDE developer, for Red Hat Developers

Back to the top