Lapce 评测:用 Rust 和 Rope Science 重写编辑器,到底快在哪
用 Rust 编写的闪电般快速且强大的代码编辑器。 Lapce 闪电般快速且强大的代码编辑器 Lapce (IPA: /l ps/) 是用纯 Rust 编写的,具有 Floem 中的 UI。
秒懂
- 它是什么?
- Lapce 是一个用纯 Rust 编写的代码编辑器,UI 基于 Floem,渲染走 wgpu,内置 LSP 和远程开发支持。本文从架构、上手、插件机制到真实局限,帮你判断它是否值得替换你手头的编辑器。
- 适合谁用?
- Lapce 适合那些受够了 Electron 编辑器内存占用、又想要现代编辑器体验的开发者,尤其是喜欢 Vim 键位且需要远程开发的人。它不适合需要成熟插件生态或依赖 GUI 框架深度定制的团队,因为插件数量少、文档还在完善。
- 能商用吗?
- 可以。Apache-2.0 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库最近一次提交在 2 天前。
- 用什么语言写的?
- 主要是 Rust(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。
开源项目深度解析
一个用 Rust 重写编辑器底层的项目
Lapce 的目标很直接:做一个快速且功能完整的代码编辑器,但不用 Electron 那套。它用纯 Rust 写核心,UI 用 Floem,渲染交给 wgpu。这意味着从文本存储到界面绘制,整条链路都绕开了浏览器引擎。项目描述里提到它借鉴了 Xi-Editor 的 Rope Science,这是一种专门为文本编辑设计的数据结构,能让大文件下的插入、删除和撤销操作保持稳定性能。对于被 VS Code 内存占用困扰的人来说,这个方向本身就有吸引力。但要注意,Lapce 不是轻量级玩具,它内置了 LSP、终端和远程开发,功能定位和 VS Code 同级。
从 Rope Science 到 wgpu:性能设计的三个支点
Lapce 的性能设计有三个可见的支点。第一是文本存储,Rope 结构把文档拆成可共享的树节点,编辑操作不需要复制整个文件,这在处理几万行代码时优势明显。第二是渲染,wgpu 是跨平台的 GPU 抽象层,Lapce 用它来做界面绘制,而不是依赖操作系统的原生控件。这种方式的代价是 UI 的观感和行为完全由代码控制,好处是滚动和绘制可以做到非常流畅。第三是 LSP 集成,语言服务器在独立进程中运行,Lapce 通过协议通信,这样即使语言服务器卡住,编辑器主线程也不会被阻塞。文档没有给出具体基准数字,所以别指望这里有量化对比。
安装与首次运行:官方渠道和源码编译两条路
安装 Lapce 有现成的二进制包。README 提供了 Windows、Linux 和 macOS 的预编译版本,发布页在 GitHub Releases 上。另外还有一个专门的文档页面说明如何用包管理器安装,比如在 Arch 上可以用 pacman,在 macOS 上可以用 Homebrew,具体命令要看 docs/installing-with-package-manager.md。如果你想从源码编译,也有对应的构建指南。值得注意的是,项目提供 nightly 版本,最近一次推送是 2026 年 6 月,而稳定版还停留在 v0.4.6。如果你追求稳定,应该选 v0.4.6,而不是 nightly。
内置 LSP 和 Vim 模式:日常编辑的核心体验
Lapce 把 LSP 支持做成内置功能,不需要额外插件。这意味着装好之后,只要配置了对应语言的服务器,就能获得补全、诊断和代码操作。对于熟悉 VS Code 的开发者,这个模型很眼熟,但 Lapce 的实现是原生的,没有中间层。另一个核心特性是模态编辑,Vim 模式是头等公民,而且可以切换。README 特意强调这一点,说明它不是为了凑功能,而是真的把 Vim 键位放在设计中心。如果你依赖 Vim 插件生态,比如 surround 或 multiple-cursors,那 Lapce 的 Vim 模式可能还不够,因为文档没有提到对这些的兼容。
远程开发:灵感来自 VS Code,但实现思路不同
Lapce 的远程开发功能明确写着灵感来自 VS Code Remote Development。它让你在本地界面里操作远程系统,感觉像在本地一样。但 Lapce 的做法不是复制 VS Code 的架构,而是配合自家的 Lapdev 服务。Lapdev 是一个云开发环境服务,类似 GitHub Codespaces,点击 README 里的按钮就能进入一个预装好依赖的 Lapce 环境。这里有个关键区别:VS Code Remote 是客户端-服务器分离,而 Lapce 的远程方案更偏向于把整个开发环境托管到云端。如果你已经有自己的远程服务器,Lapce 是否支持直接 SSH 连接,README 没有明确说明,这点需要去文档确认。
插件机制:WASI 的野心和现实落差
Lapce 的插件系统允许你用能编译到 WASI 的语言写插件,包括 C、Rust 和 AssemblyScript。这是一个大胆的设计,因为 WASI 提供了沙箱化的运行环境,插件不能直接访问系统资源,理论上更安全。但这也意味着你不能简单地把 VS Code 的插件移植过来,每个插件都得重新实现。文档没有给出插件市场的规模,也没有示例插件,所以实际可用性要打问号。对于普通用户,这意味着目前可用的插件数量可能非常有限。如果你依赖某个特定的 VS Code 插件,比如 GitLens 或 Remote SSH,那 Lapce 大概率不是你的菜。
维护节奏与许可证:Apache-2.0 下的双轨发布
Lapce 的维护节奏很清晰:稳定版和 nightly 并行。v0.4.5 在 2025 年 9 月发布,v0.4.6 在 2026 年 1 月发布,中间隔了四个月,nightly 则几乎每天都有更新。这种双轨模式对早期采用者友好,但要注意 nightly 可能不稳定。许可证是 Apache-2.0,这是宽松许可证,允许你自由使用、修改和分发,只要保留版权声明。它没有 copyleft 要求,所以你可以把代码集成到闭源项目里,但如果你修改了 Lapce 本身,最好也以 Apache-2.0 发布,这不是法律建议,只是社区惯例。升级成本方面,从 v0.4.5 到 v0.4.6 的间隔说明大版本更新不快,但 nightly 的频繁变化意味着如果你想跟踪最新功能,需要频繁更新。
编辑结论
Lapce 适合那些受够了 Electron 编辑器内存占用、又想要现代编辑器体验的开发者,尤其是喜欢 Vim 键位且需要远程开发的人。它不适合需要成熟插件生态或依赖 GUI 框架深度定制的团队,因为插件数量少、文档还在完善。决定采用前,先确认你常用的语言服务器在 Linux 或 macOS 上表现稳定,并检查 nightly 版本是否满足你的日常使用,因为 v0.4.6 之后的更新可能包含尚未稳定的改动。
社区笔记