Преглед на файлове

Merge branch 'master' into insider

Baptiste Augrain преди 2 седмици
родител
ревизия
9e38904cc5

+ 4 - 4
README.md

@@ -2,7 +2,7 @@
     <br />
     <img src="./icons/stable/codium_cnl.svg" alt="VSCodium Logo" width="200"/>
     <h1>VSCodium</h1>
-    <h3>Free/Libre Open Source Software Binaries of VS Code</h3>
+    <h3>Free/Libre Open Source Software Binaries of Visual Studio Code</h3>
 </div>
 
 <div id="badges" align="center">
@@ -133,7 +133,7 @@ Build instructions can be found [here](https://github.com/VSCodium/vscodium/blob
 
 ## <a id="why"></a>Why Does This Exist
 
-This repository contains build files to generate free release binaries of Microsoft's VS Code. When we speak of "free software", we're talking about freedom, not price.
+This repository contains build files to generate free release binaries of Microsoft's Visual Studio Code. When we speak of "free software", we're talking about freedom, not price.
 
 Microsoft's releases of Visual Studio Code are licensed under [this not-FLOSS license](https://code.visualstudio.com/license) and contain telemetry/tracking. According to [this comment](https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005) from a Visual Studio Code maintainer:
 
@@ -143,7 +143,7 @@ Microsoft's releases of Visual Studio Code are licensed under [this not-FLOSS li
 
 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](https://github.com/VSCodium/vscodium/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](https://github.com/Microsoft/vscode) and follow their [instructions](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run). This repo exists to make it easier to get the latest version of MIT-licensed VS Code.
+If you want to build from source yourself, head over to [Microsoft's vscode repo](https://github.com/Microsoft/vscode) and follow their [instructions](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run). This repo exists to make it easier to get the latest version of MIT-licensed Visual Studio Code.
 
 Microsoft's build process (which we are running to build the binaries) does download additional files. Those packages downloaded during build are:
 
@@ -167,7 +167,7 @@ If you have any issue, please check [the Troubleshooting page](https://github.co
 
 ### Extensions and the Marketplace
 
-According to the VS Code Marketplace [Terms of Use](https://aka.ms/vsmarketplace-ToU), _you may only install and use Marketplace Offerings with Visual Studio Products and Services._ For this reason, VSCodium uses [open-vsx.org](https://open-vsx.org/), an open source registry for VS Code extensions. See the [Extensions + Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/index.md#extensions-marketplace) section on the Docs page for more details.
+According to the Visual Studio Marketplace [Terms of Use](https://aka.ms/vsmarketplace-ToU), _you may only install and use Marketplace Offerings with Visual Studio Products and Services._ For this reason, VSCodium uses [open-vsx.org](https://open-vsx.org/), an open source registry for Visual Studio Code extensions. See the [Extensions + Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/index.md#extensions-marketplace) section on the Docs page for more details.
 
 Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [this note](https://github.com/VSCodium/vscodium/blob/master/docs/index.md#proprietary-debugging-tools) on the Docs page for what's been found so far and possible workarounds.
 

+ 3 - 3
announcements-extra.json

@@ -1,7 +1,7 @@
 [
   {
-    "id": "#1227",
-    "title": "Issue(macOS): manual update to `1.90.x`",
-    "url": "https://github.com/VSCodium/vscodium/issues/1917"
+    "id": "#2358",
+    "title": "Wanted! Feedback for new website :)",
+    "url": "https://github.com/VSCodium/vscodium/discussions/2358"
   }
 ]

+ 1 - 1
build/linux/riscv64/ripgrep.sh

@@ -9,7 +9,7 @@ if [ "$#" -ne 1 ]; then
 fi
 
 RG_PATH="$1/@vscode/ripgrep/bin/rg"
-RG_VERSION="14.1.1-3"
+RG_VERSION="14.1.1-4"
 
 echo "Replacing ripgrep binary with riscv64 one"
 

+ 2 - 0
docs/accounts-authentication.md

@@ -1,3 +1,5 @@
+<!-- order: 0 -->
+
 # Accounts authentication
 
 ## GitHub

+ 25 - 11
docs/extensions-compatibility.md

@@ -1,29 +1,43 @@
+<!-- order: 0 -->
+
 # Extensions compatibility
 
-## Partial Compatibility
+## Table of Contents
 
-- [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
-> [Since May 2021](https://devblogs.microsoft.com/python/python-in-visual-studio-code-may-2021-release/), Python is using a closed source language server ([Pylance](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance))
+- [Incompatibility](#incompatibility)
+- [Replacements](#replacements)
+  - [C/C++](#cc)
+  - [Python](#python)
+  - [Remote](#remote)
+
+## <a id="incompatibility"></a>Incompatibility
 
-## Incompatibility
+Most MS extensions are limited to run on only MS products by their license and by running additional checks in their proprietary code.
 
+- [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
 - [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)
 > It's officially unsupported: https://github.com/James-Yu/LaTeX-Workshop/wiki/FAQ#vscodium-is-not-officially-supported
-
-## Incompatibility due to licensing
-
-The following extensions are not compatible with VSCodium due to their licensing:
-
 - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare)
+- [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
 - [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
 - [Remote - SSH](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh)
 - [Remote - SSH: Editing Configuration Files](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh-edit)
 - [Remote - WSL](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl)
 
-## Replacements
+##<a id="replacements"></a>Replacements
 
 The following extensions are functional replacements for incompatible extensions:
 
+### <a id="cc"></a>C/C++
+
+- [clangd](https://open-vsx.org/extension/llvm-vs-code-extensions/vscode-clangd)
+
+### <a id="python"></a>Python
+
+- [BasedPyright](https://open-vsx.org/extension/detachhead/basedpyright)
+
+### <a id="remote"></a>Remote
+
 - [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh)
+> SSH server must be configured with the setting `AllowTcpForwarding yes`.
 - [Open Remote - WSL](https://open-vsx.org/extension/jeanp413/open-remote-wsl)
-- [BasedPyright](https://open-vsx.org/extension/detachhead/basedpyright) (open-source alternative to Pylance)

+ 136 - 0
docs/extensions.md

@@ -0,0 +1,136 @@
+<!-- order: 15 -->
+
+# Extensions + Marketplace
+
+## Table of Contents
+
+- [Marketplace](#marketplace)
+- [How to use the OpenVSX Marketplace](#howto-openvsx-marketplace)
+- [How to use a different extension gallery](#howto-switch-marketplace)
+- [How to self host your own extension gallery](#howto-selfhost-marketplace)
+- [Visual Studio Marketplace](#visual-studio-marketplace)
+- [Proprietary Debugging Tools](#proprietary-debugging-tools)
+- [Proprietary Extensions](#proprietary-extensions)
+- [Using the "VSIX Manager" Extension](#vsix-manager)
+- [Extensions compatibility](https://github.com/VSCodium/vscodium/blob/master/docs/extensions-compatibility.md)
+
+## <a id="marketplace"></a>Marketplace
+
+Being a vscode based editor, VSCodium gets additional features by installing Visual Studio Code extensions.
+Unfortunately, as Microsoft [prohibits usages of the Microsoft marketplace by any other products](https://github.com/microsoft/vscode/issues/31168) or redistribution of `.vsix` files from it, in order to use Visual Studio Code extensions in non-Microsoft products those need to be installed differently.
+
+By default, the `product.json` file is set up to use [open-vsx.org](https://open-vsx.org/) as extension gallery, which has an [adapter](https://github.com/eclipse/openvsx/wiki/Using-Open-VSX-in-VS-Code) to the Marketplace API used by Visual Studio Code. Since that is a rather new project, you will likely miss some extensions you know from the Visual Studio Marketplace. You have the following options to obtain such missing extensions:
+
+* Ask the extension maintainers to publish to [open-vsx.org](https://open-vsx.org/) in addition to the Visual Studio Marketplace. The publishing process is documented in the [Open VSX Wiki](https://github.com/eclipse/openvsx/wiki/Publishing-Extensions).
+* Create a pull request to [this repository](https://github.com/open-vsx/publish-extensions) to have the [@open-vsx](https://github.com/open-vsx) service account publish the extensions for you.
+* Download and [install the vsix files](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix), for example from the release page in their source repository.
+
+## <a id="howto-openvsx-marketplace"></a>How to use the Open VSX Registry
+
+As noted above, the [Open VSX Registry](https://open-vsx.org/) is the pre-set extension gallery in VSCodium. Using the extension view in VSCodium will therefore by default use it.
+See [this article](https://www.gitpod.io/blog/open-vsx/) for more information on the motivation behind Open VSX.
+
+## <a id="howto-switch-marketplace"></a>How to use a different extension gallery
+
+You can switch from the pre-set Open VSX Registry by configuring the endpoints using the following solutions.
+
+You can either use the following environment variables:
+- `VSCODE_GALLERY_SERVICE_URL` ***(required)***
+- `VSCODE_GALLERY_ITEM_URL` ***(required)***
+- `VSCODE_GALLERY_CACHE_URL`
+- `VSCODE_GALLERY_CONTROL_URL`
+- `VSCODE_GALLERY_EXTENSION_URL_TEMPLATE` ***(required)***
+- `VSCODE_GALLERY_RESOURCE_URL_TEMPLATE`
+
+Or by creating a custom `product.json` at the following location (replace `VSCodium` by `VSCodium - Insiders` if you use that):
+- Windows: `%APPDATA%\VSCodium` or `%USERPROFILE%\AppData\Roaming\VSCodium`
+- macOS: `~/Library/Application Support/VSCodium`
+- Linux: `$XDG_CONFIG_HOME/VSCodium` or `~/.config/VSCodium`
+
+with the content like:
+
+```jsonc
+{
+  "extensionsGallery": {
+    "serviceUrl": "", // required
+    "itemUrl": "", // required
+    "cacheUrl": "",
+    "controlUrl": "",
+    "extensionUrlTemplate": "", // required
+    "resourceUrlTemplate": "",
+  }
+}
+```
+
+## <a id="howto-selfhost-marketplace"></a>How to self-host your own extension gallery
+
+Individual developers and enterprise companies in regulated or security-conscious industries can self-host their own extension gallery.
+
+There are likely other options, but the following were reported to work:
+
+* [Open VSX](https://github.com/eclipse/openvsx) eclipse open-source project
+  While the public instance which is run by the Eclipse Foundation is the pre-set endpoint in VSCodium, you can host your own instance.
+
+    > Open VSX is a [vendor-neutral](https://projects.eclipse.org/projects/ecd.openvsx) open-source alternative to the [Visual Studio Marketplace](https://marketplace.visualstudio.com/vscode). It provides a server application that manages [Visual Studio Code extensions](https://code.visualstudio.com/api) in a database, a web application similar to the Visual Studio Marketplace, and a command-line tool for publishing extensions similar to [vsce](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#vsce).
+
+* [code-marketplace](https://coder.com/blog/running-a-private-vs-code-extension-marketplace) open-source project
+
+    > `code-marketplace` is a self-contained go binary that does not have a frontend or any mechanisms for extension authors to add or update extensions in the marketplace. It simply reads extensions from file storage and provides an API for VSCode compatible editors to consume.
+
+## <a id="visual-studio-marketplace"></a>Visual Studio Marketplace
+
+As with any online service, ensure you've understood [its terms of use](https://aka.ms/vsmarketplace-ToU) which include:
+> Marketplace Offerings are intended for use only with Visual Studio Products and Services and you may only install and use Marketplace Offerings with Visual Studio Products and Services.
+
+So, we can't provide any help if you intend to infringe their terms of use.
+
+Also note that this extension gallery hosts multiple extensions that are non-free and have license-agreements that explicitly forbid using them in non-Microsoft products, along with using telemetry.
+
+## <a id="proprietary-debugging-tools"></a>Proprietary Debugging Tools
+
+The debugger provided with Microsoft's [C# extension](https://github.com/OmniSharp/omnisharp-vscode) as well as the (Windows) debugger provided with their [C++ extension](https://github.com/Microsoft/vscode-cpptools) are very restrictively licensed to only work with the official Visual Studio Code build. See [this comment in the C# extension repo](https://github.com/OmniSharp/omnisharp-vscode/issues/2491#issuecomment-418811364) and [this comment in the C++ extension repo](https://github.com/Microsoft/vscode-cpptools/issues/21#issuecomment-248349017).
+
+A workaround exists to get debugging working in C# projects, by using Samsung's opensource [netcoredbg](https://github.com/Samsung/netcoredbg) package. See [this comment](https://github.com/VSCodium/vscodium/issues/82#issue-409806641) for instructions on how to set that up.
+
+## <a id="proprietary-extensions"></a>Proprietary Extensions
+
+Like the debuggers mentioned above, some extensions you may find in the marketplace (like the [Remote Development Extensions](https://code.visualstudio.com/docs/remote/remote-overview)) only function with the official 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:
+
+```jsonc
+  "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.
+
+## <a id="vsix-manager"></a>Using the "VSIX Manager" Extension
+
+The [**VSIX Manager**](https://github.com/zokugun/vscode-vsix-manager) extension provides a powerful and user-friendly interface for managing `.vsix` files directly within VSCodium. Its author is the main maintainer of VSCodium ;)
+
+It is particularly beneficial for:
+- **Support for Multiple Marketplaces**: Seamlessly install and manage extensions from several marketplaces at the same time, allowing access to a broader range of extensions.
+- **Local Files**: Manage a collection of `.vsix` files stored locally.
+- **GitHub/Forgejo Release**: Install the extension directly from its GitHub/Forgejo release pages.
+- **Fallback Options**
+
+### <a id="use-cases"></a>Use Cases
+
+- Developers working offline can easily manage `.vsix` files.
+- Teams can distribute specific versions of extensions across systems.
+- Enterprises with restricted environments can maintain control over installed extensions.
+- Users can connect to multiple marketplaces and access a wider range of extensions or switch seamlessly between them.
+
+### <a id="marketplace-support"></a>Marketplace Support
+
+The **VSIX Manager** extension supports managing extensions from several marketplaces simultaneously. This feature enables:
+- **Access to Diverse Extensions**: Install extensions from different sources like Open VSX or private repositories.
+- **Fallback Options**: Ensure extension availability even if one marketplace is temporarily inaccessible.
+- **Enterprise Flexibility**: Use private or self-hosted marketplaces alongside public ones to meet security and compliance requirements.
+- **Custom Configurations**: Prioritize specific marketplaces for particular needs while keeping access to others.
+
+## [Extensions compatibility](https://github.com/VSCodium/vscodium/blob/master/docs/extensions-compatibility.md)
+

+ 50 - 0
docs/getting-started.md

@@ -0,0 +1,50 @@
+<!-- order: 5 -->
+
+# Getting Started with VSCodium
+
+This guide will help you get started with VSCodium.
+
+## Table of Contents
+
+- [Installation](#installation)
+- [First Steps](#first-steps)
+- [Basic Usage](#basic-usage)
+- [Keyboard Shortcuts](#keyboard-shortcuts)
+- [Next Steps](#next-steps)
+
+## <a id="installation"></a>Installation
+
+VSCodium can be installed on Windows, macOS, and Linux. Visit the [download page](https://vscodium.com/#install) for installation instructions.
+
+## <a id="first-steps"></a>First Steps
+
+After installing VSCodium, here are some first steps to get started:
+
+1. **Open a folder**: Use File > Open Folder to open your project
+2. **Install extensions**: Click on the Extensions icon in the sidebar to browse and install extensions
+3. **Configure settings**: Use File > Preferences > Settings to customize your editor
+
+## <a id="basic-usage"></a>Basic Usage
+
+VSCodium works just like Visual Studio Code, with a few differences:
+
+- It uses Open VSX for extensions by default instead of the Visual Studio Marketplace
+- It doesn't include Microsoft telemetry or branding
+- Some proprietary features may not be available
+
+## <a id="keyboard-shortcuts"></a>Keyboard Shortcuts
+
+Here are some essential keyboard shortcuts to get you started:
+
+- `Ctrl+P` (Windows/Linux) or `Cmd+P` (macOS): Quick Open, Go to File
+- `Ctrl+Shift+P` (Windows/Linux) or `Cmd+Shift+P` (macOS): Show Command Palette
+- `Ctrl+,` (Windows/Linux) or `Cmd+,` (macOS): User Settings
+- `Ctrl+K Ctrl+S` (Windows/Linux) or `Cmd+K Cmd+S` (macOS): Keyboard Shortcuts
+
+## <a id="next-steps"></a>Next Steps
+
+Once you're comfortable with the basics, you might want to:
+
+- Explore the [documentation](https://github.com/VSCodium/vscodium/blob/master/docs/index.md) for more details
+- Join the [community](https://github.com/VSCodium/vscodium/discussions) to ask questions and share tips
+- Contribute to the [project](https://github.com/VSCodium/vscodium/blob/master/CONTRIBUTING.md) if you're interested

+ 35 - 7
docs/howto-build.md

@@ -1,3 +1,5 @@
+<!-- order: 35 -->
+
 # How to build VSCodium
 
 ## Table of Contents
@@ -6,7 +8,8 @@
   - [Linux](#dependencies-linux)
   - [MacOS](#dependencies-macos)
   - [Windows](#dependencies-windows)
-- [Build Scripts](#build-scripts)
+- [Build for Development](#build-dev)
+- [Build for CI/Downstream](#build-ci)
 - [Build Snap](#build-snap)
 - [Patch Update Process](#patch-update-process)
   - [Semi-Automated](#patch-update-process-semiauto)
@@ -14,10 +17,11 @@
 
 ## <a id="dependencies"></a>Dependencies
 
-- node 20.14
+- node 20.18
 - jq
 - git
 - python3 3.11
+- rustup
 
 ### <a id="dependencies-linux"></a>Linux
 
@@ -48,7 +52,7 @@ see [the common dependencies](#dependencies)
 - [WiX Toolset](http://wixtoolset.org/releases/)
 - 'Tools for Native Modules' from the official Node.js installer
 
-## <a id="build-scripts"></a>Build Scripts
+## <a id="build-dev"></a>Build for Development
 
 A build helper script can be found at `dev/build.sh`.
 
@@ -72,6 +76,31 @@ The script `dev/build.sh` provides several flags:
 - `-p`: generate the packages/assets/installers
 - `-s`: do not retrieve the source code of Visual Studio Code, it won't delete the existing build
 
+## <a id="build-ci"></a>Build for CI/Downstream
+
+Here is the base script to build VSCodium:
+
+```bash
+# Export necessary environment variables
+export SHOULD_BUILD="yes"
+export SHOULD_BUILD_REH="no"
+export CI_BUILD="no"
+export OS_NAME="linux"
+export VSCODE_ARCH="${vscode_arch}"
+export VSCODE_QUALITY="stable"
+export RELEASE_VERSION="${version}"
+
+. get_repo.sh
+. build.sh
+```
+
+To go further, you should look at how we build it:
+- Linux: https://github.com/VSCodium/vscodium/blob/master/.github/workflows/stable-linux.yml
+- macOS: https://github.com/VSCodium/vscodium/blob/master/.github/workflows/stable-macos.yml
+- Windows: https://github.com/VSCodium/vscodium/blob/master/.github/workflows/stable-windows.yml
+
+The `./dev/build.sh` script is for development purpose and must be avoided for a packaging purpose.
+
 ## <a id="build-snap"></a>Build Snap
 
 ```
@@ -103,13 +132,12 @@ review-tools.snap-review --allow-classic codium*.snap
 ## <a id="patch-update-process-manual"></a>Manual
 
 - run `./dev/build.sh`, if a patch is failing then,
-- open `vscode` directory in **VSCodium**
-- revert all changes
-- run `git apply --reject ../patches/<name>.patch`
+- run `./dev/patch.sh <name>.patch` where `<name>.patch` is the failed patch
+- open `vscode` directory in a new **VSCodium**'s window
 - fix all the `*.rej` files
 - run `npm run watch`
 - run `./script/code.sh` until everything is ok
-- run `git diff > ../patches/<name>.patch`
+- go back to the command line running `./dev/patch.sh`, press `enter` to validate the changes and it will update the patch
 
 ### <a id="icons"></a>icons/build_icons.sh
 

+ 39 - 223
docs/index.md

@@ -1,227 +1,43 @@
-# More Info
+# Documentation
 
 ## Table of Contents
 
-- [Getting all the Telemetry Out](#disable-telemetry)
-  - [Replacements to Microsoft Online Services](#replacement-online-services)
-- [Extensions + Marketplace](#extensions-marketplace)
-  - [How to use the OpenVSX Marketplace](#howto-openvsx-marketplace)
-  - [How to use a different extension gallery](#howto-switch-marketplace)
-  - [How to self host your own VS Code Marketplace](#howto-selfhost-marketplace)
-  - [Visual Studio Marketplace](#visual-studio-marketplace)
-  - [Proprietary Debugging Tools](#proprietary-debugging-tools)
-  - [Proprietary Extensions](#proprietary-extensions)
-- [Extensions compatibility](https://github.com/VSCodium/vscodium/blob/master/docs/extensions-compatibility.md)
-- [Migrating from Visual Studio Code to VSCodium](#migrating)
-- [Sign in with GitHub](#signin-github)
-- [Accounts authentication](https://github.com/VSCodium/vscodium/blob/master/docs/accounts-authentication.md)
-- [How do I run VSCodium in portable mode?](#portable)
-- [How do I fix the default file manager?](#file-manager)
-- [How do I press and hold a key and have it repeat in VSCodium?](#press-and-hold)
-- [How do I open VSCodium from the terminal?](#terminal-support)
-  - [From Linux .tar.gz](#from-linux-targz)
+- [Getting Started with VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/getting-started.md)
+  - [Installation](https://github.com/VSCodium/vscodium/blob/master/docs/getting-started.md#installation)
+  - [First Steps](https://github.com/VSCodium/vscodium/blob/master/docs/getting-started.md#first-steps)
+  - [Basic Usage](https://github.com/VSCodium/vscodium/blob/master/docs/getting-started.md#basic-usage)
+  - [Keyboard Shortcuts](https://github.com/VSCodium/vscodium/blob/master/docs/getting-started.md#keyboard-shortcuts)
+  - [Next Steps](https://github.com/VSCodium/vscodium/blob/master/docs/getting-started.md#next-steps)
+- [Getting all the Telemetry Out](https://github.com/VSCodium/vscodium/blob/master/docs/telemetry.md)
+  - [Telemetry in VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/telemetry.md#telemetry)
+  - [Replacements to Microsoft Online Services](https://github.com/VSCodium/vscodium/blob/master/docs/telemetry.md#replacements)
+  - [Checking for Telemetry](https://github.com/VSCodium/vscodium/blob/master/docs/telemetry.md#checking)
+  - [Additional Privacy Settings](https://github.com/VSCodium/vscodium/blob/master/docs/telemetry.md#additional-settings)
+  - [VSCodium Announcements](https://github.com/VSCodium/vscodium/blob/master/docs/telemetry.md#announcements)
+  - [Malicious & Deprecated Extensions](https://github.com/VSCodium/vscodium/blob/master/docs/telemetry.md#malicious-extensions)
+- [Extensions and Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md)
+  - [Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#marketplace)
+  - [How to use the OpenVSX Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#howto-openvsx-marketplace)
+  - [How to use a different extension gallery](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#howto-switch-marketplace)
+  - [How to self host your own extension gallery](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#howto-selfhost-marketplace)
+  - [Visual Studio Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#visual-studio-marketplace)
+  - [Proprietary Debugging Tools](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#proprietary-debugging-tools)
+  - [Proprietary Extensions](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#proprietary-extensions)
+  - [Using the "VSIX Manager" Extension](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#vsix-manager)
+  - [Extensions compatibility](https://github.com/VSCodium/vscodium/blob/master/docs/extensions-compatibility.md)
+- [Migration](https://github.com/VSCodium/vscodium/blob/master/docs/migration.md)
+  - [Manual Migration from Visual Studio Code to VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/migration.md#manual-migration)
+  - [Semi-Automatic Migration with "Sync Settings" Extension](https://github.com/VSCodium/vscodium/blob/master/docs/migration.md#semi-automatic-migration)
+- [Usage](https://github.com/VSCodium/vscodium/blob/master/docs/usage.md)
+  - [Sign in with GitHub](https://github.com/VSCodium/vscodium/blob/master/docs/usage.md#signin-github)
+  - [Accounts authentication](https://github.com/VSCodium/vscodium/blob/master/docs/accounts-authentication.md)
+  - [How do I run VSCodium in portable mode?](https://github.com/VSCodium/vscodium/blob/master/docs/usage.md#portable)
+  - [How do I fix the default file manager?](https://github.com/VSCodium/vscodium/blob/master/docs/usage.md#file-manager)
+  - [How do I press and hold a key and have it repeat in VSCodium?](https://github.com/VSCodium/vscodium/blob/master/docs/usage.md#press-and-hold)
+  - [How do I open VSCodium from the terminal?](https://github.com/VSCodium/vscodium/blob/master/docs/usage.md#terminal-support)
 - [Troubleshooting](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md)
-- [Contributing](https://github.com/VSCodium/vscodium/blob/master/CONTRIBUTING.md)
-- [How to build VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/howto-build.md)
-
-## <a id="disable-telemetry"></a>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 `telemetry.enableTelemetry` setting's default value to `false`. You can see those by viewing your VSCodium `settings.json` and searching for `telemetry`.
-
-The instructions [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting) 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](https://code.visualstudio.com/docs/getstarted/telemetry#_managing-online-services). 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.)_
-
-### <a id="replacement-online-services"></a>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](https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh#L36) in `product.json` to that of VSCodium's own small [update server](https://github.com/VSCodium/update-api), 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](https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh#L42) the Visual Studio Marketplace with Open VSX, so these settings won't call Microsoft, either.
-
-## <a id="extensions-marketplace"></a>Extensions + Marketplace
-
-Being a vscode based editor, VSCodium gets additional features by installing VS Code extensions.
-Unfortunately, as Microsoft [prohibits usages of the Microsoft marketplace by any other products](https://github.com/microsoft/vscode/issues/31168) or redistribution of `.vsix` files from it, in order to use VS Code extensions in non-Microsoft products those need to be installed differently.
-
-By default, the `product.json` file is set up to use [open-vsx.org](https://open-vsx.org/) as extension gallery, which has an [adapter](https://github.com/eclipse/openvsx/wiki/Using-Open-VSX-in-VS-Code) 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](https://open-vsx.org/) in addition to the VS Code Marketplace. The publishing process is documented in the [Open VSX Wiki](https://github.com/eclipse/openvsx/wiki/Publishing-Extensions).
-* Create a pull request to [this repository](https://github.com/open-vsx/publish-extensions) to have the [@open-vsx](https://github.com/open-vsx) service account publish the extensions for you.
-* Download and [install the vsix files](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix), for example from the release page in their source repository.
-
-### <a id="howto-openvsx-marketplace"></a>How to use the Open VSX Registry
-
-As noted above, the [Open VSX Registry](https://open-vsx.org/) is the pre-set extension gallery in VSCodium. Using the extension view in VSCodium will therefore by default use it.
-See [this article](https://www.gitpod.io/blog/open-vsx/) for more information on the motivation behind Open VSX.
-
-### <a id="howto-switch-marketplace"></a>How to use a different extension gallery
-
-You can switch from the pre-set Open VSX Registry by configuring the endpoints using the following solutions.
-
-You can either use the following environment variables:
-- `VSCODE_GALLERY_SERVICE_URL` ***(required)***
-- `VSCODE_GALLERY_ITEM_URL` ***(required)***
-- `VSCODE_GALLERY_CACHE_URL`
-- `VSCODE_GALLERY_CONTROL_URL`
-- `VSCODE_GALLERY_EXTENSION_URL_TEMPLATE` ***(required)***
-- `VSCODE_GALLERY_RESOURCE_URL_TEMPLATE`
-
-Or by creating a custom `product.json` at the following location (replace `VSCodium` by `VSCodium - Insiders` if you use that):
-- Windows: `%APPDATA%\VSCodium` or `%USERPROFILE%\AppData\Roaming\VSCodium`
-- macOS: `~/Library/Application Support/VSCodium`
-- Linux: `$XDG_CONFIG_HOME/VSCodium` or `~/.config/VSCodium`
-
-with the content like:
-
-```jsonc
-{
-  "extensionsGallery": {
-    "serviceUrl": "", // required
-    "itemUrl": "", // required
-    "cacheUrl": "",
-    "controlUrl": "",
-    "extensionUrlTemplate": "", // required
-    "resourceUrlTemplate": "",
-  }
-}
-```
-
-### <a id="howto-selfhost-marketplace"></a>How to self-host your own extension gallery
-
-Individual developers and enterprise companies in regulated or security-conscious industries can self-host their own extension gallery.
-
-There are likely other options, but the following were reported to work:
-
-* [Open VSX](https://github.com/eclipse/openvsx) eclipse open-source project
-  While the public instance which is run by the Eclipse Foundation is the pre-set endpoint in VSCodium, you can host your own instance.
-
-    > Open VSX is a [vendor-neutral](https://projects.eclipse.org/projects/ecd.openvsx) open-source alternative to the [Visual Studio Marketplace](https://marketplace.visualstudio.com/vscode). It provides a server application that manages [VS Code extensions](https://code.visualstudio.com/api) in a database, a web application similar to the VS Code Marketplace, and a command-line tool for publishing extensions similar to [vsce](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#vsce).
-
-* [code-marketplace](https://coder.com/blog/running-a-private-vs-code-extension-marketplace) open-source project
-
-    > `code-marketplace` is a self-contained go binary that does not have a frontend or any mechanisms for extension authors to add or update extensions in the marketplace. It simply reads extensions from file storage and provides an API for VSCode compatible editors to consume.
-
-### <a id="visual-studio-marketplace"></a>Visual Studio Marketplace
-
-As with any online service, ensure you've understood [its terms of use](https://aka.ms/vsmarketplace-ToU) which include:
-> Marketplace Offerings are intended for use only with Visual Studio Products and Services and you may only install and use Marketplace Offerings with Visual Studio Products and Services.
-
-So, we can't provide any help if you intend to infringe their terms of use.
-
-Also note that this extension gallery hosts multiple extensions that are non-free and have license-agreements that explicitly forbid using them in non-Microsoft products, along with using telemetry.
-
-### <a id="proprietary-debugging-tools"></a>Proprietary Debugging Tools
-
-The debugger provided with Microsoft's [C# extension](https://github.com/OmniSharp/omnisharp-vscode) as well as the (Windows) debugger provided with their [C++ extension](https://github.com/Microsoft/vscode-cpptools) are very restrictively licensed to only work with the official Visual Studio Code build. See [this comment in the C# extension repo](https://github.com/OmniSharp/omnisharp-vscode/issues/2491#issuecomment-418811364) and [this comment in the C++ extension repo](https://github.com/Microsoft/vscode-cpptools/issues/21#issuecomment-248349017).
-
-A workaround exists to get debugging working in C# projects, by using Samsung's opensource [netcoredbg](https://github.com/Samsung/netcoredbg) package. See [this comment](https://github.com/VSCodium/vscodium/issues/82#issue-409806641) for instructions on how to set that up.
-
-### <a id="proprietary-extensions"></a>Proprietary Extensions
-
-Like the debuggers mentioned above, some extensions you may find in the marketplace (like the [Remote Development Extensions](https://code.visualstudio.com/docs/remote/remote-overview)) only function with the official 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:
-
-```jsonc
-  "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.
-
-## <a id="migrating"></a>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
-
-## <a id="signin-github"></a>Sign in with GitHub
-
-In VSCodium, `Sign in with GitHub` is using a Personal Access Token.<br />
-Follow the documentation https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token to create your token.<br />
-Select the scopes dependending on the extension which needs access to GitHub. (GitLens requires the `repo` scope.)
-
-### Linux
-
-If you are getting the error `Writing login information to the keychain failed with error 'The name org.freedesktop.secrets was not provided by any .service files'.`, you need to install the package `gnome-keyring`.
-
-## <a id="portable"></a>How do I run VSCodium in portable mode?
-You can follow the [Portable Mode instructions](https://code.visualstudio.com/docs/editor/portable) 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 is `codium-portable-data`. So to enable portable mode for VSCodium on Mac OS, follow the instructions outlined in the [link above](https://code.visualstudio.com/docs/editor/portable), but create a folder named `codium-portable-data` instead of `code-portable-data`.
-
-## <a id="file-manager"></a>How do I fix the default file manager (Linux)?
-
-In some cases, VSCodium becomes the file manager used to open directories (instead of apps like Dolphin or Nautilus).<br />
-It's due to that no application was defined as the default file manager and so the system is using the latest capable application.
-
-To set the default app, create the file `~/.config/mimeapps.list` with the content like:
-```
-[Default Applications]
-inode/directory=org.gnome.Nautilus.desktop;
-```
-
-You can find your regular file manager with the command:
-```
-> grep directory /usr/share/applications/mimeinfo.cache
-inode/directory=codium.desktop;org.gnome.Nautilus.desktop;
-```
-
-## <a id="press-and-hold"></a>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.
-
-```bash
-$ defaults write com.vscodium ApplePressAndHoldEnabled -bool false
-```
-
-## <a id="terminal-support"></a>How do I open VSCodium from the terminal?
-
-For macOS and Windows:
-- Go to the command palette (View | Command Palette...)
-- Choose `Shell command: Install 'codium' command in PATH`.
-
-![](https://user-images.githubusercontent.com/2707340/60140295-18338a00-9766-11e9-8fda-b525b6f15c13.png)
-
-This allows you to open files or directories in VSCodium directly from your terminal:
-
-```bash
-~/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`).
-
-On Linux, when installed with a package manager, `codium` has been installed in your `PATH`.
-
-### <a id="from-linux-targz"></a>From Linux .tar.gz
-
-When the archive `VSCodium-linux-<arch>-<version>.tar.gz` is extracted, the main entry point for VSCodium is `./bin/codium`.
+  - [Linux](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md#linux)
+- [Other Resources](https://github.com/VSCodium/vscodium/blob/master/docs/others.md)
+  - [What are reh and reh-web archives?](https://github.com/VSCodium/vscodium/blob/master/docs/others.md#reh)
+- [Contributing Guidelines](https://github.com/VSCodium/vscodium/blob/master/CONTRIBUTING.md)
+- [Building VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/howto-build.md)

+ 54 - 0
docs/migration.md

@@ -0,0 +1,54 @@
+<!-- order: 20 -->
+
+# Migration
+
+## Table of Contents
+
+- [Manual Migration from Visual Studio Code to VSCodium](#manual-migration)
+- [Semi-Automatic Migration with "Sync Settings" Extension](#semi-automatic-migration)
+
+## <a id="manual-migration"></a>Manual Migration 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 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 (`Meta+,`)
+- Click the three dots `...` and choose 'Open settings.json'
+- Copy the contents of settings.json into the same place in VSCodium
+
+## <a id="semi-automatic-migration"></a>Semi-Automatic Migration with "Sync Settings" Extension
+
+The [**Sync Settings**](https://github.com/zokugun/vscode-sync-settings) extension can simplify the migration process by enabling synchronization of settings, keybindings, extensions, and more between Visual Studio Code and VSCodium. Its author is the main maintainer of VSCodium ;)
+
+The extension is available in the Visual Studio Marketplace, OpenVSX or directly in its GitHub repository.
+
+### Steps:
+
+1. Install the **Sync Settings** extension in both Visual Studio Code and VSCodium.
+2. Configure the extension on both Visual Studio Code and VSCodium:
+  - Open Command Palette (`Meta+Shift+P`).
+  - Search for `Sync Settings: Open the repository settings` and execute the command.
+  - Configure the repository
+3. Export your current settings from Visual Studio Code:
+  - Open Command Palette (`Meta+Shift+P`).
+  - Search for `Sync Settings: Upload (user -> repository)` and execute the command.
+4. Import the settings into VSCodium:
+  - I recommend the setting `"syncSettings.openOutputOnActivity": true,`.
+  - Open Command Palette (`Meta+Shift+P`).
+  - Search for `Sync Settings: Download (repository -> user)` and execute the command.
+  - Wait for all the extensions to be downloaded and installed (follow logs in the `Output` panel) before restarting VSCodium.
+
+This method ensures that all supported configurations are seamlessly transferred.

+ 12 - 0
docs/others.md

@@ -0,0 +1,12 @@
+<!-- order: 30 -->
+
+# Other Resources
+
+## Table of Contents
+
+- [What are reh and reh-web archives?](#reh)
+
+## <a id="reh"></a>What are reh and reh-web archives?
+
+- Remote Host (`reh`) is the server component for remote ssh/wsl which runs it on a "remote" computer and makes that remote computer accessible via VSCodium.
+- Web Host (`reh-web`) is the server component of the command `codium serve-web` which runs it locally and makes VSCodium accessible via a browser.

+ 78 - 0
docs/telemetry.md

@@ -0,0 +1,78 @@
+<!-- order: 10 -->
+
+# Getting all the Telemetry Out
+
+This page explains how VSCodium handles telemetry and how to ensure your privacy.
+
+## Table of Contents
+
+- [Telemetry in VSCodium](#telemetry)
+- [Replacements to Microsoft Online Services](#replacements)
+- [Checking for Telemetry](#checking)
+- [Additional Privacy Settings](#additional-settings)
+- [VSCodium Announcements](#announcements)
+- [Malicious & Deprecated Extensions](#malicious-extensions)
+
+## <a id="telemetry"></a>Telemetry in VSCodium
+
+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.enableTelemetry` and `telemetry.enableCrashReporter` values to `false`. You can see those by viewing your VSCodium `settings.json` and searching for `telemetry`.
+
+It is also highly recommended that you review all the settings that "use online services" by following [these instructions](https://code.visualstudio.com/docs/getstarted/telemetry#_managing-online-services). 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.)_
+
+## <a id="replacements"></a>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](https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh#L135) in `product.json` directly to the GitHub page, so enabling that setting won't actually result in any calls to Microsoft online service.
+
+Likewise, while the descriptions for "Extensions: Auto Check Updates" and "Extensions: Auto Update" include the same phrase, VSCodium [replaces](https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh#L121) the Visual Studio Marketplace with Open VSX, so these settings won't call Microsoft, either.
+
+## <a id="checking"></a>Checking for Telemetry
+
+If you want to verify that no telemetry is being sent, you can use network monitoring tools like:
+
+- Wireshark
+- Little Snitch (macOS)
+- GlassWire (Windows)
+
+Look for connections to Microsoft domains and telemetry endpoints.
+
+## <a id="additional-settings"></a>Additional Privacy Settings
+
+For maximum privacy, you can add these settings to your `settings.json`:
+
+```json
+{
+  "telemetry.enableTelemetry": false,
+  "telemetry.enableCrashReporter": false,
+  "telemetry.feedback.enabled": false,
+  "update.enableWindowsBackgroundUpdates": false,
+  "update.mode": "manual",
+  "workbench.enableExperiments": false,
+  "workbench.settings.enableNaturalLanguageSearch": false
+}
+```
+
+These settings will disable various telemetry and tracking features.
+
+## <a id="announcements"></a>VSCodium Announcements
+
+The Welcome page in VSCodium displays announcements that are fetched from the project's GitHub repository.
+
+If you prefer to disable this feature, you can set the `workbench.welcomePage.extraAnnouncements` setting to `false` in your `settings.json`.
+
+## <a id="malicious-extensions"></a>Malicious & Deprecated Extensions
+
+The definitions for malicious and deprecated extensions are dynamically loaded from the following URL:
+https://raw.githubusercontent.com/EclipseFdn/publish-extensions/refs/heads/master/extension-control/extensions.json.
+
+If you prefer to avoid any external connections, you can set the`extensions.excludeUnsafes` setting to `false` in your `settings.json`.
+However, this is not recommended as it may reduce the safety of your environment.

+ 8 - 26
docs/troubleshooting.md

@@ -1,3 +1,5 @@
+<!-- order: 25 -->
+
 # Troubleshooting
 
 ## Table of Contents
@@ -8,14 +10,10 @@
   - [Global menu workaround for KDE](#linux-kde-global-menu)
   - [Flatpak most common issues](#linux-flatpak-most-common-issues)
   - [Remote SSH doesn't work](#linux-remote-ssh)
-- [macOS](#macos)
-  - [App can't be opened because Apple cannot check it for malicious software](#macos-unidentified-developer)
-  - ["VSCodium.app" is damaged and can’t be opened. You should move it to the Bin](#macos-quarantine)
-
 
 ## <a id="linux"></a>Linux
 
-#### <a id="linux-fonts-rectangle"></a>*Fonts showing up as rectangles*
+### <a id="linux-fonts-rectangle"></a>*Fonts showing up as rectangles*
 
 The following command should help:
 
@@ -25,7 +23,7 @@ rm -rf ~/snap/codium/common/.cache
 fc-cache -r
 ```
 
-#### <a id="linux-rendering-glitches"></a>*Text and/or the entire interface not appearing*
+### <a id="linux-rendering-glitches"></a>*Text and/or the entire interface not appearing*
 
 You have likely encountered [a bug in Chromium and Electron](microsoft/vscode#190437) when compiling Mesa shaders, which has affected all Visual Studio Code and VSCodium versions for Linux distributions since 1.82.  The current workaround (see microsoft/vscode#190437) is to delete the GPU cache as follows:
 
@@ -33,7 +31,7 @@ You have likely encountered [a bug in Chromium and Electron](microsoft/vscode#19
 rm -rf ~/.config/VSCodium/GPUCache
 ```
 
-#### <a id="linux-kde-global-menu"></a>*Global menu workaround for KDE*
+### <a id="linux-kde-global-menu"></a>*Global menu workaround for KDE*
 
 Install these packages on Fedora:
 
@@ -45,7 +43,7 @@ On Ubuntu this package is called `libdbusmenu-glib4`.
 
 Credits: [Gerson](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/issues/91)
 
-#### <a id="linux-flatpak-most-common-issues"></a>*Flatpak most common issues*
+### <a id="linux-flatpak-most-common-issues"></a>*Flatpak most common issues*
 
 - blurry screen with HiDPI on wayland run:
   ```bash
@@ -65,26 +63,10 @@ Credits: [Gerson](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/issues/
 
 - If you have any other problems with the flatpak package try to look on the [FAQ](https://github.com/flathub/com.vscodium.codium?tab=readme-ov-file#faq) maybe the solution is already there or open an [issue](https://github.com/flathub/com.vscodium.codium/issues).
 
-##### <a id="linux-remote-ssh"></a>*Remote SSH doesn't work*
+### <a id="linux-remote-ssh"></a>*Remote SSH doesn't work*
 
 Use the VSCodium's compatible extension [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh).
 
 On the server, in the `sshd` config, `AllowTcpForwarding` need to be set to `yes`.
 
-It might requires additional dependeincies due to the OS/distro (alpine).
-
-## <a id="macos"></a>macOS
-
-Since the App is signed with a self-signed certificate, on the first launch, you might see the following messages:
-
-#### <a id="macos-unidentified-developer"></a>*App can't be opened because Apple cannot check it for malicious software*
-
-You can right-click the App and choose `Open`.
-
-#### <a id="macos-quarantine"></a>*"VSCodium.app" is damaged and can’t be opened. You should move it to the Bin.*
-
-The following command will remove the quarantine attribute.
-
-```
-xattr -r -d com.apple.quarantine /Applications/VSCodium.app
-```
+It might requires additional dependencies due to the OS/distro (alpine).

+ 76 - 0
docs/usage.md

@@ -0,0 +1,76 @@
+<!-- order: 25 -->
+
+# Usage
+
+## Table of Contents
+
+- [Sign in with GitHub](#signin-github)
+- [Accounts authentication](https://github.com/VSCodium/vscodium/blob/master/docs/accounts-authentication.md)
+- [How do I run VSCodium in portable mode?](#portable)
+- [How do I fix the default file manager?](#file-manager)
+- [How do I press and hold a key and have it repeat in VSCodium?](#press-and-hold)
+- [How do I open VSCodium from the terminal?](#terminal-support)
+  - [From Linux .tar.gz](#from-linux-targz)
+
+## <a id="signin-github"></a>Sign in with GitHub
+
+In VSCodium, `Sign in with GitHub` is using a Personal Access Token.<br />
+Follow the documentation https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token to create your token.<br />
+Select the scopes dependending on the extension which needs access to GitHub. (GitLens requires the `repo` scope.)
+
+### Linux
+
+If you are getting the error `Writing login information to the keychain failed with error 'The name org.freedesktop.secrets was not provided by any .service files'.`, you need to install the package `gnome-keyring`.
+
+## <a id="portable"></a>How do I run VSCodium in portable mode?
+You can follow the [Portable Mode instructions](https://code.visualstudio.com/docs/editor/portable) 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 is `codium-portable-data`. So to enable portable mode for VSCodium on Mac OS, follow the instructions outlined in the [link above](https://code.visualstudio.com/docs/editor/portable), but create a folder named `codium-portable-data` instead of `code-portable-data`.
+
+## <a id="file-manager"></a>How do I fix the default file manager (Linux)?
+
+In some cases, VSCodium becomes the file manager used to open directories (instead of apps like Dolphin or Nautilus).<br />
+It's due to that no application was defined as the default file manager and so the system is using the latest capable application.
+
+To set the default app, create the file `~/.config/mimeapps.list` with the content like:
+```
+[Default Applications]
+inode/directory=org.gnome.Nautilus.desktop;
+```
+
+You can find your regular file manager with the command:
+```
+> grep directory /usr/share/applications/mimeinfo.cache
+inode/directory=codium.desktop;org.gnome.Nautilus.desktop;
+```
+
+## <a id="press-and-hold"></a>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.
+
+```bash
+$ defaults write com.vscodium ApplePressAndHoldEnabled -bool false
+```
+
+## <a id="terminal-support"></a>How do I open VSCodium from the terminal?
+
+For macOS and Windows:
+- Go to the command palette (View | Command Palette...)
+- Choose `Shell command: Install 'codium' command in PATH`.
+
+![](https://user-images.githubusercontent.com/2707340/60140295-18338a00-9766-11e9-8fda-b525b6f15c13.png)
+
+This allows you to open files or directories in VSCodium directly from your terminal:
+
+```bash
+~/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`).
+
+On Linux, when installed with a package manager, `codium` has been installed in your `PATH`.
+
+### <a id="from-linux-targz"></a>From Linux .tar.gz
+
+When the archive `VSCodium-linux-<arch>-<version>.tar.gz` is extracted, the main entry point for VSCodium is `./bin/codium`.

+ 1 - 1
patches/linux/rpm.patch

@@ -5,7 +5,7 @@ index a73bc02..242bab0 100644
 @@ -2,3 +2,3 @@ Name:     @@NAME@@
  Version:  @@VERSION@@
 -Release:  @@RELEASE@@.el8
-+Release:  el9
++Release:  el8
  Summary:  Code editing. Redefined.
 @@ -88 +88,3 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
  %{_datadir}/zsh/site-functions/_%{name}

+ 6 - 7
product.json

@@ -91,12 +91,10 @@
       "terminalExecuteCommandEvent",
       "notebookReplDocument",
       "notebookVariableProvider",
-      "terminalShellEnv",
-      "terminalShellType"
+      "terminalShellEnv"
     ],
     "ms-python.vscode-python-envs": [
-      "terminalShellEnv",
-      "terminalShellType"
+      "terminalShellEnv"
     ],
     "ms-dotnettools.dotnet-interactive-vscode": [
       "notebookMessaging"
@@ -229,7 +227,7 @@
       "embeddings",
       "mappedEditsProvider",
       "aiRelatedInformation",
-      "chatEditing",
+      "aiSettingsSearch",
       "codeActionAI",
       "findTextInFiles",
       "findTextInFiles2",
@@ -258,10 +256,10 @@
       "languageModelSystem",
       "languageModelCapabilities",
       "languageModelDataPart",
-      "chatStatusItem"
+      "chatStatusItem",
+      "taskProblemMatcherStatus"
     ],
     "GitHub.remotehub": [
-      "contribRemoteHelp",
       "contribMenuBarHome",
       "contribViewsRemote",
       "contribViewsWelcome",
@@ -282,6 +280,7 @@
       "notebookCellExecutionState"
     ],
     "ms-python.vscode-pylance": [
+      "mcpConfigurationProvider",
       "terminalShellEnv"
     ],
     "ms-python.debugpy": [

+ 3 - 3
release_notes.md

@@ -66,7 +66,7 @@ update vscode to [@@MS_TAG@@](@@MS_URL@@)
   </tr>
   <tr>
     <td>.rpm</td>
-    <td><a href="https://github.com/@@ASSETS_REPOSITORY@@/releases/download/@@VERSION@@@@QUALITY@@/@@BINARY_NAME@@-@@VERSION@@-el9.x86_64.rpm">@@BINARY_NAME@@-@@VERSION@@-el9.x86_64.rpm</a></td>
+    <td><a href="https://github.com/@@ASSETS_REPOSITORY@@/releases/download/@@VERSION@@@@QUALITY@@/@@BINARY_NAME@@-@@VERSION@@-el8.x86_64.rpm">@@BINARY_NAME@@-@@VERSION@@-el8.x86_64.rpm</a></td>
   </tr>
   <tr>
     <td>.tar.gz</td>
@@ -154,7 +154,7 @@ update vscode to [@@MS_TAG@@](@@MS_URL@@)
   </tr>
   <tr>
     <td>.rpm</td>
-    <td><a href="https://github.com/@@ASSETS_REPOSITORY@@/releases/download/@@VERSION@@@@QUALITY@@/@@BINARY_NAME@@-@@VERSION@@-el9.aarch64.rpm">@@BINARY_NAME@@-@@VERSION@@-el9.aarch64.rpm</a></td>
+    <td><a href="https://github.com/@@ASSETS_REPOSITORY@@/releases/download/@@VERSION@@@@QUALITY@@/@@BINARY_NAME@@-@@VERSION@@-el8.aarch64.rpm">@@BINARY_NAME@@-@@VERSION@@-el8.aarch64.rpm</a></td>
   </tr>
   <tr>
     <td>.tar.gz</td>
@@ -197,7 +197,7 @@ update vscode to [@@MS_TAG@@](@@MS_URL@@)
   </tr>
   <tr>
     <td>.rpm</td>
-    <td><a href="https://github.com/@@ASSETS_REPOSITORY@@/releases/download/@@VERSION@@@@QUALITY@@/@@BINARY_NAME@@-@@VERSION@@-el9.armv7hl.rpm">@@BINARY_NAME@@-@@VERSION@@-el9.armv7hl.rpm</a></td>
+    <td><a href="https://github.com/@@ASSETS_REPOSITORY@@/releases/download/@@VERSION@@@@QUALITY@@/@@BINARY_NAME@@-@@VERSION@@-el8.armv7hl.rpm">@@BINARY_NAME@@-@@VERSION@@-el8.armv7hl.rpm</a></td>
   </tr>
   <tr>
     <td>.tar.gz</td>

+ 1 - 1
stores/snapcraft/insider/snap/snapcraft.yaml

@@ -16,7 +16,7 @@ parts:
       set -eu
       # Get .deb url
       wget --quiet https://api.github.com/repos/VSCodium/vscodium-insiders/releases -O latest.json
-      VERSION=$( jq -r 'sort_by(.tag_name)|last.tag_name' latest.json )
+      VERSION=$( jq -r 'sort_by(.tag_name|split(".")|map(tonumber))|last.tag_name' latest.json )
       DEB_URL=$( jq -r 'map(select(.tag_name == "'"${VERSION}"'"))|first.assets[].browser_download_url|select(endswith("'"_${SNAPCRAFT_TARGET_ARCH}.deb"'"))' latest.json )
       DEB_NAME=$( basename "${DEB_URL}" )
       # Downloading .deb

+ 1 - 1
stores/snapcraft/stable/snap/snapcraft.yaml

@@ -16,7 +16,7 @@ parts:
       set -eu
       # Get .deb url
       wget --quiet https://api.github.com/repos/VSCodium/vscodium/releases -O latest.json
-      VERSION=$( jq -r 'sort_by(.tag_name)|last.tag_name' latest.json )
+      VERSION=$( jq -r 'sort_by(.tag_name|split(".")|map(tonumber))|last.tag_name' latest.json )
       DEB_URL=$( jq -r 'map(select(.tag_name == "'"${VERSION}"'"))|first.assets[].browser_download_url|select(endswith("'"_${SNAPCRAFT_TARGET_ARCH}.deb"'"))' latest.json )
       DEB_NAME=$( basename "${DEB_URL}" )
       # Downloading .deb

+ 2 - 2
upstream/stable.json

@@ -1,4 +1,4 @@
 {
-  "tag": "1.99.0",
-  "commit": "4437686ffebaf200fa4a6e6e67f735f3edf24ada"
+  "tag": "1.100.2",
+  "commit": "848b80aeb52026648a8ff9f7c45a9b0a80641e2e"
 }