前言
Zed前段时间送了学生认证的免费教育版,于是下了一个来试着用下。正好本人缺一个“小而美”的文本编辑器,而且对VSC的插件生态0依赖,也有点像尝试一下新东西,于是顺理成章的把Zed作为主力使用了。
很坏的,最近在使用GitHub codespace进行一些远程编码任务,很明显zed并不自带这玩意,于是我琢磨了一下如何在zed里使用GitHub codespace进行编码。理论上任何支持使用ssh进行远程开发的ide都能用同样的步骤实现同样的效果。
所需工具
1.本机有配置好能正常使用的openssh-client
2.确保本地的网络能连上workspace机器的ssh
3.准备就绪的GitHub Codespace实例
安装GitHub-cli
我们需要借助GitHub-cli来配置我们本地的ssh客户端,用于对codespace机器ssh的连接。
macOS,使用Homebrew安装
1 | |
Linux
Debian / Ubuntu
1 | |
Fedora / CentOS / RHEL
1 | |
Arch Linux
1 | |
Windows 使用Winget与scoop
winget:
1 | |
scoop
1 | |
安装好后验证安装:
1 | |
接着登录GitHub Cli
1 | |
按照提示依次选择:
1 | |
选择浏览器登录后,终端会显示一个一次性验证码,浏览器自动打开GitHub授权页面,粘贴验证码并点击授权即可
登录完成后,补充申请 Codespace 所需的权限,
1 | |
验证登录状态
1 | |
预期输出(以我自己的为例)
1 | |
使用GitHub cli配置ssh
使用GitHub cli生成ssh配置文件并写入你的本地ssh配置
1 | |
这会把当前你账号下所有Codespace实例的SSH配,包含Host、ProxyCommand、认证信息等追加到你的本地SSH配置文件。
之后可以cat一下你的config,并把他的主机名复制下来直接用ssh连接就行,使用gh cs list可以查看你账号下所有codespace实例的情况,
需要注意的是,只有处于开启状态下的codespace实例才能被ssh连接,即STATE为Available的。
1 | |
使用这条命令就可以连接到你开启的codespace实例了
需要注意的是,Codespace每次重建后Host名称可能变化,需要重新运行一次 –config
要是过段时间他关掉了怎么办?
使用gh cs ssh即可连接到实例并唤醒,唤醒后重新ssh即可。建议每次开工前都手工gh cs ssh来激活一次实例
使用Zed连接到codespace
首先确保你本地ssh客户端能直接 ssh 主机名 来连上实例
非常简单,打开zed,在file-openremote中添加你的codespace主机名
点击Openfloder,全部删掉,输入/workspaces/你的项目名即可(直接输入/workspaces他在底下也会自动列出来项目的)
然后enjoy吧~


