VSCodium – Free/Libre Open Source Software Binaries of VS Code
vscodium.com
vscodium.com
If you can't find an extension when using VSCodium then please send a pull-request to this repository https://github.com/open-vsx/publish-extensions with the identifier and that will help grow the ecosystem of open tooling.
ICMYI - We blogged more about this over at:
- https://www.gitpod.io/blog/cloud-ide-history
- https://www.gitpod.io/blog/openvscode-server-launch
- https://www.gitpod.io/blog/open-vsx
If you got any questions lemme know. <3
I'm just thinking about supply chain attacks. I don't personally review all extension code on the VSCode side, but there's a certain amount of (false) comfort when over 200K folks have downloaded a particular extension.
The discrepancies you mentioned come down to the extension Marketplace used - in VS Code, it is the Microsoft VS Code Marketplace, but in VS Codium it is by default https://open-vsx.org/ (basically a FOSS alternative to the Microsoft one).
The names don’t match up, because on Microsoft’s Marketplace the author handle (display name) is used, but Open VSX returns the username as the author name. The username of the author 周鹏 is bung87 on both the Microsoft Marketplace and OpenVSX. I think this is a good thing to reconsider though and thanks a lot for sharing!
> with only 3.9K downloads The difference in the download numbers is as simple as the Microsoft Marketplace having their own install counter; Open VSX has less users and therefore less downloads for the extension. It is true that Open VSX’s approach can be potentially dangerous, since an extension A on the VS Code Marketplace does not have to be the same extension A , it is built on the belief that people will be taking only their namespaces. The verification check mark can help on Open VSX extension pages with this, but it is not available on the VS Code side (yet anyway :)). The Rails extension you mentioned has the checkmark, so it means that it is published by someone who is a part of the project. You can take a look at how it looks like on the extension page: https://open-vsx.org/extension/bung87/rails.
[0] https://docs.keyoxide.org/advanced/for-service-providers/
"The names don’t match up, because on Microsoft’s Marketplace the author handle (display name) is used, but Open VSX returns the username as the author name."
I know it's insignificant, but that seems like a relatively easy and (marginally?) useful thing to change ;)
This isn't a huge issue, but it's one of the larger issues why FOSS alternatives are not often as well received as their proprietary counterparts (see: unix). Consumers/users should be the first/only consideration when designing user-facing software, but it's a rare sight to see in FOSS. I wish more FOSS developers cared about the software instead of the code, because the difference manifests in decisions like this.
You should still do that when getting software from the Microsoft stores. Microsoft is not all-seeing.
Is that going to change in the near future?
If the publisher makes this change in public then it's their ToS violation with receipts. I don't think you're really arguing that the VSCodium folks should make this change in violation of the ToS, sign it, and package it up...
They have built this whole alternative ecosystem so they can be in compliance.
It is a bit puzzling to me that this would be an issue, since extensions generally do not call any VS Code binaries, they should ideally access everything through the VS Code Extension API (https://code.visualstudio.com/api) and never call any VS Code-related binaries, since VS Code can run on a portable mode as well. If issues like this arise, it is most likely a fault of the extension itself, so reporting should be done on a repository or an issue tracker of that extension. I have never seen an extension call the `code` binary, so I would guess it could realistically only be helpful for some kind of a workaround for an API limitation.
If you have any of these extensions that break on VS Codium, could you please share them with me? I would love to dig for more and help towards fixing said extensions there.
The main thing you'll have to contend with is that the extension registry for VSCode is different from Codium, as Geoff says here: https://news.ycombinator.com/item?id=31606704
This means you might find that extensions you use in VSCode aren't in Codium. This is usually remedied by just downloading the extension manually yourself or by asking the extension developers to cross-publish.
Pretty shitty move, IMO. I have trouble trusting maintainers that are willing to push such drastic changes without letting people know.
Also have been using VSCodium for years and the transition had no effect on my daily work, despite needing plugins on new machines for the relatively niche language of Elixir.
https://github.com/VSCodium/vscodium/issues/418
The correct way to do this would have been to start with a way to persistently change the marketplace URL being used and having the change be opt-in, then having a major version release when the default value was changed, including obvious instructions about how to change the desired marketplace.
Instead, people were told to do the work themselves of porting over the extensions they wanted. That's a great way to get people who don't have the time or interest in that to just abandon the project altogether.
Even if it is fine now, I just don't want a tool I use for my daily work to be one that could break from an auto-update because the maintainers decided to make some massive change without consideration for the users.
Microsoft made VSCode. Microsoft paid for 99% of its development. Thanks to Microsoft, VSCode has the level of development activity and the sheer volume of changes it has. If Microsoft didn't make VSCode, it would end up just like any other crappy Javascript code editor (like Atom).
It's nice that Microsoft made the code open source. I can respect that. If you want me to respect someone just taking Microsoft's code, repackaging it and cutting off the original extension ecosystem... yea, you'll have a hard time convincing me to do that.
> I find it excessive and offensive
Well I find it excessive and offensive to (from the moral point of view) steal Microsoft's code and make it your own without really adding much (if anything) on your own.
I will gladly pay a premium for someone to offer me I real VS Code alternative.
Nova almost solves my problems.
If my use of curse words is your problem with my comment, fine. But I don't think it's unfair of me to call out a bad decision and a bad handling of the response to that decision when we're talking about a tool that people will do their daily work in.
That contextualizes the situation quite clearly and explains the frustration better. Thanks for the explanation.
Me too. Editing text is pretty light weight, so it makes sense to run locally. But the language server is often rather heavy weight, e.g. requires compiling all project dependencies, so it makes perfect sense to run this on a beefy remote machine (connected to wall power).
I find it... borderline immoral to have an open source product and then have binaries contain telemetry and other stuff that's not in the main tree.
But, hey, we couldn't expect Microsoft not to muddy the waters a bit.
It's their choice fundamentally. They pay for all the VS code developers, so from a moral standpoint, they don't have to release source code at all (outside of general immorality of proprietary software but that's something different). They still decide to release it and IMO they should be lauded for open sourcing at least parts, and enabling DFSG-compatible rebuilds to exist.
Well, there's two reasons I can think of it happened there [0] [1]
[0] https://en.wikipedia.org/wiki/ETH_Zurich
[1] https://en.wikipedia.org/wiki/%C3%89cole_Polytechnique_F%C3%...
There's nothing "open core" about Microsoft shipping binaries with telemetry.
I paid for my Android phone. Google is still collecting every piece of my life and my family's.
I don't think all the telemetry is particularly useful, but there is no reason to give MS the benefit of the doubt here.
Outside of the paid part, that's precisely what Microsoft is doing. MS publishes a couple of proprietary extensions for VS code.
I don't get what telemetry has to do with open source? It's entirely possible to ship a binary that is 100% "open source" - that is reproducible from OSS code - but still has telemetry.
I think you could more accurately call this a legal standpoint. I'm not convinced releasing closed source software is ever moral.
https://thenextweb.com/news/microsofts-cross-platform-visual...
If there is open source licensed code within VSCode, then they actually do need to release the source code, both from a moral and legal standpoint.
> If there is open source licensed code within VSCode, then they actually do need to release the source code
Only if the license requires it (which it doesn't), unless you think all permissive open source code should be viral and proprietary projects consuming permissive licenses should open anyway.
Atom appears to be MIT licensed, in which case they actually don't legally have to release anything.
As far as I am concerned, telemetry is a good thing. Unless you are very paranoid, I don't see a good reason to disable it. Telemetry makes it possible for your usage patterns to influence the development of the product, which is beneficial for you as a user.
Harvesting data without permission is just exploitation. Software improvements and user engagement are not more important than basic respect for user agency.
Moreover, not everyone is like you. People who do have reason to care about data collection should not have their critical needs outweighed for the mere convenience of the majority. This type of rhetoric is often used to dismiss accessibility concerns, which is why we have to turn to legislation.
(POSSE from https://seirdy.one/notes/2022/06/03/opt-in-telemetry/)
It's right there in the License Agreement that you accept when you install VSCode. And unlike some other EULA's, it's close to the beginning of the document, easy to read, describes data usage and explains how to opt out of it. I honestly don't see what more can they do to get user consent.
You might argue that many users don't read License Agreement and I would agree with you concerns IF this condition was unexpected and/or malicious. In this case it is neither.
> Harvesting data without permission is just exploitation.
Exploitation is just a word. I could also call your usage of VSCode "exploitation" because you are exploiting the work of MS engineers.
What matters is whether it does any tangible harm or not. In my view it doesn't.
> Moreover, not everyone is like you.
That's why I added a caveat "unless you are very paranoid".
> This type of rhetoric is often used to dismiss accessibility concerns
I don't see what accessibility has to do with it.
I *strongly* disagree here. A small subsection of the population should not be able to impose their self-percieved "needs" on the remaining 99%. You're the individuals who care about this, it's your responsibility to put in the necessary foot work.
It's incredibly arrogant and presumptuous to try and argue that any overwhelming minorities desires should be seen as needs and imposed upon everyone else and drawing a comparison to accessibility is disingenuous at best. You aren't literally unable to use an application because they don't spell out every bit of minutia regarding their telemetry, nor are you born with physical/mental disadvantages that somehow necessitate your privacy policy desires.
No one is preventing you from monitoring your own network activity, sandboxing your machine, using a VPN, or a multitude of other steps you can take to monitor and protect your privacy.
Proprietary software is immoral in general, because it takes away the user's freedom to do their computing as they wish. If I cannot turn off a feature of a program I use, then the developers can do whatever the hell they want with my machine, especially if we count in auto-updates. I am not comfortable with that.
Such dogmatic views like “proprietary software is immoral” do not help anyone. You have a choice not to use any of it but don’t cross off people who choose otherwise.
Software engineers in vast majority do not live from donations. You are lucky enough to make it from open source? Well, good for you! You are very privileged.
> They value their relationship with a supplier
There's nothing inherent about proprietary software that makes it convenient. Convenience is completely orthogonal to freedom. I get reminded of that every time I hear Windows-using friends' stories about their files getting deleted/drivers uninstalled/audio cards burned after Windows Update. Meanwhile, the free software world has been getting better and better as the time goes by. GNU/Linux just works for me nowdays.
> Such dogmatic views like “proprietary software is immoral” do not help anyone.
Such views are not dogmatic, they are based on very practical arguments - for me the most important argument is "I don't want to run programs whose behavior I cannot change in case I need to". I don't want to let another person, let alone a corporation, run a program on my machine unless I (have a way to) know what it does.
And such views they help everybody, because proprietary software gives developers unjust power over their users. Owners of the computing machines ought to have control over what computation their machines do, it's their natural right by being owners of their computing machines. The sooner we get rid of proprietary software, the better it is for everyone, except the poor megacorps that will have to find yet another way to extract money without bringing value.
> Software engineers in vast majority do not live from donations.
Software engineers can work regular day jobs, and still develop free software. Red Hat for example.
Not one of your arguments has convinced me that proprietary software is not completely immoral.
Saying that proprietary software is moral is just as dogmatic, no?
Open source software is wonderful and I love when companies create and support FOSS. That said, to say it's immoral not to give away the work you produced/paid to produce is ridiculous. You're not taking anyone freedom away by providing proprietary software. As I believe another commenter replied, they're free to not use it or develop the software on their own.
If it's too difficult for them to replicate or for a competing FOSS product to exist, then it probably is complex enough to warrant payment.
No, absolutely not. Private property is a precursor to free software. I own a computing machine, therefore I have a natural right to control what my computing machine will compute.
> That said, to say it's immoral not to give away the work you produced/paid to produce is ridiculous.
You don't have to give anything away. Free Software means you can share your program with whoever you want, including nobody.
> You're not taking anyone freedom away by providing proprietary software.
That would be true, if proprietary software meant "no source code available" (that's usually called Freeware). But in reality, there are laws like DCMA that actually do restrict your freedom, in a literal sense.
Proprietary software happens in the context of a transaction between two willing parties. There's nothing immoral about it.
Forcing proprietary software on large scale (companies, governments) could be classified as immoral, but then it's not about proprietary software - the same could be said about forcing pink socks on everybody.
You could use the same argument for voluntary slavery, yet modern laws forbid selling yourself away to a slaver.
LOL. I always wonder what kind of people say that kind of thing? Who are these people on hacker news? Do they live in a real world? Do they ever use Windows/Mac, Office/Google Docs, or maybe just Google? Do they use an iPhone or Android phone? Seriously?
No.
> Office/Google Docs
Only when work stuff requires it
Nope.
> iPhone or Android phone
Android is open source and you can run it without Google Play Services just fine. Would I prefer a Linux phone (or maybe no phone), sure? But I live in a society that demands apps sometimes.
Libertarians who think taxation is theft still pay taxes. The local restaurant owner will pay the local goons their protection money - shockingly without thinking the protection scheme is a moral one. Many people buy goods manufactured in China, even if they don't support Government oppression (at least not to the extent that's going on there).
Humans are complex creatures. You can disapprove of something while still being (more or less) forced into participating in the activity, without imploding in a puff of logic.
They are free - to not run proprietary software!
It is good only if it is "opt in". But in the wild we see that lot of software doesn't even provide an opt out and doesn't warn about telemetry when installing or starting a program.
If it is such a good thing, why developers prefer not to disclose its usage?
Why? This isn't a product marketed to kids using dark patterns or something. People who feel like you do can easily opt out.
>If it is such a good thing, why developers prefer not to disclose its usage?
Maybe because they feel that it's not that big a deal. They could also "disclose" that the app uses X amount of harddisk space or memory, or that it was built by developers who are running Windows as their primary OS. That might be a deal breaker to some, but most people probably don't care.
IANAL, but if you make the product available in the EU, you are required to make telemetry opt-in if there is personally identifiable information, or you'll violate the GDPR. Note that according to interpretations of various EU bodies, PII also means information that could be correlated to persons, like randomly generated identifiers (not just obviously PII information like an e-mail address or IP address).
Looks like it’s disclosed in detail;
In my experience it's usually very prominently disclosed. In case of VSCode it's literally the 2nd section in their License Agreement, not to mention help pages, highly visible settings etc.
And we know MS has been caught several times disregarding consent and engaging in other dark patterns.
They are though, telemetry is malware.
>As far as I am concerned, telemetry is a good thing. Unless you are very paranoid, I don't see a good reason to disable it.
Oh.
Well I guess I disagree. Telemetry is malware and a bad thing. Unless you can examine what's being sent and have the ultimate choice of what's shared and when. The only reason to collect data surreptitiously is if you're a creep and up to no good.
You do have choice. Use VSCodium or don’t install vscode at all.
>> The only reason to collect data surreptitiously is if you're a creep and up to no good.
Or you want to improve your program.
You can: telemetry code is open source. For a more detailed reports like crash reports you usually can see the full report and approve it before sending.
> The only reason to collect data surreptitiously
It's not surreptitious at all.
These blanket statements are therefore not compelling.
You may only use the Microsoft .NET Core Debugger (vsdbg) with
Visual Studio Code, Visual Studio or Visual Studio for Mac software
to help you develop and test your applications.
-------------------------------------------------------------------
see:https://github.com/VSCodium/vscodium/issues/82
https://github.com/OmniSharp/omnisharp-vscode/issues/2491#is...
>adding telemetry
Pick one and only one. Any form of telemetry should be clearly documented - what it does gather, when, and in what events, and disabled by default(opt-in model). And module gathering it should be open source.
It shouldn't be something that's based on trust, trust that it won't be abused.
There were enough leaks, or news that, under guise of 'telemetry', a lot of unrelated data was gathered, without consent.
Frankly Microsoft has been open in this regard, but as you seem to generalize, i'll allow myself to do it too.
When X does something bad under guise of Y, it doesn't mean that Y is bad, it means that X is bad. If I introduce myself as a plumber and then rob you, you shouldn't blame plumbers.
So either you accept that this telemetry is just telemetry and then you shouldn't have a problem with it, or you are claiming that MS is doing something malicious under the guise of gathering telemetry, and in that case you need to provide some evidence to support it.
You're the frog, they're the scorpian.
Microsoft, at least with vscode, is open about that - but what about other products?
I don't want to mention things I'm not 100% sure of but aren't fairly critical components of the editor itself not open source?
For example the Remote Containers feature and certain LSP related functionality are closed source? I remember there being some chat about this on HN where the general sentiment was they are benefiting from open source for a lot of LSP related features but decided not to open source some functionality they've added to their LSP implementation?
So enjoy the freebies but keep in mind the predatory interests underneath. ;)
Who are you to say about the moral?
They've poured millions and millions of dollars into it and telemetry is there partly to make it a better product and what you do is talk about moral and expectations?
That's an interesting take on Apple (Darwin) [0] and Google (Chromium) [1]
That was at least my understanding.
Makes sense as you need to - edit files, run tasks and terminals, and run extensions which access the remote filesystem (eg Jump To Definition taking you to header files installed in system folders) - basically everything you need VS Code to do when you run it locally.
The alternative would be running VS Code as a webserver remotely and the local VS Code Electron just acting like a browser window pointing at your server. It probably wouldn't feel as responsive.
That was my first thought too - the majority of the value I get out of VS is via this.
Though I believe there is another IDE that has similar...forgot which one. So at least not a monopoly
Emacs' version is more flexible and a little more quirky. I would guess that like many VSCode features, Emacs was the inspiration here.
https://www.emacswiki.org/emacs/TrampMode
Tons of IDEs and editors have SFTP sync plugins that can work sort of automatically, but that's pretty different.
Code-Server works surprisingly well anyways, but with VSCode built on Electron I guess it's not that much of a surprise.
That's exactly why. I prefer not to have a workflow which depends on proprietary software. What are you going to do if MS breaks your workflow at some point in the future and you've become dependent on it?
Not that everyone has to do that, but it's totally possible to have a FOSS workflow, and I prefer to work that way.
> That's exactly why. I prefer not to have a workflow which depends on proprietary software. What are you going to do if MS breaks your workflow at some point in the future and you've become dependent on it?
The comment you quoted is hyperbole. What is the actual worry or problem here? No other tool has the convenience of VS Code right now, so am I supposed to just use something else that has reduced functionality for me because of some nebulous worry? What's the specific worry? Because I don't see an actual one beside some strange commitment to FOSS software.
If Microsoft suddenly deletes VS Code or requires some inordinate amount of payment to keep using it, both unlikely scenarios, then I would just use something else. It's not like my world would suddenly end, my software would stop working, and I would forget how to write software. In such an unlikely case, the inconvenience would be both that VS Code goes away but then also that nothing else has such useful features.
You don't know what they're doing and can't know updates are and will stay benign. Anyone signing an NDA that uses it is irresponsible/negligent, unless it is a controlled security exception (or firewalled in some way - but if it can't connect out half the point of the editor is gone).
"The Visual Studio Code Remote Development extensions and their related components use an open planning, issue, and feature request process, but are not currently open source. The extensions share source code which is also used in fully managed remote development services like GitHub Codespaces and their related extensions. Given that these services also will support other proprietary products (for example Visual Studio IDE), the extensions are available under a Microsoft pre-release license like other service-based, cross-product extensions such as Visual Studio IntelliCode and Visual Studio Live Share were during their preview periods."
Do actually use VSCodium by default but still need a copy of VSCode to play nicely with all this stuff. It's a weird situation, I'd like to go full codium but it's just not possible in my case hey.
Regarding "So it comes to whether you trust MS or not" - yeah, If you use Linux because you don't trust MS is okay, but running this on Windows because you don't trust MS... Useless.
As to those who say: but telemetry is ON by default! Well, if such this is a concern to you and you find this build useful, then you most certainly know to check for this stuff.
They're also for busy people. If you use these rather than the ones supplied by MS, you don't have to worry about what MS might try to slip in their next binary. I'd say it's more that the people using the MS binaries are the purists that want the "genuine thing" rather than just using VSCodium.
Considering the recent NPM "activism" I'd take my chances with Microsoft.
Why not?
https://code.visualstudio.com/license
> You may not reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software
Check `5. SCOPE OF LICENSE.`
VSCodium fixes that, it removes all the proprietary bites and branding. The only downside is that, as far as I know, you can't access a plethora of tooling that would require the proprietary bits.
Edit: In other words, if you bought a sandwich, and the EULA for that sandwich forbade you from examining what's in it, how it was prepared, and what effects it has on you health - would you eat that sandwich?
a man, his salary
microsoft, how much of `$ strings ./code | grep HTML` are references to LGPL Blink class names
Github issues relate these connections to extension black lists and extension recommendations based on my workspace rather than specific "telemetry", but I doubt the pipelines at MS care about that distinction.
https://github.com/VSCodium/vscodium/blob/master/docs/build....
But I think you can also just build VSCode itself yourself. (But, I am not sure if that still doesn't have some non-free parts.)
https://github.com/Microsoft/vscode/wiki/How-to-Contribute#b...
Would a supply chain attack on Microsoft be worse than the damage Microsoft itself does? Actual data loss has occurred via Microsoft updates.
It feels a bit strange when some of us want the benefits of what this telemetry may give (a better product, perhaps?) while not willing to conceive information to improve it.
Maybe it's similar to how ads work. I use an ad blocker, but because I feel ads make the product worse, not better.
I am not sure if my pov makes sense though.
Short of reverse engineering the official binaries and/or inspecting what it sends back to Microsoft, there's no way of knowing what it's actually collecting, which is understandably concerning given Microsoft's history. And you'd have to do that for every release, since any update could expand the scope of what they gather.
Personally, I don't quite care enough to bother doing something about it, but I can see why folks who are inclined to distrust Microsoft would not want to trust them on this.
how many % of the devs change their font? To which one do they change it? can we change the default to that if say.. 80% of the devs prefer it to the other default.
They can also run a/b tests testing new features and gather info without having to poll thousands of devs about it.
i would prefer access to both information
I don't think this is representative of the mentality, though. Just because you would benefit from the product improving and would like to see it improve doesn't mean you have to agree with any means of doing so.
While I understand there are benefits to telemetry, I don't think it's fair to make it out like it's the only way to improve a product or that there are no comparable alternatives. Much less that anybody being allowed to opt-out completely ruins the benefits of telemetry.
If anything, if you're in favor of telemetry in VSCode, you should be pushing for (clear and verifiable) opt-out, as that means your own data and use cases get a bigger say.
Have you seen Windows telemetry?!
Btw, how do you set up your vim+python? do you use something like coc.nvim to get language server protocol working with it?
Thank you for informing me about things like 'lunarvim'. I'm gonna check it out now!
Last I checked (a while ago), I think the remote-over-ssh package was only available in VSCode.
Basically lets you use VS Code from a browser. Integrated terminal works, Git integration, and many extensions work too
Local VSCode attaches to a remote VSCode backend. So you see the remote file system, remote shells and remote extensions running in the local editor. This works for both remote hosts and containers and is cross platform; you can develop on a remote Linux host/container using your Windows desktop, for example. This is invaluable for developing inside containers with isolated tooling, for instance.
It isn't fragile; it just works and is so transparent that it's easy to get confused about where you're actually working.
Oh wait, glad I checked because ~800MB of that is just old versions of the server.
EDIT: Just scrolled down to read the rest of the comments, and see this is still the case. :(
Most extensions are available from GitHub.
"telemetry.telemetryLevel": "off"How do you know that flag does anything except attempt to hide sending of telemetry? Or not even that, simply logging that you would prefer not to have telemetry taken.
The EULA explicitly forbids you from attempting to reverse engineer the binary, so you’re literally taking this on blind faith.
Don’t you find that troubling?
Even if Microsoft didn’t have a murky track record with telemetry in their operating system (being randomly turned back on or never being completely turned off): the default position should never be to trust.
Trust is earned.
At the risk of running into a slippery slope, unless one single-handedly:
- audits the entire codebase for some open-source OS;
- audits the entire specification for an open-source ISA, and an open-source implementation of said ISA, such as RISC-V BOOM;
- locally compiles the audited codebase on the audited CPU, targetting the audited ISA;
one cannot claim to say 'I want to know what that flag does'.
For all we know, Intel might have NSA backdoors and might 'phone home' to some server. I understand the idealism behind 'trust is earned', but at some point, trust has to be given, because unless we are willing to make some serious compromises, we will never be in full control of the complete hardware-software stack.
As a result, quite honestly, I wouldn't trust any product produced by that company.
Microsoft publishes a detailed article on what Visual Studio Code telemetry is, how to disable it, and even how to view the telemetry events going out.
https://code.visualstudio.com/docs/getstarted/telemetry
I'm not really sure jumping through hoops and developing and maintaining a crippled open-source app is the sane, default response here. It's likely a waste of time and a very, very, very small percentage of Visual Studio Code users will use it.
I don't but neither does anyone who runs VSCodium because they also run a random binary from the internet without having any idea whether that binary is in fact compiled with the source code provided, and I have the suspicion nobody who runs it has read that code either.
This is classical security theater where people will run binaries from basically anonymous people on the internet and claim this is more trustworthy than running something provided by Microsoft.
Corporate bootlicking.
The telemetry code itself is FOSS, and it can be disabled in config.
For the Python one at least it's not as bad as it sounds - the Pylance extension is closed source but the core type checker Pyright is open source (and much much better than MyPy).
https://github.com/Microsoft/vscode-cpptools https://github.com/Microsoft/vscode-python
There are alternative non Microsoft language servers for C++ and probably other languages which are fully open source and can be used in open source VSCode builds. But unfortunately some extensions depend specifically on the Microsoft language support extensions. For example Platform IO can't be published on OpenVSX due to this. https://github.com/platformio/platformio-vscode-ide/issues/1... . Similar with Unity debugger extension depending on microsoft C# extension.
https://github.com/microsoft/pylance-release/issues/4#issuec...
There is a C# extension that replaces it with an open source debugger, though.
what are the limitations of VSCodium? I see from the comments, SSH doesn't work, which was a big feature and some extensions not working (any ideas on which and why?)
I don't know if others are doing the same, but I'm trying to wean myself off of vscode/vscodium in favor of neovim. My main issues with vscode are bugs and performance. The vscode undo history constantly gets corrupted, performance with large files is terrible, extensions can be a mixed bag, vim integration is not consistent and performance in general is sluggish.
On the other hand, I've been trying out Lunar vim and it has feature parity with vscode and suffers from none of the issue I mentioned. My only issue is taking the time to learn how to do a dozen or so operations that I have not investigated in Lunar Vim yet. Lunar vim is blazing fast when paired with Alacritty. Once I get around to filling the final few knowledge gaps I have, I'm done with vscode.
There are definitely some things that should be focused on privacy, however many modern great products (both hardware and software) got to that state specifically because data was collected and product was refined, all without any evidence of nefarious use.
Personally, I look forward towards the day when I can open up VSCode, type commands in plain English, and it spits out working, correct code.
And I guess if you work on anything open source, leakage of source code isn't a concern anyway.
vi/vim is nice but I find the convenience of VSCode - auto complete, show inf doc etc - very useful
You can have all of that on vim. On neovim, you can even setup LSP with the same LSP servers that VSCode uses [1]. The learning curve is steeper but if you like vim/neovim keyboard-centric features, it is worth it.
The only thing I miss from VSCode is maybe the debugger, not because you can't have one, but because it is a bit tedious to set it up and more error prone. So sometimes I use VSCode as a debugger, but I'm pretty happy with my config on neovim (imports, auto complete, docs info (or "hovering"), definitions, go to definition, rename a symbol, etc., you can have all of that with LSP).
Occasionally also using code-server, I am interested in some workflows that the vscode architecture allows. Not an emacs fanboy, just don’t think I should tie myself too strongly to vscode and found emacs generally better for how my brain functions.
despite this existing, the raspberry people chose to add microsoft's repo overnight, to offer vscode
https://www.cyberciti.biz/linux-news/heads-up-microsoft-repo...
Mentioned this in VScode subreddit, I got downvoted to hell, because clearly nobody needs IDE's windows in different monitors.
First, VSCode remote SSH extension is EXTREMELY useful - any computer you can SSH to you can edit code directly on with any extension.
Secondly, terminal integration is super nice. You can configure keybinds specifically for the terminal (and in general, they are pretty well set up default). So for example if you are using remote SSH extension from windows to linux, the terminal functions just like under native Linux.
Thirdly, for data science dev, native Jupyter support is super nice.
Fourthly, the remote SSH integration also works extremely well with Windows/WSL2, which is arguably the best way to have a "dual boot" system today. You get the widest range of software/games that you can run, with almost no drawbacks in comparison to running native Linux. You can do all your dev in WLS2 nicely with VSCode, just like you would under Linux, including things like docker, CUDA for ML, e.t.c. Even graphical linux apps work now.
With remote SSH it feels like I'm developing on Linux (I use a small VM for that) without having to change my OS. Plus, it makes switching between machines much easier.
WSL mostly did it for me. I can go from playing games on the platform that’s received the most attention (which is nice when a Linux port is broken or for some reason doesn’t play nice with proton) to programming and hacking in a familiar environment.
The exception is when I’m screwing with Linux specific hardware, as WSL doesn’t have USB or PCIe pass through afaik.
I do. And countless of developers I know, who were perfectly professional when I last checked. Many developers don't need multi-monitors. I understand if you need/want it but calling "who even use Vscode professionally" is kind of unthoughtful.
Currently you can open another window, but it comes with its own explorer, terminal, problems, test runner, etc. Soon you'll have the same file opened twice in different screens, and... bleh.
[0] It chews enormous amounts of CPU and RAM, and periodically gets into a state where it won't open the "Open file" dialog for unknown reasons. And occasionally renaming a file brings up something like "Running 'Rename file' participants..." which hangs for 15+ minutes. Absurd.
What languages/plugins/processes are you using? I'm a TypeScript/React/React Native dev and Vscode is butter smooth with very minimal CPU and RAM usage (after offsetting the Electron overhead).
Anyway, I tried running with no plugins for a while, and still had the problems (open file dialog failing, and random occurrences of "running file rename participants" hanging for a long time) occasionally. It happens sporadically on both my M1 MacBook Air running macOS and my Threadripper workstation running Linux, even with no shared config and only editing local files, so I am pretty sure it's just buggy VSCode. I found numerous old bug reports about similar issues. All closed without resolution after being ignored for months.
Edit: oh, and about the CPU and RAM, this is mostly an issue on my MacBook — VSCode is the only software I have ever found that will make it noticeably lag sometimes. I can always close it and open it again with the same files and it will work perfectly for another few days.
- Locally on the double-wide screens on Linux, no multi-monitoring needed. - On Windows Servers in tiny and ugly remote desktops of our customers, no multi-monitor available.
You are being downvoted for being close minded and half baked assumptions