前几天Github告诉我说You're now in the CodeSpaces beta
,今天体验了下,又发现了一个白嫖计算资源的机会啊。
codespaces能做什么
现在各行各业都在卷,ide这行也都卷到了远程开发这个领域,codespaces也是远程开发的一个解决方案。可以认为Github给你开了一个docker容器,里面运行着一个vscode,vscode打开着你的项目文件,你可以进行代码编辑,并依托vscode进行调试等等。
在更早的时候github.dev就实现了在线编辑的功能,在你的github项目里按下.
键,就会自动地跳转到Github提供的网页版VS code,参见https://github.dev/github/dev。
可以将codespaces认为是github.dev的扩展和延申。github.dev只具备代码编辑的能力,codespaces则给你提供了一个docker容器,拿到docker容器的shell后,你能做的事情就海了去了。毕竟docker就是一个linux,你相当于白嫖了一个4核8G的VPS。
codespaces的计费规则
目前只对组织和企业组织收费,不对个人收费,这就意味着可以白嫖了。具体收费政策见about-billing-for-codespaces
新建codespaces
- 访问https://github.com/codespaces
- 访问https://github.com/codespaces/new创建你的codespace,,输入项目名、分支、地区。地区我选的是美西。因为大陆局域网的原因,想要流畅的使用codespace肯定要科学上网的,我的科学上网途径在美西所以选择了美西。
- 创建完毕后会自动跳转到codespaces的页面,等待docker容器创建完成后,你就可以看到一个vscode的页面。不同于github.dev,这是一个全功能的vs code,你可以使用docker的shell。
使用codespaces
我探索到的有三种使用途径:
- 浏览器打开codespace。新建完codespaces后会自动地在浏览器打开。
- vscode通过Remote Explorer连接codespaces。需要安装
GitHub Codespaces
插件,并登录Github账号,会自动地展示你地Codespaces。 - Chrome通过App模式打开codespace。和第一种一样也是使用浏览器,好处就在用App模式更加原生。
第三种方式我觉得使用最简单,体验也最好。只需要执行如下代码即可:
chrome.exe --app=https://${user}-${repo}-${id}.github.dev/ --start-maximized
windows下可以编写成vbs脚本,实现双击打开。vbs脚本内容如下
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "chrome.exe --app=https://${user}-${repo}-${id}.github.dev/ --start-maximized",0
加速访问
由于大陆局域网的问题,上述三种方式都会面临访问速度慢的问题,但不是不可以解决的。
对于本地vs code,可以搜索proxy的设置,设置代理即可。对于浏览器打开,我整理了codespaces需要访问的域名如下,配置这些域名走代理即可
*.vscode-cdn.net
*.github.com
*.github.dev
*.trafficmanager.net
*.gallerycdn.vsassets.io
default.exp-tas.com
github.vscode-unpkg.net
*.visualstudio.com
raw.githubusercontent.com
vortex.data.microsoft.com
*.azureedge.net
*.servicebus.windows.net