前言
提到 IDE,大家想到的都是 JetBrains 全家桶、VSCode 及其一众衍生品。
不过这些主流的 IDE 也是内存大户和笨重的代名词,最近我试用了以原生、轻量、高性能为特色的 Zed,感觉还挺有意思的,本文简单介绍一下 Zed。后续会更新 AI 功能配置和更多使用场景实践。
关于Zed
Zed 对大部分人来说,可能是个陌生的名词。不过它团队背景非常硬核,甚至可以说他们是现代代码编辑器领域的重量级人物。
团队
Zed 的创始团队(Zed Industries)主要由三位大佬组成:
- Nathan Sobo (CEO):他是 GitHub Atom 编辑器的创始人。在 GitHub 工作期间,他主导了 Atom 的开发,并参与了协作编辑技术(CRDT)的研究。
- Max Brunsfeld:他是 Tree-sitter 的作者。如果你用过现代编辑器,你一定听过 Tree-sitter,它是目前主流编辑器(包括 VS Code、Neovim)实现丝滑语法高亮和代码解析的核心技术。
- Antonio Scandurra:同样是 Atom 团队的核心成员,也是分布式系统和实时协作领域的专家。
他们为什么要做 Zed?
简单说就是当年他们开发的 Atom 编辑器太拉胯了,虽然开启了网页技术开发编辑器的潮流,但 Atom 性能差、内存占用高,被微软的 VSCode 这个后来者打成路边一条,之后 Atom 也被 GitHub(当时已被微软收购)宣布停运。
Zed团队意识到基于浏览器内核(Electron)的编辑器性能上限太低。于是决定彻底抛弃 HTML/JS,用底层的 Rust 从零开始写一个最快的编辑器。
他们希望代码编辑能像游戏一样,每一帧都由 GPU 渲染,消除任何可感知的延迟。
当初在开发 Atom 时就想做“多人实时编程”,但在旧架构上很难实现,所以 Zed 从第一行代码开始就考虑了“多人联机”功能。
小结
简单来说,这是一群懂编辑器的人,在经历过 Atom 的失败与瓶颈后,利用 Rust 这种高性能语言,试图在 AI 时代重新定义开发工具该有的样子。
几个特性
Zed 官网宣传的几个关键特性,本文简单分析一下。
输入延迟
Zed 在性能对比中强调了一个指标:插入延迟(Insertion Latency)。
Zed 的延迟约为 58ms,而 VS Code 约为 97ms。 这种差距类似于从 60Hz 屏幕切换到 144Hz 屏幕——没用过时不觉得,用过之后就再也回不去了。
这来源于 Zed 独特的渲染模式。 不同于传统应用使用系统控件(Retained 模式),Zed 使用了基于 Vulkan 后端的 Immediate 模式。它把编辑器当成一个 3D 游戏,每一帧都由 GPU 直接渲染。虽然 GPU 渲染在局部更新场景下(如只改动一行代码)不一定总是比 CPU 优化算法快,但它带来的丝滑动效和极低的整体延迟,确实重新定义了编写代码的触觉。
语法分析
一个优秀的编辑器,不仅要快,还要“懂”你的代码。Zed 的快,很大程度上得益于其团队开发的 Tree-sitter —— 这是一个通用的 parser(语法解析器)生成器。
在 Tree-sitter 之前,大多数编辑器(包括 VS Code)仍在使用基于正则匹配的 TextMate 规则。这种方式只能处理单行,且在代码存在语法错误时往往会失效。
而 Tree-sitter 能够实时构建完整的语法树,支持增量更新。这意味着无论是代码高亮还是自动补全,Zed 都能在毫秒级给出准确反馈,甚至在你的代码写到一半、语法一团乱时,它依然能精准识别出代码逻辑。
协作
除了极致的单机体验,Zed 还内置了强大的协作功能。不同于传统的屏幕共享,Zed 基于 CRDT(无冲突复制数据类型) 实现了真正的实时多人编辑。
虽然它目前在 Remote 功能(如远程服务器开发)上还无法撼动 VS Code 的地位,但其原生协作的体验,确实让团队 Pair Programming 变得前所未有的顺畅。
小结
坦白说,现阶段的 Zed 还无法完全替代 VS Code。
- 生态差距: VS Code 拥有数以万计的插件,而 Zed 的插件库才刚刚起步。
- 功能完备度: 像 VS Code 那样颠覆性的 Remote 开发模式,目前还是没有对手的。
Zed 并不一定要取代你那个装满了几十个插件、配置复杂的 VS Code。当你需要阅读源码、极速修改单个文件、或者想要进入纯粹编写状态时,Zed 是不错的选择。
下一篇文章中,我会分享一下如何配置 Zed,打造成自己的 AI Code Agent。
程序设计实验室
微信公众号