-
Notifications
You must be signed in to change notification settings - Fork 1.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
Implement platform-specific extensions #8152
Comments
@Colengms thanks a lot for creating this |
Please also avoid using workspace contains if possible, as the extension is far too heavy to activate for projects that contain C++ but may not be the language being worked on. |
|
Nevermind. I should have looked at our activationEvents first. We use:
and |
@bobbrow can that be deferred until a C++ file is opened instead? |
Can you explain why? If they have this file, then it means the repo is specifically configured for C++ and our extension should load. Python and C# have a similar approach. |
@bobbrow I suppose an explicit c_cpp_properties.json is fine since it's the file owned by the extension*, as long as it's not checking for *.cpp/h/etc. An extreme example of where the latter would be damaging is the Chromium codebase which contains C++, Python, C#, JS, PowerShell, ... all these language extensions activating would be obnoxious, forcing the user to either live with a degraded experience (more UI, slower exthost, less available RAM/CPU, slower startup) or micromanage extension enablement. It's enough for the core already to deal with such a large amount of files. * The extension doesn't create it automatically does it? I had problems in the past with the C++ extension changing files in the workspace without me doing anything. |
Yes that file is ours, and we don't do workspaceContains on file extensions.
We should only be creating or edit that file if someone explicitly invokes one of our * Actually, the
I'm fairly certain that there is not a |
c# has add this implement, dotnet/vscode-csharp#4775 hope that we can earn it ASAP |
Our next release (1.8.0) will have it. |
HI @isidorn , I noticed that |
@Colengms great that you are automating this. So yes, you can use the |
👏 🎉 🚀 |
After this change, is there any way to get the vscode-cpptools packages from a known URL ? the vscode marketplace doesn't (to my knowledge) allow direct downloads for offline use |
@puremourning The marketplace allows direct downloads, e.g. https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-vscode/vsextensions/cpptools//vspackage?targetPlatform=linux-x64 |
Unfortunately, that's heavily rate-limited and frequency leads to HTTP 429 when this is automated in any way (e.g. in CI, or as part of other DAP client's installation tools):
|
It seems that the marketplace has a CDN api of some sort, but it seems ... internal... https://github.com/actions/virtual-environments/pull/3244/files / https://github.com/microsoft/vscode/pull/16275/files. To explain why this matters to me vimspector has an installer which grabs the vsix and uses the debug adapter out of it. It does this for a number of things and while a few of them are using the marketplace, these are not let's say high-volume, but almost all vimspector users install vscode-cpptools and I use it my CI, so it's likely to hit the 429 issue frequently. |
@puremourning We could potentially go back to our old practice of posting the vsix's on our GitHub Release's page. Do you know if those have the same issue or are you requesting the binaries be available via the fwlinks? |
GitHub releases work great! If you would be willing to add them as artefacts in the GitHub releases that would completely solve my issue! |
@puremourning Did you want that for pre-releases, which we stopped posting Release pages on GitHub, or the non-pre-release releases (i.e. 1.7.1, 1.8,4, 1.9.7)? |
I only grab release versions, so 1.9.7, etc. for me, there's no need to go earlier than 1.9.7 as I'm going to update to that now but if you can upload them for future 'release' versions that would be great. |
@puremourning Sure, we can start doing that. The 1.9.7 vsix's have been added: https://github.com/microsoft/vscode-cpptools/releases/tag/v1.9.7 |
@sean-mcmanus thank you so much. You're an absolute hero. |
install.lock
--target <platform>
when packaging each vsixvsce publish
to publish each vsixPlatform-Specific Extension Documentation
The text was updated successfully, but these errors were encountered: