如何从0开始将vscode源码编译、运行、打包桌面APP

**

网上关于此的内容很少,今天第二次的完整运行了,按照下文的顺序走不会出什么问题。最重要的就是环境的安装,否则极其容易报错,请参考我的依赖版本以及文末附上的vscode官方指南

**

第一步:克隆 VSCode 源码

首先,你需要从 GitHub 克隆 VSCode 的源代码。注意 :如果你直接下载 .zip 文件,编译可能会报错,推荐使用 Git 克隆。

bash 复制代码
git clone https://github.com/Microsoft/vscode.git
cd vscode

第二步:安装依赖

要成功构建 VSCode,首先需要安装一些必要的依赖项。

  1. Node.js :我使用的是 Node.js 版本 20.18.2。建议使用nvm管理node版本,理论上要求>=20。

  2. Python :我使用的是 Python 3.13.2 版本,Python 是一些依赖编译的要求工具。可以从 Python 官网 下载并安装。

  3. Visual Studio 2022 :为了支持 C++ 编译,你需要安装 Visual Studio 2022 并确保启用了 C++ 相关的构建工具。可以从 Visual Studio 官网 获取。安装的最小工作量为Desktop Development with C++。但"单个组件"中还有其他组件:

    MSVC v143 - VS 2022 C++ x64/x86 Spectre-mitigated libs (Latest)(用于ARM64ARM 上的 Windows,但可能仍然需要 x64/x86)

    C++ ATL for latest build tools with Spectre Mitigations

    C++ MFC for latest build tools with Spectre Mitigations

    打开命令提示符并运行npm config edit并添加或修改msvs_version与您的 vs 版本相同的设置。(例如msvs_version=2022对于 visual studio 2022)
    注意项目的路径全英文即可别带空格符号之类的像()就不行会报错,报错内容就不贴了大家注意就行

第三步:安装项目依赖

安装好所有的工具后,你可以开始安装 VSCode 项目的依赖:

bash 复制代码
npm install
npm install -g node-gyp

node-gyp 是一个构建工具,用于编译 Node.js 原生模块,它是 VSCode 项目的一部分,因此需要全局安装。

第四步:运行 VSCode

在你的vscode中打开源码文件夹运行以下命令

安装完依赖后,运行以下命令启动编译:

bash 复制代码
npm run watch

注意了,正常的情况应该是没有错误的,如果你之前删除lock.json或者使用--force之类的下载命令是可以正常调试,但是如果你要打包成桌面App的时候就欲哭无泪了,会各种失败,建议就是不要做这些高危操作!

然后根据你的操作系统,执行以下脚本:

  • Windows :执行 ./scripts/code.bat
  • MacOS 和 Linux :执行 ./scripts/code.sh

小技巧:快速刷新开发版本

当你成功启动开发版本的 VSCode 后,可以使用快捷键 Ctrl + R 来刷新页面,避免每次修改后都需要重新启动 VSCode。这可以极大提高开发效率。
注意了,相当于热更新的作用,注意是在开发的vscode中使用此快捷键。默认的快捷键就是这个Ctrl + R

第五步:运行 VSCode(可选)

这里有一个大坑,这个打包的过程根据电脑的性能,最低也得半小时起步,而我之前运行的是最小化版本: npm run gulp vscode-win32-x64-min

解释:

  • npm run gulp vscode-win32-x64 是用来构建 完整的 Windows 64 位桌面版本,它会生成一个可以运行的可执行文件(.exe 文件)以及其他相关文件,最终你可以使用它来启动修改后的 VSCode 桌面应用。

  • npm run gulp vscode-win32-x64-min 是构建 最小化版本 的命令,它不会生成你期望的完整桌面应用,而是生成一个更小、更精简的版本,主要用于发布或者是为了测试轻量级功能。

如果你想打包成桌面APP,以上按照文章的步骤执行的话,这一步没有问题

VS Code 可以为以下平台打包:win32-ia32 | win32-x64 | darwin-x64 | darwin-arm64 | linux-ia32 | linux-x64 | linux-arm

gulp有以下任务可用:

vscode-[platform]:为 构建一个打包版本[platform]。

vscode-[platform]-min:为 构建打包和缩小的版本[platform]。

👉提示!运行gulpvianpm以避免潜在的内存不足问题,例如npm run gulp vscode-linux-x64
比如我想打包成Windows系统的APP,执行:npm run gulp vscode-win32-x64

版本信息

以下是版本名称的小结:

  • Node.js 版本:20.18.2
  • Python 版本:3.13.2
  • node-gyp 版本:v11.1.0

参考文档

官方文档中提供了更详细的贡献指南,可以参考 如何贡献 VSCode 了解更多。


通过上述步骤,你应该能够成功地从源码编译并运行 VSCode。遵循这些步骤并确保环境配置正确,将帮助你顺利启动开发工作!

相关推荐
『六哥』2 小时前
Windows 10 如何设置右击鼠标快速进行“关机”
windows·经验分享·编辑器
步木木2 小时前
Anaconda和Pycharm的区别,以及如何选择两者
ide·python·pycharm
只是橘色仍温柔5 小时前
xshell可以ssh连接,但vscode不行
运维·vscode·ssh
SHtop117 小时前
Eclipse IDE
ide·eclipse
吉均9 小时前
如何实现局域网内无痛访问Jupyter Notebook?
ide·python·jupyter
A__tao9 小时前
SQL 转 PHP Eloquent、Doctrine ORM, 支持多数据库
android·ide·android studio
Tee xm19 小时前
清晰易懂的VSCode加Cline插件使用不同API提供商实现AI编程
vscode·ai编程·安装
1alisa19 小时前
Sublime Text for Mac v4【注册汉化版】代码编辑器
macos·编辑器·sublime text
神码编程19 小时前
【Unity】 HTFramework框架(六十四)SaveDataRuntime运行时保存组件参数、预制体
unity·编辑器·游戏引擎
William.csj20 小时前
Linux——开发板显示器显示不出来,vscode远程登录不进去,内存满了的解决办法
linux·vscode