ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

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

2026/9/19 18:08:17 拓冰建站 浏览量
VSCodium 完全指南:MIT 许可开源二进制的构建原理、安装配置与从 VS Code 迁移实践 VSCodium 完全指南MIT 许可开源二进制的构建原理、安装配置与从 VS Code 迁移实践【免费下载链接】vscodiumbinary releases of VS Code without MS branding/telemetry/licensing项目地址: https://gitcode.com/gh_mirrors/vs/vscodiumVSCodium 并非 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 Microsoftsvscoderepository into freely-licensed binaries with a community-driven default configuration.也就是说VSCodium 仓库本身不维护一份编辑器源码而是维护一套脚本与补丁用于克隆 Microsoft 的vscode仓库在构建阶段写入社区驱动的默认配置品牌名、市场地址、更新源等运行官方构建命令产出可自由分发、MIT 许可的二进制将产物上传到 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 安装macOSmacOS 用户可使用 Homebrew 安装# stable brew install --cask vscodium # insiders brew install --cask vscodiuminsiders注意 stable 与 insiders 是两个独立 cask可以并存。使用 WinGet 安装WindowsWindows 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 安装Windowsscoop bucket add extras scoop install vscodium使用 snap 安装GNU/LinuxVSCodium 以Codium的名称发布在 Snap Store由 Snapcrafters 社区维护snap install codium --classic--classic是必需参数因为编辑器需要完整的文件系统访问权限。仓库中 stores/snapcraft/stable/snap/snapcraft.yaml 与 stores/snapcraft/insider/snap/snapcraft.yaml 即维护这套 snap 构建配置。使用包管理器安装deb / rpm / zypperGNU/Linux除了在 release 页面手动下载deb、rpm、tar.gz之外社区维护了一个第三方仓库为apt、dnf和zypper提供自动更新。若使用该方式安装遇到问题应前往该第三方仓库的 issue 跟踪器反馈而非 VSCodium 主仓库。在 Arch Linux 上安装Arch 用户可通过 AUR 获取vscodium-binstable 二进制包vscodium-insiders-bininsiders 二进制包vscodium-electron复用系统级 Electron 以节省磁盘空间vscodium-git从源码自行编译的版本。其中与构建流水线直接对应的是vscodium-bin系它直接消费本项目产出的二进制。Flatpak 方式GNU/Linuxflatpak install flathub com.vscodium.codium flatpak run com.vscodium.codium需先启用 flathub 仓库。Flatpak 版本与原生包在沙箱隔离程度上存在差异适合偏好 Flatpak 生态的发行版。构建 VSCodium从源码到二进制的自动化流水线README 指向构建文档而仓库根目录的脚本则完整呈现了流水线的每一个环节。理解这套流程有助于后续自定义配置。核心构建脚本一览脚本职责get_repo.sh克隆 Microsoft 的vscode仓库到本地prepare_vscode.sh复制src/stable或src/insider覆盖资源、改写product.json、应用补丁、安装依赖build_cli.sh用 Rust 交叉编译 CLI / tunnel 可执行文件release.sh创建 GitHub release、上传构建产物及校验文件update_version.sh / version.sh计算并写入版本号与BUILD_SOURCEVERSIONutils.sh提供apply_patch、replace、apply_actions等公共函数product.json 的重写VSCodium 身份从何而来prepare_vscode.sh 中最核心的一步是用jq通过setpath逐字段改写product.json品牌字段nameShort/nameLong设为VSCodiuminsider 为VSCodium - InsidersapplicationName设为codiumdarwinBundleIdentifier设为com.vscodium并替换一整套 Windows 注册表相关 ID 与 GUID更新源updateUrl指向 VSCodium 自己的版本仓库downloadUrl指向 VSCodium 的 release 页面彻底摆脱微软的更新服务扩展市场extensionsGallery的serviceUrl/itemUrl/latestUrlTemplate全部指向open-vsx.org详见下文扩展与市场一节其他在线服务 URL文档、键盘快捷键、报告问题、特性请求等一并替换为社区维护的地址。随后脚本将仓库根目录的 product.json维护扩展兼容性白名单等社区配置与上游 product.json 通过jq -s .[0] * .[1]合并实现上游默认 社区覆盖的配置合并策略。仓库中的 product.json 还包含extensionAllowedBadgeProviders、extensionEnabledApiProposals、extensionVirtualWorkspacesSupport等大量扩展兼容性配置是社区长期调试的产物。补丁体系按平台、按品质分层应用prepare_vscode.sh 会按以下顺序应用补丁patches/*.json通过apply_actions执行删除等操作例如移除 Copilot 扩展的 52-ext-copilot-remove-it.jsonpatches/*.patch通用补丁例如禁用遥测的 00-telemetry-disable.patch、设置 Open VSX 市场的 00-settings-gallery.patchpatches/insider/*.patch仅 insiders 品质patches/${OS_NAME}/*.patch平台专属如 patches/linux/、patches/osx/、patches/windows/patches/user/*.patch用户自定义补丁目录内附有 readme.txt 说明用法。apply_patch在应用前会用replace把!!APP_NAME!!、!!BINARY_NAME!!、!!GLOBAL_DIRNAME!!等占位符替换为实际值见 utils.sh因此同一份补丁可以复用于 stable / insider 两种品质。依赖安装与构建细节依赖安装阶段设置ELECTRON_SKIP_BINARY_DOWNLOAD1与PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD1并使用仓库自带的 npmrc 覆盖上游配置npm ci最多重试 5 次以应对网络抖动。构建期间还会替换package.json中的Microsoft Corporation为VSCodium并修正 Linux 打包模板postinst.template、control.template、code.spec.template、code.appdata.xml中的元数据与网址确保 deb/rpm 包信息与品牌一致。build_cli.sh 则负责用cargo build --release交叉编译 Rust 编写的 CLI 与 tunnel 二进制macOS 目标aarch64-apple-darwin/x86_64-apple-darwinWindows 目标aarch64-pc-windows-msvc/x86_64-pc-windows-msvcLinux 目标aarch64-unknown-linux-gnu/powerpc64le-unknown-linux-gnu/x86_64-unknown-linux-gnu产物命名为codium-tunnelinsider 为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-debug、ms-vscode.js-debug-companion、ms-vscode.vscode-js-profile-table以及 Electron releases 中的 electron 与 ffmpeg。关于遥测的更细粒度说明如哪些设置被默认禁用、如何验证无遥测连接见 docs/telemetry.mdtelemetry.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 SnitchmacOS、GlassWireWindows等工具监控对微软域名的网络连接。每日构建与发布节奏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.json的extensionsGallery字段完成这一切换{ 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 给出了三条路联系扩展作者将扩展同步发布到 open-vsx.org发布流程见 Open VSX Wiki向 open-vsx 的 publish-extensions 仓库提交 Pull Request由官方服务账号代为发布从扩展源码仓库的 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 - InsidersWindows%APPDATA%\VSCodiummacOS~/Library/Application Support/VSCodiumLinux$XDG_CONFIG_HOME/VSCodium或~/.config/VSCodium内容形如{ extensionsGallery: { serviceUrl: , // required itemUrl: , // required cacheUrl: , controlUrl: , extensionUrlTemplate: , // required resourceUrlTemplate: } }自建扩展市场的可行性在受监管或对安全敏感的企业环境可以自建市场README 与文档提到两个经过验证的开源方案Open VSXEclipse 基金会的开源项目可自行部署实例公开实例即 VSCodium 默认端点code-marketplace单一 Go 二进制无前端从文件存储读取扩展并暴露与 VSCode 兼容的 API。专有扩展与调试器限制部分扩展的许可证明确禁止在非微软产品中使用典型如C# 扩展自带的调试器以及C 扩展Windows自带的调试器仅授权在官方 VS Code 构建中工作Remote Development 系列扩展Remote-WSL / Remote-SSH / Remote-Containers 等同样只适配官方构建。针对 C# 调试社区给出的替代方案是使用 Samsung 开源的netcoredbg。对硬编码校验产品身份的扩展可将扩展 ID 加入product.json的extensionAllowedProposedApi字段尝试放行但部分扩展仍会因硬编码限制而无法工作。仓库根目录的 product.json 中extensionsEnabledWithApiProposalVersion与extensionEnabledApiProposals字段正是 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.json、keybindings.json的迁移路径对照如下平台VS Code 用户配置目录VSCodium 用户配置目录Windows%APPDATA%\Code\User%APPDATA%\VSCodium\UsermacOS$HOME/Library/Application Support/Code/User$HOME/Library/Application Support/VSCodium/UserLinux$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 获取可在两个编辑器之间同步设置、键绑定、扩展等在 VS Code 与 VSCodium 中同时安装该扩展在两个编辑器中执行Sync Settings: Open the repository settingsMetaShiftP打开命令面板并配置仓库在 VS Code 中执行Sync Settings: Upload (user - repository)导出当前配置在 VSCodium 中建议先开启syncSettings.openOutputOnActivity: true执行Sync Settings: Download (repository - user)导入等待扩展全部下载安装完成关注 Output 面板日志后再重启。该方法确保支持的配置项被无缝迁移。支持平台与硬件架构当前支持的平台由核心组件 Electron 的能力决定平台架构分发格式macOS 12x64zip、dmgmacOS 12arm64zip、dmgGNU/Linuxx64deb、rpm、AppImage、snap、tar.gzGNU/Linuxarm64deb、rpm、snap、tar.gzGNU/Linuxriscv64tar.gzGNU/Linuxloong64tar.gzGNU/Linuxppc64letar.gzWindows 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 armhf32 位 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),仅供参考