No longer requires to install an overlay.
9.6 KiB
More Info
Table of Contents
- Getting all the Telemetry Out
- Extensions + Marketplace
- Migrating from Visual Studio Code to VSCodium
- How do I run VSCodium in portable mode?
- How do I press and hold a key and have it repeat in VSCodium?
- How do I open VSCodium from the terminal?
Getting all the Telemetry Out
Even though we do not pass the telemetry build flags (and go out of our way to cripple the baked-in telemetry), Microsoft will still track usage by default.
We do however set the default telemetry.enableCrashReporter
and telemetry.enableTelemetry
values to false. You can see those by viewing your VSCodium settings.json and searching for telemetry
.
The instructions here and here help with explaining and toggling telemetry.
It is also highly recommended that you review all the settings that "use online services" by following these instructions. The @tag:usesOnlineServices
filter on the settings page will show that by default:
- Extensions auto check for updates and auto install updates
- Searches within the app are sent to an online service for "natural language processing"
- Updates to the app are fetched in the background
These can all be disabled.
Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension. (For example, the C# extension ms-vscode.csharp
sends tracking data to Microsoft.)
Replacements to Microsoft Online Services
When searching the @tag:usesOnlineServices
filter, note that while the "Update: Mode" setting description still says "The updates are fetched from a Microsoft online service", VSCodium's build script sets the updateUrl
field in product.json
to that of VSCodium's own small update server, so enabling that setting won't actually result in any calls to Microsoft servers.
Likewise, while the descriptions for "Extensions: Auto Check Updates" and "Extensions: Auto Update" include the same phrase, VSCodium replaces the Visual Studio Marketplace with Open VSX, so these settings won't call Microsoft, either.
Extensions + Marketplace
The product.json
file is set up to use open-vsx.org as extension gallery, which has an adapter to the Marketplace API used by VS Code. Since that is a rather new project, you will likely miss some extensions you know from the VS Code Marketplace. You have the following options to obtain such missing extensions:
- Ask the extension maintainers to publish to open-vsx.org in addition to the VS Code Marketplace. The publishing process is documented in the Open VSX Wiki.
- Create a pull request to this repository to have the @open-vsx service account publish the extensions for you.
- Download and install the vsix files.
See this article for more information on the motivation behind Open VSX.
How to use the VS Code Marketplace
You can switch and use the VS Code marketplace by using the following solutions. However, note that it is not clear whether this is legal.
With the following environment variables:
VSCODE_GALLERY_SERVICE_URL='https://marketplace.visualstudio.com/_apis/public/gallery'
VSCODE_GALLERY_CACHE_URL='https://vscode.blob.core.windows.net/gallery/index'
VSCODE_GALLERY_ITEM_URL='https://marketplace.visualstudio.com/items'
VSCODE_GALLERY_CONTROL_URL=''
VSCODE_GALLERY_RECOMMENDATIONS_URL=''
Or by creating a custom product.json
at the following location:
- Windows:
%APPDATA%\VSCodium
or%USERPROFILE%\AppData\Roaming\VSCodium
- macOS:
~/Library/Application Support/VSCodium
- Linux:
$XDG_CONFIG_HOME/VSCodium
or~/.config/VSCodium
with the content:
{
"extensionsGallery": {
"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
"cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
"itemUrl": "https://marketplace.visualstudio.com/items",
"controlUrl": "",
"recommendationsUrl": ""
}
}
Proprietary Debugging Tools
The debugger provided with Microsoft's C# extension as well as the (Windows) debugger provided with their C++ extension are very restrictively licensed to only work with the offical Visual Studio Code build. See this comment in the C# extension repo and this comment in the C++ extension repo.
A workaround exists to get debugging working in C# projects, by using Samsung's opensource netcoredbg package. See this comment for instructions on how to set that up.
Proprietary Extensions
Like the debuggers mentioned above, some extensions you may find in the marketplace (like the Remote Development Extensions) only function with the offical Visual Studio Code build. You can work around this by adding the extension's internal ID (found on the extension's page) to the extensionAllowedProposedApi
property of the product.json in your VSCodium installation. For example:
"extensionAllowedProposedApi": [
// ...
"ms-vscode-remote.vscode-remote-extensionpack",
"ms-vscode-remote.remote-wsl",
// ...
],
In some cases, the above change won't help because the extension is hard-coded to only work with the official Visual Studio Code product.
Migrating from Visual Studio Code to VSCodium
VSCodium (and a freshly cloned copy of vscode built from source) stores its extension files in ~/.vscode-oss
. So if you currently have Visual Studio Code installed, your extensions won't automatically populate. You can reinstall your extensions from the Marketplace in VSCodium, or copy the extensions
from ~/.vscode/extensions
to ~/.vscode-oss/extensions
.
Visual Studio Code stores its keybindings.json
and settings.json
file in these locations:
- Windows:
%APPDATA%\Code\User
- macOS:
$HOME/Library/Application Support/Code/User
- Linux:
$HOME/.config/Code/User
You can copy these files to the VSCodium user settings folder:
- Windows:
%APPDATA%\VSCodium\User
- macOS:
$HOME/Library/Application Support/VSCodium/User
- Linux:
$HOME/.config/VSCodium/User
To copy your settings manually:
- In Visual Studio Code, go to Settings (Command+, if on a Mac)
- Click the three dots
...
and choose 'Open settings.json' - Copy the contents of settings.json into the same place in VSCodium
How do I run VSCodium in portable mode?
You can follow the Portable Mode instructions from the Visual Studio Code website.
- Windows / Linux : the instructions can be followed as written.
- macOS : portable mode is enabled by the existence of a specially named folder. For Visual Studio Code that folder name is
code-portable-data
. For VSCodium, that folder name iscodium-portable-data
. So to enable portable mode for VSCodium on Mac OS, follow the instructions outlined in the link above, but create a folder namedcodium-portable-data
instead ofcode-portable-data
.
How do I press and hold a key and have it repeat in VSCodium (Mac)?
This is a common question for Visual Studio Code and the procedure is slightly different in VSCodium because the defaults
path is different.
$ defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false
How do I open VSCodium from the terminal?
- Go to the command palette (View | Command Palette...)
- Choose
Shell command: Install 'codium' command in PATH
.
This allows you to open files or directories in VSCodium directly from your terminal:
~/in-my-project $ codium . # open this directory
~/in-my-project $ codium file.txt # open this file
Feel free to alias this command to something easier to type in your shell profile (e.g. alias code=codium
).