loading...
Cover image for Why and how you should migrate from Visual Studio Code to VSCodium

Why and how you should migrate from Visual Studio Code to VSCodium

0xdonut profile image Mr F. Updated on ・3 min read

In this tutorial we'll go over why you should make the switch, and how you can retain all of your extensions when you do make the switch. It won't take more than a couple of minutes to do the actual change!

The problem with Visual Studio Code

Visual Studio code is without a doubt the most used Code editor (for front end developers at least). It definitely provides a lot of helpful extensions of which there have been umpteen posts about.

text editors

So why would I suggest you uninstall it for something else?

Whilst Microsoft’s vscode source code is open source (MIT-licensed), the product available for download (Visual Studio Code) is licensed under this not-FLOSS license and contains telemetry/tracking.

...may collect information about you and your use of the software, and send that to Microsoft... You may opt-out of many of these scenarios, but not all...

Microsoft insist this is for bug tracking and so on, which may well be true. But you never know what else the data could end up being used for in the hands of someone unscrupulous.

You can turn off telemetry reporting in Visual Studio Code, but there are plenty of opportunities for Microsoft to add other features in, which may slip past your attention.

Run this command in your terminal and check your output

code --telemetry

Not great, lets change it.

VSCodium

VSCodium ... is not a fork. This is a repository of scripts to automatically build Microsoft's vscode repository into freely-licensed binaries with a community-driven default configuration.

This means we don't have to go through the hassle of building each version ourselves, everything is done for us and the best part is we get these binaries under the MIT license. Telemetry is completely disabled.

Moreover, the editor itself looks and functions exactly the same, you won't miss a thing!

vscodium logo

That's a pretty simple and compelling argument.

same but different

How to install VSCodium and keep all your extensions and settings

This is the easy part. I will focus upon macOS, but these instructions are pretty simple to amend to other platforms.

updated to include settings

Make sure you have Homebrew installed:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

1. Export all your installed extensions

First export all of your installed extensions into a text file (amend the output path as you see fit)

code --list-extensions | tee ~/vscode-extensions.txt

This will output all of your extensions to ~/vscode-extensions.txt and list them out in your terminal for you to see.

2. Export your settings

Export any custom keybindings and user settings you have as default.

cp ~/Library/Application\ Support/Code/User/settings.json ~/vscode-settings.json

cp ~/Library/Application\ Support/Code/User/keybindings.json ~/vscode-keybindings.json

3. Uninstall Visual Studio Code

We use the force argument so that nothing gets left behind that would clash or interrupt VSCodium's install.

brew cask uninstall --force visual-studio-code

4. Install VSCodium

brew cask install vscodium

5. Reinstall your extensions for VSCodium

Because VSCodium has the same command line tools, we invoke them the same was as before

xargs -n1 code --install-extension < ~/vscode-extensions.txt

This went through the file and executed code --install-extension on each line individually.

You should have seen the output in your terminal.

If you get a DeprecationWarning: Buffer()... warning, you don't need to worry, it's related to Yarn and can be resolved with yarn global add yarn

6. Import your settings

mv ~/vscode-settings.json ~/Library/Application\ Support/VSCodium/User/settings.json

mv ~/vscode-keybindings.json ~/Library/Application\ Support/VSCodium/User/keybindings.json

Now you should be set and ready to go, the only thing you should notice is the logo is different. Everything else will work, feel and function the same as before.

Happy coding devs!

Discussion

pic
Editor guide
Collapse
saint4eva profile image
saint4eva

The reason is not compelling enough. So, I am going to stick to VS Code - it is a great product.

Collapse
thepeoplesbourgeois profile image
Josh

VSCodium is literally the exact same product, just under the license Microsoft purports to release VSCode under

Collapse
lewy_blue profile image
Lewy Blue | Discover three.js

The exact same product with loads of extra setup steps and only dubious benefits.

Thread Thread
0xdonut profile image
Mr F. Author

not at all, the only extra steps were migrating from Visual Studio. Everything else is the same. What do you think is dubious?

Thread Thread
thepeoplesbourgeois profile image
Josh

brew cask install vscodium == extra setup steps? O_o

OH. You must mean "keystrokes". Yeah i guess it's, like, two more of those.

Collapse
saint4eva profile image
saint4eva

I do not have any issues with the license.

Thread Thread
thepeoplesbourgeois profile image
Josh

🥇

People other than you still might, though

Collapse
euler2718 profile image
John Corley

People don't get you are literally using the same product. From the exact same repo.

Collapse
rbrugnollo profile image
Rafael Brugnollo

Dunno if I agree with that. Microsoft has all the work to build a product that, as you said, most of devs are using, and then offers it for free. So I think it's only fair to use and endorse their product if you like it.

Collapse
euler2718 profile image
John Corley

No because they allow you to build it yourself. It's open source, but the installer isn't. So you are arguing for using their installer....not vscode

Collapse
0xdonut profile image
Mr F. Author

Valid argument. However this isn't effecting their bottom line. Ultimately this is a tool to upsell into and buy other services such as Azure, which I'm signed up to and happy with.

Collapse
reld_44 profile image
reld

I installed codium three weeks ago and I had to disable telemetry. I was irritated about that.
anyhow, I am still using it.

And for those who claim to not care about giving your data away...
youtube.com/watch?v=hIXhnWUmMvw

Cheers and stay safe and healthy

Collapse
albertzubkowicz profile image
Al

Please stop that moaning... Telemetry is good, useful and anonymous. It is also the reason why vscode is so good. In few years people will forget Web storm. And let's be honest. How does Microsoft or anyone else care but you? You really think you're worth the target?

Collapse
0xdonut profile image
Mr F. Author

Different strokes for different folks.

It's not about being a target. It's about a choice, I'm making one because it's available and I'm sharing it with anyone else who wants the same. This is not a moan, this is some information, how you perceive it is down to you.

Collapse
euler2718 profile image
John Corley

Hmm.....what about Brave browser then?

Collapse
roh_mish profile image
Rohan Mishra

To add to what Al said, anonymous telemetry is good. Projects like brave and VSCodium usually heavily depend on projects that are improved by anonymous telemetry. Now, some people might not be comfortable even with this but in all honesty people who use software for free and wont even provide crash reports and other general telemetry ARE leaching off people who do without giving back. VSCodium is great because it is VSCode but if it were a hard fork without ever pulling updates from upstream (MS VSCode) and decided to work on their own, I doubt it be able to keep up with them in terms of improvement without insights on how users are using the software and where are things faltering (assuming all other factors like userbase, effort, etc are equal).

Collapse
cben profile image
Beni Cherniavsky-Paskin

I'm also OK with sending telemetry, I assume it helps the project. But I'd prefer to run only open-source binaries (out of FOSS purity), so I'm considering to switch.

Collapse
devdrake0 profile image
Si

But you never know what else the data could end up being used for in the hands of someone scrupulous

I read this as "in the hands of someone scrumptious" and got very confused for a couple of seconds :)

Collapse
0xdonut profile image
Mr F. Author

😂😂 - or even sumptuous?

Collapse
tracker1 profile image
Michael J. Ryan

Should be "unscrupulous" in the context. Someone scrupulous is honorable.

That said, you can see what is being collected, and how in the source code. Also, there's a lot of data with them just running the plugins repository, which you haven't and largely couldn't replicate.

Collapse
devdrake0 profile image
Si

Also, there's a lot of data with them just running the plugins repository, which you haven't and largely couldn't replicate.

You're responding to the wrong person

Collapse
kinghat profile image
kinghat

you could probably just use the Settings Sync extension to move all extensions/settings/data over

Collapse
0xdonut profile image
Mr F. Author

Looks like an interesting alternative! The reason I did it via command line is because I intend to plug the commands into my dotfiles

Collapse
gayanhewa profile image
Gayan Hewa

It's a choice for those who are pretty vested about tracking. I guess in my personal opinion for me at least that Microsoft has given the option to do so builds trust that they are not what they used to be ( Looking at you Ballmer ) and other than that is a great product. And having to run trough all these steps wouldn't be my cup.

Collapse
conermurphy profile image
Coner Murphy

I was and to a certain extent still am a complete advocate for privacy and security. I believe our data should stay our data unless we consent otherwise.

However, with this being said very few people are willing to commit to a life of complete online privacy. Try getting rid of all Google, Apple, Microsoft and all other big tech companies products. It's unfortunately just not feasible in the world we live in.

So, while I'd love to switch away to a product like this that respects my privacy more than the original, I feel like the pain points it'll introduce like delayed updates, possible bugs, less support and other issues stops me.

I do respect anyone who takes the pursuit for privacy seriously but the drop of convenience and productivity it often causes is to much for me. 🤷🏻‍♂️

Collapse
0xdonut profile image
Mr F. Author

Likewise. I use macOS and have jumped back and forth from various linux distros for the reasons you outlined.

I held off moving to VSCodium because Visual Studio Code was good enough with telemetry disabled. But I made the switch anyway and it's been pain free so far.

Collapse
conermurphy profile image
Coner Murphy

I'm currently using Pop OS (a version of Ubuntu) after moving from Windows 10 (because of privacy) but due to the lack of support for software like Adobe. (I do expect this for Linux due to the nature of it). But, I'm heavily debating a switch to MacOS for this reason but my main pain point is how much Apple charge for it.

I would move off VS Code but I've found if companies are going to take my data, I want something in return. This is why I'm not against using Google and its services. I might as well get a service off them for giving them my data.

Thread Thread
0xdonut profile image
Mr F. Author

Unless you use something like freebsd, there is always a compromise to be made. I run my own wireguard vpn, use protonmail. But I also use a bunch of things just to get stuff done. It's just a case of taking control where feasible I guess.

Thread Thread
conermurphy profile image
Coner Murphy

That's exactly my mentality, I admit I could commit more. I could move off Gmail but to do so would be a lot of work and I'm not sure what I'd actually gain from it.

I love that the options exist and they definitely should but unfortunately I think the convenience these big companies offer to everyone outweighs people's desire to control their data. 🤷🏻‍♂️

Thread Thread
0xdonut profile image
Collapse
roh_mish profile image
Rohan Mishra

well technically, it shouldn't pose any issue since your are using the same thing minus the telemetry.

That said, I personally would still stick to VS Code.

Collapse
nikitarudenko profile image
Nikita Rudenko

I tried VSCodium before. It's absolutely the same as VSCode, it's true. But the reason I switched back to VSCode is that it has a better logo. Yeah, telemetry isn't an argument for me.

I found an interesting use case for VSCodium though. I set it up and use for Python only. VSCode is for frontend only.

Collapse
vjee profile image
Jasper Van Gestel

Don't forget to add a \ between Application and Support in steps 2 and 5.
Otherwise the path will be incorrect and the cp and mv commands will fail.

Eg: ~/Library/Application\ Support/VSCodium/User/settings.json

Collapse
0xdonut profile image
Mr F. Author

thanks for pointing that out! updated

Collapse
carloswhite profile image
Carlos A. Blanco

While it’s true that you could better protect yourself privacy-wise with VSCodium, the same cannot be said about third-party extensions, which may very well contain what you are trying to protect yourself of: telemetry[1]. All in all, good article.

1: code.visualstudio.com/docs/getstar...

Collapse
alexa profile image
Alexa Griffin

I am just going to say that even if this offered a noticeably better experience (it doesn't, it is "better" but quite frankly I don't care if vscode is gathering data on me, I'm already using windows so Microsoft already has all the access it wants) I wouldn't do this because it adds another point of failure, another thing to consider, and another step when setting up a computer.
All that said it is nice that this exists because some people care about that.

Collapse
rodperottoni profile image
Rodolfo Perottoni

People nowadays run from telemetry like they are some sort of billionaire philanthropist or even know stuff governments are after and I simply don’t get it.
You’re not that important, and whatever is it that you do isn’t valuable on its own. No one will be sitting at Microsoft talking about what one single person did when they opened VSCode on XYZ date because this is not how analytics data is used... so please save your time and just use whatever editor you’d like. You can run from telemetry as much as you’d like, but you’ll never be able to escape from it. If you use Github Microsoft already has all the data they want from you anyways, and guess what? there’s nothing you can do. So yeah... good luck trying to be anonymous.

Collapse
nathilia_pierce profile image
Nathilia Pierce

I don't think a prompt to enable "anonymized" telemetry during the first setup would've been bad (defaulting to no).

And you don't have to be a target to simple not want your data being sent to a third-party. Our data is one of the most precious commodities of today, and yes - people really do care about your data. After all, Google makes millions off of yours.

All I'm saying, is that there is no reason people shouldn't have a choice. You'll never be 100% anonymous, but you can make the process hard and involved for someone to track you down and gather your information.

Power to the people, not the corporations.

Collapse
0xdonut profile image
Collapse
magnusmaynard profile image
Magnus Maynard

Bare in mind the extensions you install might have their own telemetry, for example the cpp extension. And I don't think there is a way to turn their telemetry off :/

I have ended up firewalling vscode to completely block telemetry, but I wouldn't recommend it.

Collapse
dilipm1 profile image
dilipm1

I just don't get it.
What do you think my legal team missed and that you didn't.??? Is my legal misleading me?
My legal says articles like this are just unnecessary techno panic!!!? Are they misleading me? Please advise?

Collapse
0xdonut profile image
Mr F. Author

For your legal team in Bangalore.

MIT is one of the most permissive free software licenses. Basically, you can do whatever you want with a software licensed under the MIT license - just make sure that you add a copy of the original MIT license and copyright notice to it.

The BSD license is another highly permissible license that allows you to modify and redistribute software licensed under the BSD license as you like just as long as you attach a copy of the original BSD License to it.

The MIT and BSD licenses, both, don’t require you to release the source code of your software, nor do they have any conditions about mixing the code licensed under them with codes released under other licenses.

However, in the case of the Microsoft Public License, if you do choose to release the source code of your product, you can do so only under the Microsoft Public License.

What is the difference between the Microsoft Public License and the MIT/BSD licenses?

Collapse
rdewolff profile image
Rom

The main reason for doing that switch is ethical.

But there could be some other reasons. We have monitored the traffic of VSCode and it's literally sending traffic over the internet every minutes, back and forth, lots of data. That alone leads to some CPU usage, internet traffic and battery usage.

So if you want to have a more efficient setup, go green mind, and you don't want that Microsoft monitors all your keystrokes and work, go for VSCodium.

We are many that did the jump. Thanks to @0xdonut for the great work which make the jump even easier :)

Collapse
patarapolw profile image
Pacharapol Withayasakpunt

Recently, VSCodium asks me for an update. I wonder if it is true that there is no telemetry?

Collapse
0xdonut profile image
Mr F. Author

I don't think it's transmitting information, just checking and receiving from the github releases

Collapse
diamondfrost profile image
Diamond-Frost

What I don't get here (in the comments and on some other pages) is that apparently VSCode isn't Open Source? VSCode has a GitHub with the entire full source - VSCodium even DEPENDS on that GitHub. Do your (not directed at the author but at the reader) research before you spout such nonsense like "VSCode isn't FOSS" even though it very much is

(Quote from the VSCodium GitHub)

This repo exists so that you don't have to download+build from source. The build scripts in this repo clone Microsoft's vscode repo, run the build commands, and upload the resulting binaries to GitHub releases. These binaries are licensed under the MIT license. Telemetry is disabled.
If you want to build from source yourself, head over to Microsoft's vscode repo and follow their instructions. This repo exists to make it easier to get the latest version of MIT-licensed VSCode.

Collapse
jcarrete5 profile image
Jason

There are differences between vscode and vscode-oss: github.com/microsoft/vscode/wiki/D... . The main reason I haven't switched to vscode-oss is because I use the remote ssh development features of vscode often enough that it would be annoying to lose them.

Collapse
0xdonut profile image
Mr F. Author

Since writing this article a lot of extensions and plugins I used have been blocked due to licencing.
I've gone back to VSCode (reluctantly), but I've disabled all the telemetry features.

Collapse
doztk421 profile image
Dozervirus

Even though a lot of extensions work for both, they are not available within the marketplace. In my case looking for a simple TimeStamp is going to make me go back to VSCode. Because, yes, I could set up VSCode, export the settings, go back to Codium, import those settings. But good gods … not compelling enough.

Collapse
bugdiver profile image
Vinay Shankar Shukla

As a user and an extension developer (specifically for this) I prefer the vscode. So far our conversation, issue-resolving with the vscode, has been pretty good. I really don't know how it will be if we use codium instead of vscode. Will the codium team be responsible or vscode?

So I would still prefer vscode for their prompt responses.

Collapse
0xdonut profile image
Mr F. Author

The difference is just who builds the vscode. The application and licence are the end product. So I am taking an educated guess that any issue would be the same because the code base is the same.

Collapse
chialpha profile image
Chima Okwara

If you're on Linux, a better way to keep your extensions without having to reinstall them:

When removing vscode, use:
apt remove code

instead of purge.

Then, after installing codium, go to your terminal and do:
mv ~/.vscode/extensions/ ~/vscode-oss/extensions.

That worked for me.

instead of purge. Then, after installing codium, go to your terminal and enter this:

ln -s ~/.vscode/extensions ~/vscode-oss/extensions

or do:

Collapse
jeremy_h73 profile image
Jeremy

Sorry but this is nonsense to me.
The "telemetry" is useful for Microsoft to make VSCode better.
Don't you want VSCode to be better?
It tells Microsoft how much and in which ways people are using VSCode, but it does not spy on the code you're writing.

Collapse
0xdonut profile image
Mr F. Author

Think of it what you will, I did say they use it for the reasons you've stated.

But if you subscribe to FOSS philosophy then VSCodium is an option available.

Collapse
geraldew profile image
geraldew

Good piece, this is something I can pass to people before they install the non Open Source edition. Thanks for writing it!

Collapse
0xdonut profile image
Mr F. Author

My pleasure :)

Collapse
carlparrish profile image
Carl Parrish

If you are thinking about doing this consider using Theia instead I just switched over to gitpod (gitpod.io) this weekend. It uses all the same extension as VSO but in my opinion is better.

Collapse
awlsomealex profile image
Alex

Wasn't aware of the licensing part. Normally I would just turn off Telemetry. Painless enough to switch on Fedora so I did so. Literally no difference. Thanks for the write-up!

Collapse
mrln profile image
Klickmichel

Thanks for this migration guide.
Just your code line for step 5 (reinstalling the extensions) doesn‘t work.
The command for VSCodium in terminal is ‚codium‘ and not ‚code‘.

Collapse
0xdonut profile image
Mr F. Author

Hmm, I've not had this issue, my code still works as expected...

If the problem still persists l guess you could alias it alias code='codium'

Collapse
ryanhossain9797 profile image
Raiyan

So how does this update, on Linux specifically?
The steps to carry over extensions are for migrating, how do new extensions install? same as regular vscode?

Collapse
0xdonut profile image
Mr F. Author

Yes, everything else operates the same

Collapse
ryanhossain9797 profile image
Raiyan

In that case I'll definitely check it out

Collapse
patarapolw profile image
Pacharapol Withayasakpunt

You totally forgot settings.json. How do I find and copy it?

Collapse
0xdonut profile image
Mr F. Author

I did mention above that I wouldn't cover moving settings across.

I'll update the tutorial to cover them now.