Skip to content

Microsoft C/C++ Extension appears to no longer support unofficial forks of VS Code #2300

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

Open
ImagineBaggins opened this issue Apr 4, 2025 · 18 comments

Comments

@ImagineBaggins
Copy link

As of the latest update of Microsoft's C/C++ extension (v1.24.5, released April 3, 2025), use on non-Microsoft products appears to have been blocked. Upon initializing the extension, I get the follow error notification:

Image

Text:

The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications.

I realize this is not a fault of VSCodium, but I figured I would bring this to the dev team's attention since this seems like a pretty severe issue and haven't seen any other mention of it in this repo or the repo of the C/C++ extension. I found one other recent mention of this issue on another project: getcursor/cursor#2976. Might also be related to the following Discussion, but it was created about a week ago, and this new issue has only presented itself (to me) today (April 4th) after the extension was updated: #2286.

For now, I have downgraded to the previous version (v1.23.6) and disabled Auto Update. Hopefully something can be done to remedy this.

VSCodium version: 1.96.4.25017
Platform: Windows 10 (22H2, 19045.5608)

@daiyam
Copy link
Member

daiyam commented Apr 4, 2025

Hopefully something can be done to remedy this.

Sadly, it's a licensing issue. Now, they are just enforcing it by having the extension checks the editor it runs in.

Only an open-source alternative would be a viable solution.

@ImagineBaggins
Copy link
Author

ImagineBaggins commented Apr 4, 2025

Sadly, it's a licensing issue. Now, they are just enforcing it by having the extension checks the editor it runs in.

Only an open-source alternative would be a viable solution.

Could the official extension be forked and simply remove this check? The extension is open source IIANM. Or maybe an unofficial build is all it would take? The main license (https://github.com/microsoft/vscode-cpptools/blob/main/LICENSE.md) seems to indicate that the restricted proprietary license is only a part of the final Microsoft-built-and-distributed files.

@VixiKitsune
Copy link

Sadly, it's a licensing issue. Now, they are just enforcing it by having the extension checks the editor it runs in.
Only an open-source alternative would be a viable solution.

Could the official extension be forked and simply remove this check? The extension is open source IIANM. Or maybe an unofficial build is all it would take? The main license (https://github.com/microsoft/vscode-cpptools/blob/main/LICENSE.md) seems to indicate that the restricted proprietary license is only a part of the final Microsoft-built-and-distributed files.

Seems like it can be

@daiyam
Copy link
Member

daiyam commented Apr 4, 2025

The extension is open source IIANM.

Yes

Let's me try.

@daiyam
Copy link
Member

daiyam commented Apr 4, 2025

There 3 closed-sources binaries cpptools, cpptools-srv and cpptools-wordexp. The 2 first ones are quite big.
Not quite sure what's they doing...

@MinecraftFuns
Copy link

It's impossible (or at least not possible to do publicly). The official extension consists of two parts: the TypeScript component, which is open source but not particularly interesting, and the binary files that perform the actual work. As @daiyam mentioned, these binary files are proprietary, and their runtime licenses specifically prohibit decompilation.

The environment check code is definitely in these closed-source binaries, as a thorough check of the open-source TypeScript code revealed no verification logic beyond the warning message.

@MinecraftFuns
Copy link

BTW a similar environment check exists in Pylance, which has prevented it from working with any forks of VS Code for many years. So far, no one seems to have found a solution other than resorting to alternatives.

@MinecraftFuns
Copy link

If the official build process is indeed as described in this comment, then replacing the product.json file with one extracted from the official distribution should work. However, I've tried this without success.

@VixiKitsune
Copy link

What about making VS Codium appear as official VS Code to the extensions?

@M2rsh
Copy link

M2rsh commented Apr 6, 2025

Another day another disgusting move by Microsoft

@craigphicks
Copy link

@SergioFLS
Copy link

if anyone is looking for a FOSS alternative then seems like clangd works well enough for a replacement

@wyahiaoui
Copy link

I am not sure whether it is related to this issue but since few days, the java testing extension are not working anymore inside VsCodium

@light-and-ray
Copy link

Can you add clangd into https://github.com/VSCodium/vscodium/blob/master/docs%2Fextensions-compatibility.md ? It's a really good extension, I switched even before this Microsoft move, because it's more stable (in addition to being open source)

@sneak
Copy link

sneak commented Apr 20, 2025

Maybe we should stop giving marketshare, time, and attention to fake foss bait-and-switch apps from companies that would eliminate all free software if they could.

This is not the beginning (several other useful VSC plugins aren't free software) and isn't the end. If it were up to Microsoft, there would be no free software. Trying to tiptoe around the fact that they'd charge you per-keystroke if they could is a fool's errand.

(The irony is not lost on me that I'm writing this on GitHub - but I've stopped using this except for the social functionality, too.)

VSC isn't like Go, where the development of actual free software is sponsored by a corp. VSCode is proprietary software that Microsoft wants to have "open source" as a bullet point in the comparison-shopping list. Abandon ship.

@nzhome
Copy link

nzhome commented Apr 22, 2025

Another day another disgusting move by Microsoft

Microsoft did all this obviously because it is jealous of Cursor.AI. as if the billions of dollars we developers create for Microsoft isnt enough for them.

@light-and-ray
Copy link

light-and-ray commented Apr 22, 2025

Why did Microsoft license their code under MIT, not under copyleft GPL? Copyleft could help them to avoid competition with similar companies, and compete only with desire for freedom of users. Coursor is closed source, isn't it?

Vscode is not Google Chromium where Google earns money from people on the internet in general, no matter who owns a user's browser. In vscode copilot, GitHub integration etc can work only in their own version. Versions of other companies have services of other companies

@daiyam
Copy link
Member

daiyam commented Apr 22, 2025

Why did Microsoft license their code under MIT, not under copyleft GPL?

Some companies won't touch any software that use GPL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests