DEV Community

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

Posted on • Updated on

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

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
Enter fullscreen mode Exit fullscreen mode

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)"
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

4. Install VSCodium

brew cask install vscodium
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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!

Oldest comments (91)

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.

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 • Edited

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

Thread Thread
 
airtonix profile image
Zenobius Jiricek

With the amount of people that Voted for Joe Biden, you will be dissapointed to learn that "other people than you" is remarkebly small.

People don't care about their freedom.

Collapse
 
euler2718 profile image
John Corley

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

Collapse
 
andrewmcodes profile image
Andrew Mason

Thanks for sharing. Been thinking about this recently and may give this a shot.

Collapse
 
0xdonut profile image
Mr F. • Edited

I put off the switch for a while because I have so many extensions that I wanted to take with me. The only thing I had to tweak in the end were some settings, otherwise it's been completely pain free.

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. • Edited

😂😂 - 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
 
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.

My pleasure :)

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. • Edited

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

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.

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
 
patarapolw profile image
Pacharapol Withayasakpunt

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

Collapse
 
0xdonut profile image
Mr F. • Edited

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

I'll update the tutorial to cover them now.

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.

thanks for pointing that out! updated

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.

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
 
0xdonut profile image
Mr F.

this is your comment

Collapse
 
nikitarudenko profile image
Nikita Rudenko • Edited

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
 
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
 
0xdonut profile image
Mr F.

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
 
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
 
gayanhewa profile image
Gayan Hewa • Edited

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
 
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
 
orangutech profile image
Matthew Parsons

*un*scrupulous.

Collapse
 
0xdonut profile image
Mr F.

facepalm

Some comments may only be visible to logged-in visitors. Sign in to view all comments.