Open jjchico opened 4 years ago
I am with the same "problem". It would be really nice to have it published to work with VSCodium.
It is technically possible:
@ivankravets Do you think platformio extension for codium is also legal?
PlatformIO extension for VSCode depends on C/C++ extension by Microsoft. We use it for code completion/navigation. How to resolve this issue?
This one? It is MIT licensed.
@rafacouto Yes, is it possible to have it in the open-vcs registry as well?
it was already merged here https://github.com/open-vsx/publish-extensions/pull/54 but it doesn't appear on open-vsx.org Probably because it isn't build correctly? Could you help me with fixing that #1884 please?
I updated this issue and added temporary solution https://github.com/platformio/platformio-vscode-ide/issues/1802
I believe the Microsoft vscode-cpp extension you guys are using for code completion is incompatible with open-vsx. The linked discussions seem to imply that it's not legal to use the Microsoft C/C++ extension in any other product than VSCode.
I was able to use the clang language server instead and getting it working (in Eclipse Theia), by
PlatformIO is still complaining about the incompatibility but all code completion functionality seems to work. Note that I'm using clang only as a language server, and the builds are still being handled by PIO.
This suggests to me that it is possible to separate the build and language server tools, and with small configurations, PlatformIO can actually play well with the clangd language server and therefore be open-vsx compatible.
@yunuscukran Thank you so much for your solution! I added it to the top of post.
We already have started research around C/C++ extension and replacement for it. Indeed, we use noly 5% functionality of that extension - just code completion and navigation. So, we would be happy to switch to something open source with better peformance and clang
should be a great candidate here.
@yunuscukran what is your feedback about clangd
server? Do you like how does it work?
This one? It is MIT licensed.
That one called vscode-cpptools is under Microsoft License, not MIT, which made this issue-There is no a c/c++ extension on VSCodium marketplace #6518
@yunuscukran what is your feedback about
clangd
server? Do you like how does it work?
Hi,
The functionality regarding language features is good!
One aspect which I think is hacky is that the default place forcompile_commands.json
must be redefined in the project settings, and the actual act of creating the file with a PIO command must be called somewhere, via a post-build script for example. So right now clangs works with a modified PIO project.
Any updates on switching to clangd for the language server? It seems to me what is needed is simply the generation of a compile_commands.json
file on project creation and occasional re-creations after builds.
Hi @ivankravets
I hope you can switch to vscode-clangd ASAP - it's rapidly improving and gaining features, as is clangd. I have asked one of our contributors an update about one of your two blocking issues - I hope he can help.
I think coming together and collaborating, us non-Visual-Studio product/framework makers, open registry provider and extension consumers, to offer a better solution, vs the superficiallty-FOSS (really proprietary) extension, that we can't use anyway, is the best thing we can do.
Regarding clangd/clangd#533, do you people control the compiler location already? If so while waiting for clangd to have a solution around predefined macros, you can just set --query-driver
flag yourself within the ide.
@marcdumais-work thanks for the response! I welcome @valeros here and ask him to provide more details.
Hi guys!
@kadircet Could you please elaborate further? We're already using --query-driver
and as you suggested in clangd/clangd#533 I opened a ticket https://bugs.llvm.org/show_bug.cgi?id=48266 as it seems to be a rather clang problem because macros generated by clang simply differ from GCC that breaks intellisense.
Hi guys!
@kadircet Could you please elaborate further?
i've replied on clangd/clangd#533, but repeating it here for completeness. i was looking into both this issue and clangd/clangd#539 at the same time. so i confused the two :/ ofc it is not possible to workaround a missing behaviour in query-driver, by enabling query-driver 😂
Looks like this is also needed to be able to use platformio from onivim2, see https://github.com/onivim/oni2/issues/3026 .
Any update on this?
I think this may be quite useful for you to release as open-vsx in order to keep users :)
For example, my main motivation for using platformio nowadays compared with Arduino IDE 2.0 is that it lets me use my favorite editor of the moment (before the Arduino IDE 2.0 came out, my main motivation for using platformio was to get linter and static analysis which was not available on Arduino 1.8, but now that Arduino IDE 2.0 is getting this and it works nicely already, this removes this part of the extra value of platformio). For me nowadays editor of choice means onivim2. So if I cannot get platformio to work for onivim2, I think that I will (unfortunately) default to switching to Arduino IDE 2.0, as I am really tired of the sluggishness of vscode and similar.
Hi, Please release us from false opensourceness of microsoft that void many people from using the platformio extension.
Since C++ is present by default on VSCode anyway, maybe just drop it from deps and add popup with download link to vsix?
This would be a quick fix, allowing both adding PlatformIO to open-vsx and moving on with previous completion engine.
@cab404 can you do it yourself and publish a fork in open-vsx?
Since C++ is present by default on VSCode anyway, maybe just drop it from deps and add popup with download link to vsix?
This would be a quick fix, allowing both adding PlatformIO to open-vsx and moving on with previous completion engine.
The problem, already stated above, is that license of vscode-cpptools prevents using it out of non-free MS VS Code. Suggesting the user to just circumvent the legal restriction is not appropriate.
But the idea regarding the vscode-cpptools was to instead to move to the clang tool that is fully open and permissive license, right? :) .
Hello! I'd love to help get the PlatformIO published to OpenVSX. Is there anything I can do to help? 🙂
@jankeromnes Does PlatformIO IDE extension work with Theia if you install it manually? The last time when I tested it, it didn't work. Theia does not support VSCode's API on which PlatformIO IDE extension depends.
@ivankravets I'm not sure about Theia, but Gitpod, openvscode-server and VSCodium all use stock VS Code today (and Theia support in Gitpod has been deprecated).
Wow! Founders of Theia switched to VSCode for Gitpod. Great decision!
I don't see C/C++ extension on Gitpod. PlatformIO IDE depends on it.
@ivankravets Yes, unfortunately ms-vscode.cpptools
is not open-source, so it cannot be published to OpenVSX. (Gitpod still sources extensions from OpenVSX, just like VSCodium et al.)
So, as long as platformio.platformio-ide
has a strict dependency on a closed-source extension, it cannot be published to OpenVSX either.
A promising solution discussed above would be to drop the dependency to the closed-source ms-vscode.cpptools
extension, and replace it with a dependency to the open-source extension vscode-clangd instead. Could something like this be technically possible?
@jankeromnes We would like to resolve this issue as soon as possible, but there are technical issues. Please read this topic from the beginning. For example, https://github.com/platformio/platformio-vscode-ide/issues/1802#issuecomment-751810455
FYI, vscode-clangd is available on open VSX in the meantime: https://github.com/clangd/vscode-clangd/pull/243
@ivankravets has there been any progress on this? I am running in GitPod and the temporary workaround seemed to work, until I tried to open the Home page and it failed, as well as pio
and platformio
commands missing on CLI.
I second using clangd. I use clangd for all my C work in VSCodium.
With https://github.com/platformio/platformio-vscode-ide/issues/1802#issuecomment-710683116 showing that the clang language server does work, is there any other holdup for publishing PlatformIO on https://open-vsx.org?
Bump.
Hi, how can I install the plugin in VSCodium? I can not find it.
We depend on:
Updated link to the 2nd issue this depends on: https://github.com/llvm/llvm-project/issues/47610
Any updates on this?
Reason
Microsoft does not allow to use C/C++ extension with other editors. See https://github.com/microsoft/vscode-cpptools/issues/6388#issuecomment-720719298
We are working on an alternative solution for C/C++ code completion and navigation.
Temporary solution 1
You will need to install manually these extensions:
Restart VSCodium.
Temporary solution 2
See https://github.com/platformio/platformio-vscode-ide/issues/1802#issuecomment-710683116
Hi!
I'm a VS Codium user, a FLOSS version of VS Code, it's the same code but without the Microsoft's telemetry and branding.
I want to request if possible to add the PlatformIO IDE extension on the open-vsx.org market so that we doesn't need to works with the Microsoft marketplace as it is unclear if it's legal to use it on VS Code forks, see here.
This is how to publish a new extension.
Thanks.