浅谈次世代代码编辑器 Zed:Rust 原生性能、GPU 渲染 过这些主流的 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。当你需要阅读源码、极速修改单个文件、或者想要