前不久收到 Microsoft 发来的一封邮件,标题以 Actions required 开头,着实吓人:
邮件大概说的就是这么件事情:我们的 Visual Studio Codespaces 即将全面转移到 GitHub Codespaces 了,赶紧在 ddl 前注册 GitHub Codespaces Beta,然后填个表格,我们会尽快帮你安排通过。
其实很久很久以前,GitHub Codespaces 刚出来的时候我就已经点击 Request early access 了,结果迟迟不批。但是我对这种 Web IDE 还是非常有需求的……用惯了 GitLab Web IDE 后,想很想在 GitHub repo 上直接改代码(一想到要 git clone 就烦)。于是收到邮件当天就填了一下表格。
结果今天开 GitHub 的时候突然发现右侧栏多了一个这个:
立马点击 Go to Codespaces!
进入 Codespaces
Codespace 是依附于 GitHub repo 的,所以需要事先有一个仓库。我这次就建了一个服务计算作业仓库,之后在仓库主页的 Code 按钮里就可以找到 Codespaces 入口:
点击 Open with Codespaces,就会检查是否已经有与该仓库关联的 Codespace。如果没有的话就会提示你新建一个,之后就是一个漫长的初始化过程:
页面会发生一两次跳转,最终会跳转到一个 xxx.github.dev 的地址:
是的,除了窗口顶部的菜单栏被收到左上角的图标以外,其他和 VS Code 是一模一样的。不过初始化速度确实比我想象中的要慢很多,和我们之前自己在服务器上搭建的 che 有的一拼(而 che 慢有一部分原因还是因为网络)。
使用 Codespaces
基本与 VS Code 无异,看惯了 VS Code 默认主题后再看这个 GitHub 定制主题会觉得耳目一新。同时,连接 Codespaces 的功能是由插件提供的(Visual Studio Codespaces),和 Remote 系列插件差不多:
价钱
Beta 版本提供完全免费的基础版实例供测试,2 核 4 G。一个账户可以开 2 个实例。根据官方文档,在 Beta 测试结束后,所有型号实例均需要付费:
算了算,如果主力使用这个开发的话,一天一顿饭钱,不知该说是贵还是便宜,说贵的话,自己的 5 刀主机比这划算多了;说便宜的话,这个用起来确实方便。
编辑器功能
Git 提交时直接使用你的 GitHub 账户提交到对应仓库,体验顺畅。同时也支持远程调试和端口转发,不论是什么样的应用调试起来都挺方便。而且一般的 VS Code 插件都支持,我随手装了个 golang 的语言支持,没遇到啥问题。
网络
wget 一个 golang 的安装包差不多有 30 MB/s,外网访问有保障。在国内使用时,不挂代理使用比挂代理使用更顺畅,敲终端感觉不卡。不过加载仓库文件就有点问题,有时候特别慢,甚至提示断开连接;Intellisense 的反应也相对迟缓。
后续体验之后补充~之后打算给团队也搞一套 Web IDE 开发方案,只要端口转发之类的问题解决好了,相信体验一定很不错。
同类产品
之前在了解 Git + Web IDE 产品的时候,曾经看到一个叫 Gtipod 的产品。授权登陆之后,你就可以在里边访问你的 GitHub repo,提供类似于 VS Code 的体验。这个 Web IDE 是基于 Theia 的,Theia 并非直接魔改 VS Code,而是使用 VS Code 的编辑器核心 monaco 并在其外围增加功能。所以在界面上(例如文件浏览器、终端)和 VS Code 并不太一致。
之前试用该产品,第一大感受就是——初始化慢。和 GitHub Codespaces 类似,初始化过程均是启动一个容器,而且耗时都非常的长。所以,如果想达到 GitLab Web IDE 的体验,恐怕还得有些时日。
为什么 GitLab Web IDE 这么快呢?因为就只是个编辑器而已~~
