Zed 是一款支持多人协作的代码编辑器,由 Atom 编辑器原作者主导,完全采用 Rust 编写,主打“高性能”——其 Slogan「Code at the speed of thought」,意思就是用 Zed 写代码的速度快得跟上了脑子。
Zed 于 2024 年 1 月份正式开源,目前已提供支持 macOS 和 Linux 的版本,并且原生集成了 AI 辅助编码功能,支持 GitHub Copilot 和 GPT。
不过对于备受广大程序员期待的“远程开发”,却一直迟迟没有上线。
↑ 工单都提了两年半……
就在今天,Zed 在博客官宣了远程开发功能,目前处于 Beta 阶段。
目前支持的平台如下:
macOS(包括 Intel x86_64 和 ARM aarch64)
Linux on x86_64 or ARM:
Ubuntu 20/22/24, Raspbian, Debian 11/12, Fedora 40/41/42, ArchLinux, Alpine, NixOS, SUSE/OpenSUSE, RedHat 8.x/9.x, 及衍生发行版 (Rocky Linux, CentOS Stream, AlmaLinux, Amazon Linux, Oracle Linux)
现在,开发者使用 Zed 可在任意支持 SSH 连接的机器上打开项目。用户界面完全在本地运行,支持每秒 120 帧的丝滑流畅动画,所有的后台工作:语言服务器、任务和终端则在远程服务器上运行,充分利用云端硬件的优势。
如下图所示,远程开发需要两台计算机,用户的本地机器运行 Zed UI,远程服务器运行 Zed 无头服务器。
两台机器通过 SSH 通信,因此用户需要能够从自己的本地机器通过 SSH 连接到远程服务器来使用远程开发功能。
使用方式如下:
zed ssh://my-host/~/code/zed
据介绍,对于 SSH 连接,Zed 团队使用 ControlMaster 设置来维护与每个主机的单个连接。
这意味着用户可以打开新的终端并启动任务,而无需重新输入密码或重新身份验证。
连接后,Zed 编辑器会下载与操作系统和架构适配的远程服务器。与通常的 Linux 构建不同,远程服务器可以使用 musl 编译,而不需要动态链接。
这使得它可以在较旧的发行版,以及在像 Nix 这样的现代发行版上运行,这些发行版没有全局的动态链接库集。
在建立连接并安装远程服务器后,Zed 将其初始化为守护进程,这样当连接中断时,远程服务器仍然可以继续运行,并且在重新连接时,语言服务器仍然完全初始化。
Zed 还在本地对任何未保存的更改进行了备份,因此开发者永远不会丢失工作。
下载新版 Zed 体验远程开发功能:
https://zed.dev/download