yan's blog

谈谈VS Code的不同版本

VS Code 应该算是目前最流行的编辑器了吧。最近一段时间,VS Code 又出了不少版本,比如 vscode.devcode-server。本篇就来聊聊这些版本。

先来理一理目前 VS Code 家族的产品

name web access support pricing offline support terminal access and debug Who can use
VS Code Desktop No free Yes Yes Anyone
github.dev Yes free No No Anyone with GitHub account
vscode.dev Yes free No No Anyone
GitHub Codespaces Yes Yes No Yes Github team and GitHub Enterprize
vscode-server Yes free Yes Yes Anyone

VS Code Desktop

这个版本应该是大家都了解的版本,Electron 的客户端,拥有 VS Code 的全部功能。

优点

因为本地客户端,所以编程体验会比其他方式要好,比如快捷键不会和浏览器冲突,离线方式也能使用。

缺点(可能是)

如果同时打开了多个窗口,内存占用会比较多。对于我只有8G内存的 Macbook Air 来说,还是比较有压力的

github.dev

这个版本是专为 GitHub 使用的。当你在 GitHub 上浏览仓库的时候,可以在仓库的主页按下键盘的 . 键或者是把地址栏中的 github.com替换为 github.dev,就会打开一个网页版本的 VS Code 了。

优点

高度集成 GitHub,打开之后直接登录了你的 GitHub 账号。可以直接修改代码,Fork 或者提交 Pr。对于我们临时查看源代码很有帮助,不用 git clone 到自己电脑上了,直接就能看和编辑。

缺点

  • 没有 terminal,也不能 debug
  • 快捷键有冲突
  • 部分拓展不可用

GitHub Codespaces

Codespace 可以看成是在远端给你配置了一台机器,这台机器会把开发,编译环境都配置好,然后我们通过 web 的方式去访问和编辑。所以他兼顾了桌面端和 web 的优点

优点

  • 启动快,环境自动配置
  • 因为是运行在 VM(或许是 devcontainer),所以可以正常的使用 terminal 以及 debug
  • 方便,有浏览器就能访问。
  • codespaces 的链接能通过本地的 VS Code desktop 直接打开

缺点

  • 收费。。。
  • 必须联网才能访问

vscode.dev

vscode.dev 可以看成是微软官方给的 web 版本的 vscode,可以打开 github repo 或者打开本地文件进行编辑。听起来和 github.dev一样啊,不过官方给了以下说明

Whoa, sounds a lot like github.dev doesn’t it? Are they different? The same? Why two??!!

Good question(s)! github.dev is a customized instance of VS Code for the Web that is deeply integrated into GitHub.

In addition to repositories on GitHub, VS Code for the Web supports Azure Repos (part of Azure DevOps).

说人话就是,GitHub.dev是专为 Github 做的定制版本,code.dev是通用版本

优点

  • 支持打开 github repo 和 本地文件夹
  • 方便易用

缺点

github.dev

vscode-server

vscode-server 可以看成是和 codespaces 差不多,只不过一个是 server 在你自己这里,一个是在 github 那里。在自己的服务器,你的虚拟机或者云服务器都可以,安装上 vscode-server 之后。你就能通过 web 来访问这台机器上安装的 vscode,也能正常的使用 terminal,debug 等。不过要注意,你的所有文件都是保存在 server 上的,开发环境也是在 server 上。

优点

  • 可以在内网使用
  • terminal, debug 都能用
  • 访问方便,不需要能通过 SSH 访问,只需要浏览器就行

缺点

  • 如果使用 code.dev 的域名进行公开访问,需要注册 waitlist 等几周
  • 安全控制策略需要自己配置
  • 每个用户使用最好重新开一个 code-server 进程,比较麻烦

总结

VS Code 为了能让我们在 iPad 上编程,真是花了不少力气啊😂