-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
remove dependency to monaco-languageclient #7100
Comments
Added to next dev meeting. |
We should make sure we have a clear story for packaging VS Code extensions with Theia Electron apps first. AFAIK this has not been properly tested yet. |
@spoenemann there is a PR in theia-apps already for it: theia-ide/theia-apps#299 |
Just because it works with the example app by running |
@spoenemann it should be a goal of theia-ide/theia-apps#299 cc @marechal-p |
@akosyakov I assume this proposal also impacts debug extensions the same way? Do Theia plugins already have the ability to run language extensions without our version of monaco-languageclient? |
@marcdumais-work debugging and plugin system don’t depend on monaco-languageclient if there is some code reuse we will move it to this repo. I don’t expect much. |
It was discussed that we do it, but first Theia extensions which we maintain should be migrated to VS Code extensions, particularly cpp and yang extensions. |
@akosyakov note that the cpp extension from microsoft has a problematic license: https://marketplace.visualstudio.com/items/ms-vscode.cpptools/license |
There is a Eclipse CDT-based extensions, but can't find it on the marketplace, right now. |
@tsmaeder yes, i meant https://github.com/eclipse-theia/theia-cpp-extensions/tree/master/packages/cpp should become VS Code extension instead |
We probably should start with a PR which prove that we can get rid of monaco-languageclient and only after that migrate to VS Code extensions. It would be bad to migrate everything and learn afterwards that we cannot drop it for some reasons. |
I had in mind that I heard of such an extension. Looking for it, I think it's this one: https://github.com/eclipse-cdt/cdt-vscode I do not think it was ever published. Looking at the code, it looks like work-in-progress. |
@marcdumais yeah, not the most active. Do we have volunteers to maintain a VS Code-CPP alternative? Problem is: VS Code users won't care about the license because it works for them. |
I think we (Ericsson) and ARM have been the main maintainers of the theia-cpp-extensions repository (due to internal needs), and will likely be the ones to migrate the extension and help maintain it. The extension itself will be useful for anyone who requires C/C++ support in a Theia-based application (since they cannot distribute the vscode counterpart). |
Added a topic to the next dev-meeting to discuss where and how vscode-cpp-alt should live. |
I think it was already discussed at the previous meeting |
There is nothing in the minutes of the last two meetings 🤷♂ |
I think internally we might verify if the vscode-clangd might be a suitable replacement for the C/C++ language features as it already has a strong user-base, and is supported by LLVM. Additional Information: |
My Cpp-wrangling days are long over. My concern is how well it works for non-clang compilers. |
Our existing @theia/cpp also uses clangd, so I think it's a wash from that PoV. From what I understand, clangd is supposed to work well with any ANSI C compiler, so long as a "compilation database" is provided. There are tools specialised in generating this "database", e.g. cmake can generate it, else something like bear can intercept commands sent to the compiler and output the compile database. |
Seems like that only applies to the Marketplace distributed version, not to the source code which is MIT? |
As I remember it's the runtime bits (debugger) that are the problem, no the VS Code extension. |
There is as well another license file under the
|
It depends on #3985 as well as replacing Theia json extension with VS Code built-in. |
@kittaakos brought up that removing @theia/languages will cause loose of semantic highlighting functionality, since we don't support it yet via Theia plugin system. So landing #7697 is a prerequisite as well. |
It allows to consume Monaco directly without trying to run vscode-languageclient in the browser. One should contributed language smartness via VS Code extensions instead. Signed-off-by: Anton Kosyakov <anton.kosyakov@typefox.io>
@akosyakov, what about the call- and type-hierarchy features? |
@kittaakos We try to preserve it based on VS Code APIs or Monaco internals. If not we drop them and file issues to support in the upstream first. |
It allows to consume Monaco directly without trying to run vscode-languageclient in the browser. One should contributed language smartness via VS Code extensions instead. Signed-off-by: Anton Kosyakov <anton.kosyakov@typefox.io>
These APIs will be removed in next release via #8131 Signed-off-by: Anton Kosyakov <anton.kosyakov@typefox.io>
These APIs will be removed in next release via #8131 Signed-off-by: Anton Kosyakov <anton.kosyakov@typefox.io>
It allows to consume Monaco directly without trying to run vscode-languageclient in the browser. One should contributed language smartness via VS Code extensions instead. Signed-off-by: Anton Kosyakov <anton.kosyakov@typefox.io>
It allows to consume Monaco directly without trying to run vscode-languageclient in the browser. One should contributed language smartness via VS Code extensions instead. Signed-off-by: Anton Kosyakov <anton.kosyakov@typefox.io>
It allows to consume Monaco directly without trying to run vscode-languageclient in the browser. One should contributed language smartness via VS Code extensions instead. Signed-off-by: Anton Kosyakov <anton.kosyakov@typefox.io>
…eclient` It allows to consume Monaco directly without trying to run vscode-languageclient in the browser. One should contributed language smartness via VS Code extensions instead. Signed-off-by: Anton Kosyakov <anton.kosyakov@typefox.io>
Right now it is quire hard to catch up with Monaco because we have to upgrade monaco-languageclient each time and make sure that translation between vscode api and lsp works in the browser context as well as vscode-languageclient (which actually written for Node.js).
Since we have possibility to run language servers as part of vscode extensions. I suggest that we simplify and get rid of monaco-languageclient. A consequence is that existing Theia extensions contributing language features then should be rewritten as VS Code extensions.
After that process of upgrading to latest Monaco will look like:
I hope we will be able to add integration tests for all exposed internal Monaco apis and ideally move to nightly builds and testing of not-tree shaken monaco against Theia soon.
cc @svenefftinge @marcdumais-work @eclipse-theia/ecd-theia-committers
@RomanNikitenko @azatsarynnyy it is not something to work on right now.
The text was updated successfully, but these errors were encountered: