Zed代码编辑器-Day12
一、项目简介
Zed是一个高性能、多人协作的代码编辑器,口号是 “Code at the speed of thought”(以思维的速度编码)。它由Atom 和 Tree-sitter 的原班团队(Zed Industries 公司)开发,2021 年立项,2024 年 1 月开源(GPL-3.0),目前支持 macOS / Windows / Linux 三大平台。
核心特点:
- 100% 原生 Rust 编写,从零实现,不基于 Electron
- 自研GPUI图形界面框架,用 GPU(Metal / wgpu)直接光栅化整个窗口,类似 3D 游戏渲染
- 深度利用多核 CPU 做并行编辑(多缓冲区架构),启动快、渲染流畅、输入响应极低延迟
- 内置多人实时协作(基于 CRDT 的无冲突复制数据类型,源自 Atom Teletype 的技术积累)
- 原生集成AI(Zed AI / agentic editing,支持 Claude、OpenAI、Ollama 本地模型等),定位为 Cursor、Windsurf 的开源替代
- 内置 Vim 模式、LSP 集成
二、团队背景(为什么它值得关注)
| 成员 | 背景 |
|---|---|
| Nathan Sobo(创始人/CEO) | 2011 年加入 GitHub 领导 Atom 团队至 2018,后开发协作插件 Teletype |
| Antonio Scandurra(联合创始人) | 曾为 Ditto 用 Rust 实现实时分布式数据库,分布式系统/CRDT 专家 |
| Max Brunsfeld(联合创始人) | Tree-sitter 作者,该增量解析框架现在支撑着 GitHub 全站的代码分析 |
三人合计有 15 年以上的编辑器工具开发经验(Atom、Electron、Tree-sitter),属于业界最顶尖的编辑器团队。
三、项目用户
目标用户画像:
- 追求极致性能的开发者(尤其 Mac 用户,编辑大文件时对比 Cursor 明显不卡)
- Vim/Neovim 用户(内置原生 Vim 模式,很多 Neovim 用户因此迁移)
- 重度 AI 编码用户(可本地跑模型、无需 MCP 即可对接 Claude Code)
- 多人在线协作团队
社区规模(搜索结果实时数据):
- GitHub Stars:约88,200(且还在快速增长)
- Forks:约9,900
- Contributors:1,705 人
- Commits:36,184 次
- 知名用户在 zed.dev 首页背书(“Trusted by world-class developers”),如 San Francisco Compute Company、Pinata 等公司的开发者公开推荐
四、代码量
| 指标 | 数据 |
|---|---|
| 总代码行数(Open Hub 统计) | 约 106 万行(1,062,277 LOC) |
| 语言构成 | Rust 占 98%,其余 2% 为 Shell、TS、Python 等 |
| 创始人访谈口径 | 核心编辑器约60 万行 Rust,且"几乎每一行都是团队亲手编写" |
| 仓库规模 | 数千个 Rust crate(模块化到极致,约 300+ workspace 成员) |
这是目前全球最大的开源 Rust 代码库之一,体量远超大多数项目。
五、学习难度
评估:极高(9/10),不建议作为 Rust 入门项目。
要真正读懂 Zed 源码,需要掌握:
- Rust 高级特性:trait 对象、泛型、宏、async/await 运行时(Zed 是 GPUI + 自研异步模型,不是标准 tokio 用法)
- GPU 渲染:GPUI 框架基于 Metal/wgpu,涉及着色器(WGSL/HLSL)、纹理、图层合成——需要图形学基础
- 编辑器核心:文本缓冲区的 rope/sumtree 数据结构、增量语法树(Tree-sitter)、LSP 协议
- CRDT 与分布式系统:多人协作引擎基于无冲突复制数据类型,是全项目最难的部分之一
- 代码库组织:编译时间长(一次全量编译约 10-30 分钟)、依赖链极深,仅环境配置(cargo、nightly 工具链、系统依赖)就有门槛
分梯度学习路径:
- 入门:从
editor和ui两个 crate 的文档入手,先看架构文档(docs/ 目录) - 进阶:研究 GPUI 渲染管线、LSP 集成模块
- 深度:协作引擎(collab)、CRDT 同步,属于分布式系统研究级课题
六、与 VSCode 对比
| 维度 | Zed | VSCode |
|---|---|---|
| 技术栈 | 原生 Rust + GPU 渲染(GPUI) | Electron(Chromium + Node.js + JS/TS) |
| 性能 | 启动/渲染/响应极快,大文件流畅,内存占用低 | 启动较慢,大文件可能卡顿,内存占用高 |
| 扩展生态 | 弱(刚起步,扩展少,但支持 LSP 等核心能力) | 极强,数万个扩展,插件体系成熟 |
| AI 能力 | 内置 AI 面板、Agent 模式、本地模型 | 需装 GitHub Copilot / Cursor 等扩展 |
| 多人协作 | 原生内置实时协作(CRDT) | 需要 Liveshare 扩展 |
| 调试器 | 较弱,创始人公开承认还在用 VSCode 分叉做调试 | 最强,调试体验成熟完善 |
| 平台 | macOS / Linux / Windows | 三大平台 + Web 版 |
| 许可证 | GPL-3.0(开源) | 专有(MIT 的 VSCodium 除外) |
| 上手成本 | 快捷键/配置可自定义,但生态资料少 | 资料最多,教程丰富,社区庞大 |
| 定位 | 追求速度和协作的"工作台" | 功能全面的"瑞士军刀" |
一句话总结:Zed 是"跑车"(性能与协作极致),VSCode 是"多功能房车"(生态与功能全能)。日常开发 VSCode 生态更省心,但如果你在意编辑大文件的流畅度、喜欢 Vim、或者重度使用本地 AI 编码,Zed 值得一试;对想深入研究 Rust 大型系统的人来说,Zed 源码本身就是一座金矿。
