VSCodium 完全指南:MIT 许可开源二进制的构建原理、安装配置与从 VS Code 迁移实践
2026/9/19 18:08:14 网站建设 项目流程

VSCodium 完全指南:MIT 许可开源二进制的构建原理、安装配置与从 VS Code 迁移实践

【免费下载链接】vscodiumbinary releases of VS Code without MS branding/telemetry/licensing项目地址: https://gitcode.com/gh_mirrors/vs/vscodium

VSCodium 并非 VS Code 的一个分支(fork),而是一套"构建脚本仓库":它自动拉取 Microsoft 官方vscode源码仓库,替换品牌、禁用遥测、切换扩展市场后,产出完全遵循自由软件许可(MIT)的二进制发行版。本文以 VSCodium 仓库的 README.md 为骨架,结合 prepare_vscode.sh、product.json、utils.sh 等构建脚本与配置,系统讲解其定位、全平台安装方式、底层构建与定制原理、扩展市场与隐私配置,以及从 Visual Studio Code 平滑迁移的完整方案。

项目定位:不是 Fork,而是一套自动构建脚本仓库

README 开篇即强调一个容易误解的事实:

This is not a fork. This is a repository of scripts to automatically build Microsoft'svscoderepository into freely-licensed binaries with a community-driven default configuration.

也就是说,VSCodium 仓库本身不维护一份编辑器源码,而是维护一套脚本与补丁,用于:

  1. 克隆 Microsoft 的vscode仓库;
  2. 在构建阶段写入社区驱动的默认配置(品牌名、市场地址、更新源等);
  3. 运行官方构建命令,产出可自由分发、MIT 许可的二进制;
  4. 将产物上传到 release 页面供用户直接下载。

这正是"自由软件"(freedom,而非 price)的实践:用户拿到的是与 VS Code 功能对等的编辑器,却没有微软的品牌标识、遥测采集和限制性许可。

仓库根目录的脚本清晰地体现了这一流水线:get_repo.sh(拉取上游)、prepare_vscode.sh(改写 product.json 并应用补丁)、release.sh(创建 release 并上传资产)、build_cli.sh(交叉编译 Rust 编写的 CLI/tunnel 组件)等,配合 patches/ 目录下按平台(linux、osx、windows、alpine)与用途(insider、user、helper)分类的补丁文件,共同构成了完整的自动化构建体系。

下载与安装:覆盖 macOS、Windows、GNU/Linux 的完整清单

直接下载 Release 二进制

最新的稳定版与内测版(Insiders)二进制均通过 release 页面分发,README 中给出了两种品质(quality)的入口:stable 与 insiders。对于追求最新上游提交的用户,Insiders 频道每日构建、包含次日将进入 stable 的新特性。

使用 Homebrew 安装(macOS)

macOS 用户可使用 Homebrew 安装:

# stable brew install --cask vscodium # insiders brew install --cask vscodium@insiders

注意 stable 与 insiders 是两个独立 cask,可以并存。

使用 WinGet 安装(Windows)

Windows 10 / Server 2012 R2 及以上版本可使用系统自带的 Windows Package Manager:

:: stable winget install -e --id VSCodium.VSCodium :: insider winget install -e --id VSCodium.VSCodium.Insiders

-e表示精确匹配 ID,避免歧义。仓库中 stores/winget/check_version.sh 正是用于同步维护 WinGet 清单版本号的脚本。

使用 Chocolatey 安装(Windows)

:: stable choco install vscodium :: insider choco install vscodium-insiders

使用 Scoop 安装(Windows)

scoop bucket add extras scoop install vscodium

使用 snap 安装(GNU/Linux)

VSCodium 以Codium的名称发布在 Snap Store,由 Snapcrafters 社区维护:

snap install codium --classic

--classic是必需参数,因为编辑器需要完整的文件系统访问权限。仓库中 stores/snapcraft/stable/snap/snapcraft.yaml 与 stores/snapcraft/insider/snap/snapcraft.yaml 即维护这套 snap 构建配置。

使用包管理器安装(deb / rpm / zypper,GNU/Linux)

除了在 release 页面手动下载debrpmtar.gz之外,社区维护了一个第三方仓库,为aptdnfzypper提供自动更新。若使用该方式安装遇到问题,应前往该第三方仓库的 issue 跟踪器反馈,而非 VSCodium 主仓库。

在 Arch Linux 上安装

Arch 用户可通过 AUR 获取:

  • vscodium-bin:stable 二进制包;
  • vscodium-insiders-bin:insiders 二进制包;
  • vscodium-electron:复用系统级 Electron 以节省磁盘空间;
  • vscodium-git:从源码自行编译的版本。

其中与构建流水线直接对应的是vscodium-bin系,它直接消费本项目产出的二进制。

Flatpak 方式(GNU/Linux)

flatpak install flathub com.vscodium.codium flatpak run com.vscodium.codium

需先启用 flathub 仓库。Flatpak 版本与原生包在沙箱隔离程度上存在差异,适合偏好 Flatpak 生态的发行版。

构建 VSCodium:从源码到二进制的自动化流水线

README 指向构建文档,而仓库根目录的脚本则完整呈现了流水线的每一个环节。理解这套流程,有助于后续自定义配置。

核心构建脚本一览

脚本职责
get_repo.sh克隆 Microsoft 的vscode仓库到本地
prepare_vscode.sh复制src/stablesrc/insider覆盖资源、改写product.json、应用补丁、安装依赖
build_cli.sh用 Rust 交叉编译 CLI / tunnel 可执行文件
release.sh创建 GitHub release、上传构建产物及校验文件
update_version.sh / version.sh计算并写入版本号与BUILD_SOURCEVERSION
utils.sh提供apply_patchreplaceapply_actions等公共函数

product.json 的重写:VSCodium 身份从何而来

prepare_vscode.sh 中最核心的一步是用jq通过setpath逐字段改写product.json

  • 品牌字段:nameShort/nameLong设为VSCodium(insider 为VSCodium - Insiders),applicationName设为codiumdarwinBundleIdentifier设为com.vscodium,并替换一整套 Windows 注册表相关 ID 与 GUID;
  • 更新源:updateUrl指向 VSCodium 自己的版本仓库,downloadUrl指向 VSCodium 的 release 页面,彻底摆脱微软的更新服务;
  • 扩展市场:extensionsGalleryserviceUrl/itemUrl/latestUrlTemplate全部指向open-vsx.org(详见下文"扩展与市场"一节);
  • 其他在线服务 URL(文档、键盘快捷键、报告问题、特性请求等)一并替换为社区维护的地址。

随后脚本将仓库根目录的 product.json(维护扩展兼容性白名单等社区配置)与上游 product.json 通过jq -s '.[0] * .[1]'合并,实现"上游默认 + 社区覆盖"的配置合并策略。仓库中的 product.json 还包含extensionAllowedBadgeProvidersextensionEnabledApiProposalsextensionVirtualWorkspacesSupport等大量扩展兼容性配置,是社区长期调试的产物。

补丁体系:按平台、按品质分层应用

prepare_vscode.sh 会按以下顺序应用补丁:

  1. patches/*.json(通过apply_actions执行删除等操作,例如移除 Copilot 扩展的 52-ext-copilot-remove-it.json);
  2. patches/*.patch(通用补丁,例如禁用遥测的 00-telemetry-disable.patch、设置 Open VSX 市场的 00-settings-gallery.patch);
  3. patches/insider/*.patch(仅 insiders 品质);
  4. patches/${OS_NAME}/*.patch(平台专属,如 patches/linux/、patches/osx/、patches/windows/);
  5. patches/user/*.patch(用户自定义补丁,目录内附有 readme.txt 说明用法)。

apply_patch在应用前会用replace!!APP_NAME!!!!BINARY_NAME!!!!GLOBAL_DIRNAME!!等占位符替换为实际值(见 utils.sh),因此同一份补丁可以复用于 stable / insider 两种品质。

依赖安装与构建细节

依赖安装阶段设置ELECTRON_SKIP_BINARY_DOWNLOAD=1PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1,并使用仓库自带的 npmrc 覆盖上游配置;npm ci最多重试 5 次以应对网络抖动。构建期间还会替换package.json中的Microsoft CorporationVSCodium,并修正 Linux 打包模板(postinst.templatecontrol.templatecode.spec.templatecode.appdata.xml)中的元数据与网址,确保 deb/rpm 包信息与品牌一致。

build_cli.sh 则负责用cargo build --release交叉编译 Rust 编写的 CLI 与 tunnel 二进制(macOS 目标aarch64-apple-darwin/x86_64-apple-darwin,Windows 目标aarch64-pc-windows-msvc/x86_64-pc-windows-msvc,Linux 目标aarch64-unknown-linux-gnu/powerpc64le-unknown-linux-gnu/x86_64-unknown-linux-gnu),产物命名为codium-tunnel(insider 为codium-insiders-tunnel),用于远程隧道功能。

为什么 VSCodium 存在:MIT 许可、去遥测与社区默认配置

微软官方构建与"干净构建"的差异

README 引用了 Visual Studio Code 维护者的原话,解释了 VSCodium 存在的根本原因:

当微软构建 Visual Studio Code 时,他们克隆 vscode 仓库,放入定制化的 product.json(包含遥测、市场、logo 等微软专属功能),然后以微软的许可证发布。而当开发者直接克隆并从 vscode 仓库构建时,默认 product.json 中没有配置这些端点,因此会得到一个"干净"的、默认以 MIT 许可证发布的构建。

问题在于:直接克隆 vscode 仓库自行构建,需要用户具备完整的 Node.js/npm/Electron 构建环境,门槛较高。VSCodium 仓库的意义就在于——用户不必自己下载源码并构建,仓库的构建脚本已经替你完成了克隆、定制与发布,你只需下载二进制即可。

免费 ≠ 自由:许可与遥测

  • 微软官方 VS Code 二进制使用非 FLOSS(非自由/开源)许可,且内置遥测/跟踪;
  • VSCodium 二进制以MIT 许可发布,且默认禁用遥测
  • 构建过程中会下载的额外组件包括:微软预构建的调试相关扩展(ms-vscode.js-debugms-vscode.js-debug-companionms-vscode.vscode-js-profile-table),以及 Electron releases 中的 electron 与 ffmpeg。

关于遥测的更细粒度说明(如哪些设置被默认禁用、如何验证无遥测连接),见 docs/telemetry.md:

telemetry.telemetryLevel telemetry.enableCrashReporter telemetry.enableTelemetry telemetry.editStats.enabled workbench.enableExperiments workbench.settings.enableNaturalLanguageSearch workbench.commandPalette.experimental.enableNaturalLanguageSearch

以上设置均被 VSCodium 在构建期禁用。README 强调:构建产物默认禁用遥测(Telemetry is disabled),这是与官方 VS Code 二进制最本质的区别之一。若需进一步验证,可使用 Wireshark、Little Snitch(macOS)、GlassWire(Windows)等工具监控对微软域名的网络连接。

每日构建与发布节奏

README 指出构建通过 CI workflow 每天运行,但如果微软当天没有发布新版本,则提前退出。也就是说,VSCodium 的发布节奏与上游 vscode 的 release 强绑定,而非固定每日一发。发布环节由 release.sh 完成:它通过gh release create/edit创建 release 并逐文件上传构建产物及其.sha1/.sha256校验文件,上传失败时自动重试最多 10 次。

扩展与市场:为什么默认使用 Open VSX

许可限制的由来

VSCodium 默认不连接 Visual Studio Marketplace,原因在 docs/extensions.md 与 README 中均有说明:根据 Visual Studio Marketplace 的服务条款,市场内扩展只能与 Visual Studio 产品和服务一起安装使用。因此 VSCodium 默认使用 open-vsx.org,一个开源的 VS Code 扩展注册中心。

从源码看,prepare_vscode.sh 正是通过改写product.jsonextensionsGallery字段完成这一切换:

{ "extensionsGallery": { "serviceUrl": "https://open-vsx.org/vscode/gallery", "itemUrl": "https://open-vsx.org/vscode/item", "latestUrlTemplate": "https://open-vsx.org/vscode/gallery/{publisher}/{name}/latest", "controlUrl": "https://raw.githubusercontent.com/EclipseFdn/publish-extensions/refs/heads/master/extension-control/extensions.json" } }

controlUrl指向 Eclipse 基金会维护的恶意/废弃扩展清单,VSCodium 会动态加载该清单用于扩展安全过滤(对应设置extensions.excludeUnsafes,见 docs/telemetry.md)。

缺失扩展的三种获取途径

由于 Open VSX 相对年轻,部分只在 Visual Studio Marketplace 上架的扩展会缺失,README 与 docs/extensions.md 给出了三条路:

  1. 联系扩展作者,将扩展同步发布到 open-vsx.org(发布流程见 Open VSX Wiki);
  2. 向 open-vsx 的 publish-extensions 仓库提交 Pull Request,由官方服务账号代为发布;
  3. 从扩展源码仓库的 release 页面下载.vsix文件,手动安装。

切换扩展市场:环境变量与自定义 product.json

需要切换到其他市场(或自建市场)时,可用以下环境变量覆盖端点:

VSCODE_GALLERY_SERVICE_URL=... # 必填 VSCODE_GALLERY_ITEM_URL=... # 必填 VSCODE_GALLERY_CACHE_URL=... VSCODE_GALLERY_CONTROL_URL=... VSCODE_GALLERY_EXTENSION_URL_TEMPLATE=... # 必填 VSCODE_GALLERY_RESOURCE_URL_TEMPLATE=...

或者在用户配置目录放置自定义product.json(路径随系统与品质不同,Insiders 将VSCodium替换为VSCodium - Insiders):

  • Windows:%APPDATA%\VSCodium
  • macOS:~/Library/Application Support/VSCodium
  • Linux:$XDG_CONFIG_HOME/VSCodium~/.config/VSCodium

内容形如:

{ "extensionsGallery": { "serviceUrl": "", // required "itemUrl": "", // required "cacheUrl": "", "controlUrl": "", "extensionUrlTemplate": "", // required "resourceUrlTemplate": "" } }

自建扩展市场的可行性

在受监管或对安全敏感的企业环境,可以自建市场,README 与文档提到两个经过验证的开源方案:

  • Open VSX:Eclipse 基金会的开源项目,可自行部署实例(公开实例即 VSCodium 默认端点);
  • code-marketplace:单一 Go 二进制,无前端,从文件存储读取扩展并暴露与 VSCode 兼容的 API。

专有扩展与调试器限制

部分扩展的许可证明确禁止在非微软产品中使用,典型如:

  • C# 扩展自带的调试器,以及C++ 扩展(Windows)自带的调试器,仅授权在官方 VS Code 构建中工作;
  • Remote Development 系列扩展(Remote-WSL / Remote-SSH / Remote-Containers 等)同样只适配官方构建。

针对 C# 调试,社区给出的替代方案是使用 Samsung 开源的netcoredbg。对硬编码校验产品身份的扩展,可将扩展 ID 加入product.jsonextensionAllowedProposedApi字段尝试放行,但部分扩展仍会因硬编码限制而无法工作。

仓库根目录的 product.json 中extensionsEnabledWithApiProposalVersionextensionEnabledApiProposals字段,正是 VSCodium 为 Copilot、Python、Jupyter、Remote 等主流扩展逐一配置 API 提案白名单的实证,说明这一兼容性维护工作在构建层面是持续进行的。

VSIX Manager:多市场与离线扩展管理

社区维护的VSIX Manager扩展(其作者即 VSCodium 的主要维护者)提供了更友好的.vsix管理体验:

  • 同时接入多个市场(如 Open VSX 与私有市场),实现无缝切换与回退;
  • 管理本地.vsix文件集合;
  • 直接从 GitHub/Forgejo 的 release 页面安装扩展。

典型适用场景包括:离线开发者、需要跨机器分发固定扩展版本的团队、受限网络环境的企业,以及希望同时使用多个市场的用户。

遥测与隐私配置详解

关闭更新与自动检查

README.md 与 docs/telemetry.md 给出了关闭各层"在线行为"的设置:

应用自身更新:

"update.mode": "manual", // 或 "none" "update.enableWindowsBackgroundUpdates": false // 仅 Windows 生效

扩展更新:

"extensions.autoUpdate": false, "extensions.autoCheckUpdates": false

一个值得注意的细节:在 Linux 上,应用更新服务在构建期即被完全禁用,即使配置了update.mode也不生效——因为 Linux 用户更倾向于用系统包管理器完成更新。这与 prepare_vscode.sh 中根据DISABLE_UPDATE变量决定是否写入updateUrl的逻辑一脉相承。

在线服务设置复查

可用设置搜索过滤@tag:usesOnlineServices列出所有"使用在线服务"的设置逐一审查。README 特别提醒:部分扩展(如 C# 扩展ms-vscode.csharp)自身会向微软发送遥测数据,这不在 VSCodium 控制范围内,只能通过卸载扩展或在其设置页中关闭对应遥测开关来解决。

公告与恶意扩展清单

  • 欢迎页的公告通过互联网从项目 GitHub 仓库拉取,可用设置workbench.welcomePage.extraAnnouncements关闭;
  • 恶意/废弃扩展清单动态加载自 Eclipse 基金会的 extensions.json,可用extensions.excludeUnsafes关闭(不推荐,会降低环境安全性)。仓库根目录的 announcements-builtin.json 与 announcements-extra.json 正是这套公告机制的本地数据来源,构建时通过 prepare_vscode.sh 注入到欢迎页源码中。

从 Visual Studio Code 迁移到 VSCodium

手动迁移

VS Code 的扩展目录与 VSCodium 不通用:VSCodium 将扩展存储在~/.vscode-oss/extensions,因此原~/.vscode/extensions下的扩展不会自动出现,需手动复制。

用户配置文件(settings.jsonkeybindings.json)的迁移路径对照如下:

平台VS Code 用户配置目录VSCodium 用户配置目录
Windows%APPDATA%\Code\User%APPDATA%\VSCodium\User
macOS$HOME/Library/Application Support/Code/User$HOME/Library/Application Support/VSCodium/User
Linux$HOME/.config/Code/User$HOME/.config/VSCodium/User

操作方式:在 VS Code 中打开设置(Meta+,)→ 点击右上角...→ 选择 "Open settings.json" → 将内容复制到 VSCodium 对应位置。

半自动迁移:Sync Settings 扩展

Sync Settings扩展(作者同为 VSCodium 主要维护者,可在 Visual Studio Marketplace、OpenVSX 或 GitHub 获取)可在两个编辑器之间同步设置、键绑定、扩展等:

  1. 在 VS Code 与 VSCodium 中同时安装该扩展;
  2. 在两个编辑器中执行Sync Settings: Open the repository settingsMeta+Shift+P打开命令面板)并配置仓库;
  3. 在 VS Code 中执行Sync Settings: Upload (user -> repository)导出当前配置;
  4. 在 VSCodium 中(建议先开启"syncSettings.openOutputOnActivity": true)执行Sync Settings: Download (repository -> user)导入,等待扩展全部下载安装完成(关注 Output 面板日志)后再重启。

该方法确保支持的配置项被无缝迁移。

支持平台与硬件架构

当前支持的平台(由核心组件 Electron 的能力决定)

平台架构分发格式
macOS 12+x64zipdmg
macOS 12+arm64zipdmg
GNU/Linuxx64debrpmAppImagesnaptar.gz
GNU/Linuxarm64debrpmsnaptar.gz
GNU/Linuxriscv64tar.gz
GNU/Linuxloong64tar.gz
GNU/Linuxppc64letar.gz
Windows 10 / Server 2012 R2 或更新x64安装包
Windows 10 / Server 2012 R2 或更新arm64安装包

README 特别提示:最低版本受核心组件 Electron 限制,可参考 Electron 官方文档的平台前置要求(platform prerequisites)。仓库中 patches/linux/ 下的架构补丁(如 41-arch-add-support.patch、42-arch-add-ppc64le.patch、43-arch-add-riscv64.patch、44-arch-add-loong64.patch、45-arch-add-s390x.patch)印证了这些架构(含 s390x 的 reh 服务端)是通过补丁逐次接入构建矩阵的;build_cli.sh 中同样为 ppc64le、arm64、x64 分别配置了 Rust 交叉编译目标。

曾经支持、现已停止的平台

  • GNU/Linux armhf(32 位 ARM):最后一个可用版本为v1.121.03429,因上游升级到node-v24后无法继续支持而停止。

更多资源与故障排查指引

  • 入门、遥测、扩展市场、迁移、使用技巧等完整文档索引见 docs/index.md;
  • 故障排查指南见 docs/troubleshooting.md;
  • 特殊产物(如reh/reh-web归档)说明见 docs/others.md;
  • 账号与认证相关说明见 docs/accounts-authentication.md;
  • 参与贡献的规范见 CONTRIBUTING.md。

若在 CI 构建产物中发现异常行为,可从 patches/ 目录的补丁与 product.json 的社区配置入手排查——VSCodium 与官方 VS Code 的一切行为差异,最终都能在这两处找到依据。

总结

VSCodium 的价值在于"以脚本化的方式,把 VS Code 的自由软件版本门槛降到零":下载即用、MIT 许可、默认无遥测、默认 Open VSX 市场,同时通过 prepare_vscode.sh 与 patches/ 保持了对上游每日更新的持续跟随。无论是希望摆脱微软遥测与品牌、在受控企业环境中自建市场,还是需要在 riscv64 / loong64 等非主流架构上使用 VS Code 级别的编辑器,VSCodium 都是一条经过社区长期验证的成熟路径。

【免费下载链接】vscodiumbinary releases of VS Code without MS branding/telemetry/licensing项目地址: https://gitcode.com/gh_mirrors/vs/vscodium

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询