DEV Community

Cover image for Migrating from VS Code to VS Codium on Linux painlessly
Rob OLeary
Rob OLeary

Posted on • Originally published at roboleary.net

Migrating from VS Code to VS Codium on Linux painlessly

Switching to VS Codium does not require much effort. You just need to install it and copy your configuration files across. If you are wondering why should I switch, you can read my previous article where I compare the 2 editors.

Install via a package manager (GNU/Linux)

My preference is to install VS Codium through a package manager and get automatic updates. You can consult the installation instructions on the official website for more info, there are options for most Linux distributions.

I got set-up through the vscodium-deb-rpm-repo on my Ubuntu machine. This repo covers various Debian-based distributions and comes with a good set of instructions.

I added it using apt-key. You need the software-properties-common package available to do it this way.

wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | sudo apt-key add -
sudo apt-add-repository 'deb https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/ vscodium main'
sudo apt update
sudo apt install codium
Enter fullscreen mode Exit fullscreen mode

It worked as expected for me! 🌟

If there isn't an option for your particular package manager, it is also available in the Snap Store as Codium. I did use snap package for while previously and found that the udpates lagged behind a little bit.

snap install codium --classic
Enter fullscreen mode Exit fullscreen mode

Migrate configuration

You can use the Settings Sync extension to upload/download your configuration from a GitHub Gist. So, you can install the extension in VS Code and upload everything, and then install the extension in VS Codium and download everything. I didn't try this myself. I found it quicker to move the configuration files myself as below.

Migrate settings and keybindings manually

VS Code stores your user settings in $HOME/.config/Code/User. VS Codium store its settings in $HOME/.config/VSCodium/User. You can copy the entire contents of the folder across if you want.

# copy everything
cp -r $HOME/.config/Coe/User/* $HOME/.config/VSCodium/User
Enter fullscreen mode Exit fullscreen mode

I targeted the keybindings, settings, and user snippets with the following from the command-line:

# copy keybindings, settings, and snippets
cp -r $HOME/.config/Code/User/settings.json $HOME/.config/Code/User/snippets $HOME/.config/Code/User/keybindings.json $HOME/.config/VSCodium/User
Enter fullscreen mode Exit fullscreen mode

Migrate extensions manually

VSCodium stores its extension files in ~/.vscode-oss. You can copy the extensions from ~/.vscode/extensions to ~/.vscode-oss/extensions.

# copy extensions
sudo cp -R ~/.vscode/extensions ~/.vscode-oss
Enter fullscreen mode Exit fullscreen mode

Some of Microsoft's extensions have restricted licenses, so if you use them with VS Codium you are breaking the license terms. Keep this in mind if you copy across all your extensions.

This is the list of Microsoft extensions with their licenses. The most popular Microsoft extensions with restricted licenses are:

  1. C# language (powered by OmniSharp): Official C# language support.
  2. C++ language: Official C++ language support.
  3. Live Share: Collaboratively edit and debug with others in real time in your editor.
  4. Remote - SSH - Work with source code in any location by opening folders on a remote machine/VM using SSH.
  5. Remote - Containers - Work with a separate toolchain or container based application by opening any folder mounted into or inside a container.
  6. Remote - WSL - Get a Linux-powered development experience from the comfort of Windows by opening any folder in the Windows Subsystem for Linux.

There are some alternatives for these extensions in the Open VSX Registry. I did not use any of the extensions above, so I did not need to search!

What about automatic updates?

I have been using VS Codium a while now, and the updates are done like clockwork. However, you may get nagged before the update is performed by a popup notification whenever you open VS Code, as below.

update badge on manage button

You will see a badge on the manage button in the activity bar whenever an update is available. The default location is the bottom left corner. I switched the activity bar to the right-hand side, so it looks like the following for me:

update badge on manage button

To update to the latest version, do it through your package manager. For the APT package manager, you are using the upgrade command.

sudo apt-get upgrade
Enter fullscreen mode Exit fullscreen mode

What about the extensions?

VS Codium is configured to use Open VSX Registry, rather than the Microsoft VS Code Marketplace. Your experience with the marketplace will be the same as with VS Code.

By now, Open VSX Registry has a lot of the same extensions as the Microsoft VS Code Marketplace. For licensing reasons, the Microsoft extensions mentioned previously are not there. Ultimately, it is up to the community to plug these gaps, and keep things ticking over.

As far as I can tell, a lot of the extensions are updated in Open VSX Registry at a similar cadence to VS Code Marketplace, but they are not totally aligned when extensions are not directly published by authors to the Open VSX Registry. So, you will encounter some differences. For example, the latest version of the ESLint extension is v2.2.3 in the VS Code Marketplace, and it is v2.2.2 in Open VSX Registry. This is not a deal-breaker for me, but it could be for you!

My own experience is that I did not find any extensions missing, and I do not need to use the absolute latest of an extension. I tend to use less extensions than most. So, your mileage may vary.

Final thoughts

I found it painless to switch to VS Codium. You can try them out side-by-side and see if there is anything you miss, or if you encounter any snags before making the switch full-time. The benefit is that you will be using a more privacy-oriented, fully open-source version of the editor. Give it a shot!

Discussion (6)

Collapse
codewander profile image
codewander

Regarding remote ssh, one way to use the alternatives preconfigured is to use gitpod.

Collapse
robole profile image
Rob OLeary Author

Have you used it much?

I guess Gitpod could be used for live sharing of a workspace too.

Collapse
codewander profile image
codewander

I have only used it briefly. I want to keep trying it out later.

Collapse
robole profile image
Rob OLeary Author

man falling off cliff and scared freefalling, but lands softly into bed of flowers

Collapse
marcelgrilo profile image
Marcel Mendonca Grilo • Edited on

The benefit is not really a benefit.... Then why migrante?

Collapse
robole profile image
Rob OLeary Author • Edited on

Hi Marcel,

You can read the related articles and make up your own mind.

Your question suggests that maybe you do not understand the difference between VS Code and VS Codium.

If you are happy with VS Code, then keep using it!