docs: update extensions and build

This commit is contained in:
Baptiste Augrain
2025-04-25 03:21:33 +02:00
parent 1fc99ea06a
commit a64179d80b
3 changed files with 64 additions and 16 deletions

View File

@@ -1,20 +1,23 @@
# 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)
- [Beyond](#beyond)
## 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)
@@ -24,6 +27,19 @@ The following extensions are not compatible with VSCodium due to their licensing
The following extensions are functional replacements for incompatible extensions:
### C/C++
- [clangd](https://open-vsx.org/extension/llvm-vs-code-extensions/vscode-clangd)
### Python
- [BasedPyright](https://open-vsx.org/extension/detachhead/basedpyright)
### Remote
- [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh)
- [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)
## Beyond
[VSIX Manager](https://github.com/zokugun/vscode-vsix-manager) allows you to be able install extensions from multiple sources.

View File

@@ -6,7 +6,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 +15,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 +50,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 +74,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 +130,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

View File

@@ -20,6 +20,7 @@
- [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)
- [What are reh and reh-web archives?](#reh)
- [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)
@@ -225,3 +226,8 @@ On Linux, when installed with a package manager, `codium` has been installed in
### <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`.
## <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.