跳转到主要内容

从 Eclipse 到 Zed:一个开发者的编辑器进化史

亲手敲出来的

从后端开发到全栈开发,从 200+ 插件的 VS Code 到终端优先的工作流,记录我的编辑器选择如何随着 AI 时代演进

·15 分钟阅读
编辑器进化之路
从 Eclipse 到 Zed 的编辑器进化旅程

又是一个普通的工作日。

我同时在搞三个项目——一个 Next.js 前端、一个 FastAPI 后端、还有一个 Flutter 移动端。VS Code 开了五个窗口,Chrome 又吃掉了一大块内存。风扇开始嗡嗡响,鼠标开始卡顿,我开始烦躁。

"一个文本编辑器,凭什么吃掉我 3GB 内存?"

那一刻我意识到,是时候重新审视我的开发工具了。

回头想想,从写第一行代码到现在,我的编辑器已经换了好几轮。每一次切换,都不只是换个软件那么简单,而是整个工作方式在变。

Java 时代:Eclipse → IntelliJ IDEA

Eclipse 与 IntelliJ IDEA
Java 时代的两大 IDE:Eclipse 与 IntelliJ IDEA

我的编程生涯始于 Java。得益于微软的同步,我还能找到几年前的学习笔记。

刚学编程的时候,Eclipse 几乎是 Java 开发的标配。说实话,Eclipse 功能是齐全的,但那个年代的 Eclipse 有一种独特的"笨重感"——启动慢、界面丑、插件动不动就冲突。每次打开 Eclipse,都像在启动一台小型服务器。

后来自己瞎折腾,发现了 IntelliJ IDEA。

第一次打开的时候,我愣了一下:代码补全怎么能这么聪明?重构怎么能这么丝滑?我以前在 Eclipse 里需要手动改十几个文件的重构操作,IntelliJ 一个快捷键就搞定了。

那种感觉,就像从诺基亚换到了 iPhone。

不过说实话,Java 我没学很久就转 Python 了。但 IntelliJ 的体验让我对 JetBrains 有了好感,后来自然而然地扩展到了全家桶。写前端用 WebStorm,写 Python 用 PyCharm,写数据库用 DataGrip。每个 IDE 都有针对特定语言深度优化的体验,确实很香。即便后来转到了 VS Code,我也一直在电脑里装着这些 JetBrains 的软件,虽然基本不怎么打开了,但就是舍不得删。

走向全栈

转折发生在我开始做全栈开发的时候。

全栈意味着你什么都要会一点。后端写 Python,前端学 Vue 和 React,移动端搞 Flutter,偶尔还得写点 Shell 脚本,再加上 Docker、各种配置文件之类乱七八糟的东西。语言一多,我就开始想要不要换个工具了。当然,IntelliJ IDEA 本身也能通过插件支持很多语言,但它终究还是太重了。而且我个人更喜欢那种像搭积木一样,自己一点一点把开发环境搭起来的感觉,而不是用一整套预设好的 IDE。

我需要一个"通用型"编辑器。

通用型编辑器选择
寻找一个通用型编辑器

在找到 VS Code 之前,我也试过别的。

Sublime Text 下载下来体验了一下,确实快,但里面的内容实在太简陋了。它唯一的优势感觉就是快,其他方面跟 JetBrains 比起来差距太大。Notepad++ 也看过,但那更像是个高级记事本,不是我想要的开发工具。

VS Code 的黄金时代

VS Code 的出现,完美解决了我的问题。

一个编辑器,装上不同的插件,就能搞定所有语言。Python 装 Pylance,Flutter 装 Dart 插件,Vue 装 Volar——一切都在一个窗口里完成。

然后,我开始了漫长的"调教"之旅。

VS Code 插件数量
不知不觉装了 200 多个插件

主题换了不下十个,图标包试了好几套,快捷键绑定了又改,改了又绑。代码片段、Git 插件、Docker 插件、各种 Linter 和 Formatter……不知不觉,我装了 200 多个插件。

VS Code 插件列表
各种各样的 VS Code 插件

那段时间,配 VS Code 本身就成了一种乐趣。我会经常去各种社区和论坛搜集好用的插件,每发现一个都有一种"捡到宝"的兴奋感。不得不说,它的插件市场实在是太丰富了,而且真的每一个都能实实在在地提升生产力——光是 Python 的开发环境插件,我可能就装了十多个。当然也会有一些稀奇古怪的插件,比如 vscode-pets,在编辑器里养个小宠物,完全没有生产力可言,但就是忍不住装上。

甚至为了让所有工作都集中在 VS Code 上,我还买了一个数据库插件的会员——Database Client。它可以在 VS Code 里直接连接各种数据库,预览数据、执行操作,非常好用。有了它之后,连 DataGrip 都不用开了。

直到现在我也还是会继续折腾各种各样的插件,这种折腾本身就是乐趣的一部分。

VS Code 在代码编辑器市场中占据约 73% 的份额,其插件市场拥有超过 60,000 个扩展。

Stack Overflow Developer SurveyStack Overflow 2024 开发者调查

那是 VS Code 的黄金时代。准确地说,也是我折腾工具效率最高的时期。

AI 编程时代来了

我最早接触 AI 编程,是通过 GitHub Copilot。

GitHub Copilot —— 最早的 AI 编程助手

那时候 Copilot 还没有 Chat 功能,只是在你写代码的时候,它会悄悄地提示你下一步可能要写什么。你写一个注释,它就自动帮你补全一整段代码。第一次看到的时候真的非常惊艳——这玩意儿怎么知道我想写什么?

当然,现在回头看,这些都已经是 AI 编程的基础功能了。

Cursor —— VS Code 的 AI 增强 Fork

后来 Cursor 火了。说实话我入场有点晚,因为当时我还有 Copilot 的学生包可以免费用,再加上 Cursor 本质上是 VS Code 的 Fork,而 GitHub Copilot 才是真正意义上最早做 AI 编程的,所以我一直觉得 Copilot 就是最好的,没有动力去换。

直到同事推荐我试试 Cursor。

下载下来一用,我才发现它比 VS Code 里的 Copilot 强太多了。整个交互都更加丝滑,AI 对上下文的理解也更深。我真的不理解 Copilot 为什么能做成那个样子——明明是最早起步的,体验却被后来者甩开了。

再后来,Claude Code 出来了。

Claude Code —— 终端里的 AI 编程助手

当我开始用 Claude Code 写代码时,一切又不一样了。以前写代码的流程是:在编辑器里写 → 在终端里运行 → 在编辑器里改。现在变成了:在终端里告诉 AI 你要什么 → AI 写好 → 你 review 一下。

终端的使用频率暴增。

以前终端只是用来跑 npm run devgit push 的地方,现在它变成了主要的编程界面。我大部分时间都在跟 Claude Code 对话,让它帮我写代码、修 bug、做重构。编辑器反而退居二线,变成了一个"看代码"的工具。

CLI 智能体没有臃肿的确认界面,对高级用户来说流程更快。CLI 智能体的单命令工作流更加流畅——与 Shell 脚本和开发者工作流自然集成,不需要强制与图形界面交互。

同时,因为 AI 让编程速度变快了,我同时在做的项目数量也在增加。以前一个月做一个项目,现在可能同时推进三四个。

这直接导致了下一个问题。

VS Code 扛不住了

多项目同时开发 + 200 多个插件 = 灾难。

每多开一个 VS Code 窗口,就多吃几百兆内存。五个窗口下来,轻松突破 3GB。我的 MacBook 风扇开始狂转,UI 开始掉帧,打字都能感觉到延迟。

我的 VS Code 吃掉了 3GB 内存——我是这样修的

任务管理器说出了残酷的真相:一个文本编辑器,吃掉了 3.2GB 内存。

WebUtilityLabsDEV Community2023-10

这不只是我一个人的问题。你在网上搜 "VS Code high memory usage",会发现大量类似的吐槽。Electron 架构 + 大量插件 + 多窗口,内存爆炸几乎是必然的。

我试过各种优化方案——禁用不用的插件、用 Profile 功能按项目加载不同插件集合、限制后台进程。有改善,但治标不治本。

说到底,VS Code 是一个基于 Electron 的应用。Electron 意味着每个窗口都跑着一个完整的 Chromium 实例。你开五个窗口,就等于开了五个 Chrome。

终端为王:发现 Warp

既然大部分编程工作已经在终端里完成了,那终端本身得好用才行。

macOS 自带的 Terminal 太简陋,iTerm2 用了很久但感觉有些老旧。直到我发现了 Warp。

Warp —— 现代化终端

Warp 给我的第一印象就是快。启动快、渲染快、响应快。然后是那个 Block 的设计——每条命令和它的输出形成一个独立的"块",你可以像操作文本编辑器一样去选择、复制、搜索终端里的内容。

日常用下来,真的回不去了。举几个小细节:

输入框是一个真正的编辑器,支持多光标、语法高亮、自动补全。以前在终端里敲一条长命令,打错了得按着方向键慢慢挪,现在直接鼠标点到错的地方改就行——听起来理所当然,但传统终端就是做不到。

每个 Block 右上角有个小按钮,一键复制整段输出。以前要选中终端里的文本,得非常精确地拖动鼠标,稍微偏一点就选多了或者选少了。现在完全不用操心这个。

对于重度终端用户来说,这些体验提升是巨大的。

到了这个阶段,我的工作流变成了:90% 的时间在 Warp 终端里用 Claude Code 编程,VS Code 只在需要看 Git 历史的时候打开——主要是用 GitLens 看谁在什么时候改了什么代码。

遇见 Zed

问题是,VS Code 哪怕只用来看代码,它该吃的内存一点都不少。

有天在刷 Twitter 的时候看到了 Zed。点进去一看——"A high-performance, multiplayer code editor from the creators of Atom and Tree-sitter"。创始团队是 Atom 编辑器的原作者,这让我很感兴趣。

下载、安装、打开。

快。非常快。

不是那种"好像快了一点"的快,而是那种"这才是编辑器应有的速度"的快。启动、打开文件、搜索、跳转,所有操作都是瞬间完成。

具体有多快?网上有不少性能对比数据:

指标VS CodeZed
冷启动时间~1.2s~0.12s
单窗口内存占用~730MB~142MB
大文件(10万行)打开明显卡顿秒开

数据来源:Zed vs VS Code Performance Benchmark (2024)

Zed 编辑器
Zed —— 用 Rust 构建的高性能编辑器

Zed 用 Rust 写的,原生 GPU 渲染,没有 Electron 那一层中间开销。所以它能做到同时开十几个项目,内存加起来还没一个 VS Code 窗口多。

Zed 多项目内存占用
一个窗口里用多标签页管理不同项目

而且 Zed 最近还加了 macOS 原生窗口标签页的支持,可以把多个项目窗口合并到一个窗口里,用标签页来切换。对于我这种同时开十几个项目的人来说,桌面终于不用堆满窗口了。这个功能社区已经呼声很久了,终于落地了。

Zed 原生窗口标签页
macOS 原生窗口标签页支持

开启方式很简单,在 Zed 的 settings 里加一行 "use_system_window_tabs": true 就行。不需要重启,下一个打开的窗口就会自动采用新行为。它还会自动跟随 macOS 系统偏好设置里的标签页行为(始终 / 从不 / 全屏时),和系统保持一致。

当然,诚实地说,Zed 也有不足。最明显的就是插件生态——目前还很年轻,很多 VS Code 里习以为常的插件在 Zed 里找不到。没有 GitLens 级别的 Git 可视化工具,某些语言的支持还不够完善。

但对我来说,这些都不是致命问题。因为我现在对编辑器的核心需求只有两个:看代码和轻量编辑。重活儿都交给 Claude Code 在终端里干了。

我现在的工作流

经过这一路折腾,我现在的开发工具组合是:

Zed + Claude Code — 主力开发工具。Zed 同时打开十几个项目完全没压力,用来阅读代码、做小修改、跳转定义。Claude Code 也直接在 Zed 的内置终端里跑,写代码、修 bug、做重构,基本都在一个窗口里完成。

Warp — 终端回归了它该有的作用。只不过这个终端比之前用过的所有终端都好用太多了,是一个真正意义上的现代化终端。我完全不理解为什么现在各个系统自带的终端产品,感觉还活在几十年前。当然,有时候也会直接在 Warp 里启动 Claude Code 干活,因为它自带文件面板和 Git 展示,用起来也很方便。

VS Code — 偶尔客串。主要是 GitLens 看 Git 图的时候用一下。坦白说用的频率越来越低。

各司其职。Zed 管"看"和"写",Warp 管日常命令,VS Code 管"查"。

这套工作流的核心逻辑是:编辑器轻量化,终端重度化。AI 时代,真正的编程发生在终端里。编辑器要做的,只是让你舒服地看代码和做快速修改。

如果你也在用 Claude Code,推荐阅读《我的 Claude Code 最佳实践》了解高效使用技巧,以及《我的 Claude Code 质量检查流程》了解如何保障 AI 生成代码的质量。想深入了解 Claude Code 背后的设计,可以看《Claude 系统架构全解析》。

写在最后

回顾这条编辑器进化之路:

Eclipse → IntelliJ IDEA → JetBrains 全家桶 → Sublime Text(路过)→ VS Code + Copilot → Cursor → Claude Code + Zed + 终端

每一次切换,都不是因为旧工具变差了,而是我的工作方式变了。

做 Java 的时候,IntelliJ 是最优解。做全栈多语言开发的时候,VS Code 是最优解。AI 时代终端优先的今天,Zed + Warp 是最优解。

没有永远最好的编辑器,只有最适合当前工作流的编辑器。

如果你现在还在用一个让你觉得"凑合"的编辑器,不妨问问自己:你的工作方式是不是已经变了,而你的工具还没跟上?

工具是为人服务的。当工具开始拖累你的时候,就是该换的时候了。

评论