Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [che-dev] [Fwd: Re: Detecting newly added projects]

Thanks,
Gorkem

On 10 Jul 2019, at 10:39, tmader@xxxxxxxxxx wrote:

On Wed, 2019-07-10 at 15:12 +0200, Stevan LeMeur wrote:

I'm surprised that:
- Che can't know wether a plugin is a language server or not

A VS Code extension can plug into any number of API's. It is activated
upon certain events that occur in the IDE. While we may be able to
detect plugins that use certain plugin points (code assist, for
example), we don't have support for this right now in Theia.

- Che can't know when a project has been cloned

We have no problem detecting that, but there is nothing in the LSP
protocol that allows us to communicate that event to a language server

What is the event that allows VSCode extensions to work correctly when a new project is added?
For instance can we do a didChangeWorkspaceFolders request to emulate the same behaviour?

- Che can't tell to the language server to reinitialize - while
apparently the IDE is doing it when it refreshes.

No, that is not what the refresh does: the refresh starts a whole new
copy of the IDE, includeing any services bound to the previous instance
of the front end. That means any stale state in the front end is
flushed as well. And which language servers would we reinitialize?
There may be many for a single project (yaml, camel, Java, for
example). We have no ready mapping for this in the general case.

I am not in favour of a browser refresh, it has a visual user impact. I would rather
send a LSP shutdown and initialize.

Can we delay LSP initialize events until cloning is completed?

In Che 6, we had some pretty complicated and error-prone code specific
to jdt.ls that would synchronize what the GWT IDE thought of as a
project with what jdt.ls thought was a project. As for the other LS-
based language support plugins, I think Che 6 had the same problems we
now see in Che 7. I really don't want to reprise that code for Che 7
again.

Yes, we can work around the problems for the language plugins we know
about, but I think it would be a mistake: we need a solution that will
work for us as an ecosystem, not a product. Raising user expectations
that cannot be fulfilled for 3rd-party plugins is not the way we should
go. We as Che committers should not enjoy any privileges over 3rd party
plugin writers.

Theia is not Che 6, it has no notion of project, for example, only
folders. Trying to make Theia into the GWT IDE will be an uphill,
losing battle. Let's not!


/Thomas



_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/che-dev


Back to the top