GitHub Codespaces

Codespaces 可以使用基于云服务的资源,并且免去了环境搭建,配置不平衡的问题。

对于我来讲,在公司用 MacBook,在家用 Windows,两套环境不统一,且项目的存放位置不一样,这给我开发一些小项目的时候带来了很多麻烦。

VS Code

最优解仍然是 VS Code,和 Github 集成是最好的。但是也会有个问题,VS Code 并不适用于纯静态语言和复杂的依赖结构,比如 Java,Go 等等。

但是对于 脚本类型的非常合适,比如 python,shell,js 等等。

尤其是 Github Codespaces 集成了那么多的开发环境,开箱即用,真的是美到不行,

Jetbrains Gateway

对于大型项目来讲,还得是 Jetbrains 的产品好,一般来讲 代价都是资源的消耗比较大,但是在这个案例上 会有很多其他的问题。

  1. 资源消耗,GitHub默认给的资源是:2c8g, 但CPU完全不够,需要手动再换成4c32g
  2. Gateway 版本支持:目前支持的最高版本就是 2023.2.4,再高就没这个插件了
  3. 启动内存:启动内存是最坑的,IDEA自适应的内存有大问题, 需要在手动调整 -Xmx2048m

客户机上手动安装的 Github CLI 位置不对

https://github.com/github/codespaces-jetbrains-feedback/issues/106#issuecomment-1660603940

Github Codespaces 寻找的 CLI 目录是被指定的,手动链接一个过去

The plugin appears to be searching for the binary in the standard paths (like /usr/local/bin). If you install it in a local directory, it can't find it. Simply adding a symbolic link solves the problem (e.g., ln -s /path/to/your/gh /usr/local/bin/gh).

While this workaround is effective, it isn't an ideal solution. It would be great to fix the issue that prevents saving the binary's path.

在Github codespace 认证前,提前登陆了 github cli 导致权限不足

https://github.com/orgs/community/discussions/74853#discussioncomment-7554759

先检查权限 gh codespace list
error getting codespaces: HTTP 403: Must have admin rights to Repository.

提升权限
gh auth refresh -h github.com -s codespace

总的来说

GitHub Codespaces 和 vs code 搭配,做一些小型API还是蛮好的,Jetbrains 的支持完全不够,产品带来问题要比好处要多得多,我觉得市场可能会完全淘汰这个东西。

但是想做出工程化持久开发的话,其实可以尝试自己家里搭建个虚拟机,然后通过 ssh 进行远程开发。

缺点就是开发环境需要自己挨个搭建,网络需要自己控制,优点相当明显,自己可以控制更合理的配置资源。