Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[che-dev] Language servers per project

Hi folks,

while working with jdt.ls I've come across an issue that has been bugging me for quite some time: we start an instance of a language server per root project in Che. I've long felt that this is wrong, and with multi-root workspaces coming to LSP, it will be even more wrong. Things like jre, libraries in the local maven repo do NOT exist once per project. Also, if we can't have references between projects (which is the state now), why even HAVE multiple projects? Concretely, I get an opaque url for references in class files from jdt.ls, which I can't really map to a project, so my code fails when trying to map a class file url to a project.

I am currently working around that issue by using per project proxies for a single instance of jdt.ls in the background. I would like to reverse this burden and make it the default for language servers to be initialized once per workspace. If a language server cannot run in this configuration, it is up to that language server launcher to start the appropriate instances as needed.

I'd like to hear from interested parties on why the decision to use per project LS was taken and what concrete problems (which language servers) arose with single LS per workspace. Also, what's the general opinion on this issue?

thx for your feedback,

/Thomas



Back to the top