[
https://issues.jboss.org/browse/JBIDE-25894?page=com.atlassian.jira.plugi...
]
Mickael Istria updated JBIDE-25894:
-----------------------------------
I believe that this is currently a too expensive task to work on. I expected JDT-LS would
be more extensible and able to consume typical Eclipse IDE extensions to forward it
through LSP, but it isn't really extensible at the moment.
I've opened a ticket to JDT-LS to discuss extensibility, and lack of ability to reuse
the existing ecosystem of extensions for Eclipse IDE into JDT-LS. At the moment, it seems
like JDT-LS devs are considering implementing extensibility into JDT-LS as specific
extension points (basically mimicking most extension points for JDT-UI). I've
mentioned there my opinion that it's IMO not an affordable task -it took a dozen of
years of very competent and numerous developers to do it for JDT UI-, and that it would be
better (for Cloud use-cases) to consider ways to re-use existing extensions and extension
points rather than creating new ones.
The discussions about extensibility stopped there.
One sub-topic that was discussed in obviously hardware/CPU/RAM cost. Indeed, if we want
JDT-LS to become extensible and/or reuse existing ecosystem of Eclipse extensions,
it's going to make it bigger, it's not something we can avoid to get the resource
requirements growing as we add features. On the other hand, growing an existing LS which
already have good support for Java to add Java EE features is still going to be cheaper
that mulitplying LSs: one for plain Java, one for Java EE, one for Spring... which would
have to duplicate work.
So, as part of this "be ready for Language Servers to get bigger as it gets
richer", one topic that has been mentioned is evaluating possibilities of
multi-tenant/multi-users Eclipse IDE workspaces. This would allow to get 1 LS serving
multiple users/tasks, resulting in most resources being shared by multiple users, which
should make it a relatively cheap resources/user ration I've opened a ERT-622 about it
and this is a path we're currently trying to evaluate as we believe it would be very
profitable for all Eclipse-based language servers, and all Eclipse-based apps in general.
It wouldn't be an easy task though, but it's too early to get some estimate.
Evaluate providing Java EE support as jdt.ls extensions
-------------------------------------------------------
Key: JBIDE-25894
URL:
https://issues.jboss.org/browse/JBIDE-25894
Project: Tools (JBoss Tools)
Issue Type: Enhancement
Components: jsp/jsf/xml/html-source-editing
Reporter: Mickael Istria
Assignee: Mickael Istria
Fix For: 4.6.x
Jdt-LS relies on JDT for most features.
WTP and JBoss Tools do extend JDT to provide additional features, such as Jax-RS
completion.
It would be worth investigating whether just adding a few bundles from wtp and JBoss
Tools into JDT-LS can turn JDT-LS into a powerful tool for Java EE as well, and to
evaluate what must and can be improved to enable it.
As a good Java EE support requires a good Java support first, it's very likely that
extending JDT-LS (on demand) for Java EE is the most productive and efficient way to have
a Java EE language-server.
As Jakarta EE moves to
Eclipse.org, there are some discussions to improve JEE tools in
Eclipse IDE and in general. So building on top of WebTools/JBoss Tools and allowing
webtools/jbosstools to run in JDT-LS wo uld fit in the community mindset and may attract
3rd-party contributors to Eclipse Webtools.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)