如何编译运行vscode源码

环境及准备

学习vscode插件的开发,从编译vscode源码开始。
系统 windows 10,64位
环境准备
为了下载必要的工具,clone代码,通过yarn安装所有依赖,准备环境需要的工具如下:

  1. Git
  2. Node.JS,根据电脑是32位还是64位选择安装,版本 ^10.12.0 || >=12.0.0下载链接,版本自取。(PS:下图的node版本已经太低了,现在已更新)
  3. Yarn,安装指南
  4. Python,python版本要注意使用2.7.x的,3.0以上的版本不支持。如果电脑中已经安装高版本的python,也不用卸载,安装python2.7.x版本后,在环境变量中配置python27的路径即可。用python --version验证python版本。
     我装的版本,仅供参考
    在这里插入图片描述
  5. AC/C++编译器工具:
     安装windows-build-tools

windows系统安装有两种方式:

  • (推荐)使用Windows Build Tools npm模块(该方式可以在一定程度上避免安装错误版本)
      以Administrator身份启动Powershell,安装Windows Build Tools npm module: npm install --global windows-build-tools --vs2015

  • 使用Visual Studio 2017
    安装Visual Studio 社区版
      选择使用C++进行桌面开发(Desktop Development with C++)
     在右侧选择VC++ 2015.3 v14.00 (v140) toolset for desktop
     这一步注意选择正确的版本,安装错了之后修改也很麻烦……

Build and Run

  • clone代码 
    git clone https://github.com/vscode.git
  • cd vscode
  • yarn,该命令会下载编译所需的node_modules等依赖,根据网络状况,是最耗时,也是出错最多的一步,在yarn中遇到的问题及解决方法
  • yarn watch,上一步执行完成后,这一步基本不会有问题,等待完成即可。
    在这里插入图片描述
  • yarn watch执行后,另起一个命令行,执行.\scripts\code.bat就完成啦(注意,在bash中运行时,\需要添加转义符,命令是.\\scripts\\code.bat)!
     该步骤会下载两个包,如果网络不稳定可能会失败,重启命令行多试几次即可(家里wifi不稳定,开手机热点解决的)。
    在这里插入图片描述
     可以看到画面,其中界面的名字不是vscode,而是Code-OSS,图标也和vscode的不同。
    运行成功

打包

  • yarn run gulp 的各种选项都能编出不同的目标,比如 vscode-win32-x64 和 vscode-linux-x64-min。

  • yarn run gulp vscode-win32-x64-archive,打包后生成的包在 .build\win32-x64\archive\VSCode-win32-x64.zip

  • yarn run gulp vscode-win32-x64-min, 打包后生成的包在 …\VSCode-win32-x64,带 min 和不带 min 的编译方法相比,min对于其中的js文件做过体积简化。

参考

  • 最主要的参考是官方文档的步骤和常见问题讨论,这里能解决70%以上的问题。其他系统的解决方案和步骤在这里也能找到。
     官方文档:https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run
  • 其他环境准备过程中如果遇到问题,也可去找对应的官方文档,链接在文章中可以点击直达。
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值