快速的原生代码编辑器和智能体工作区

用 Rust 编写,开箱即用:内置编程智能体,用起来顺手,第一天就有你需要的一切。

wumain/main
pane.rs
session.rs
为预览标签页添加测试
crates/workspace/src/pane.rs›impl Pane›fn close_current_preview_item
1198 pub fn close_current_preview_item(
1199 &mut self,
1200 window: &mut Window,
1201 cx: &mut Context<Self>,
1202 ) -> Option<usize> {
1203 let item_idx = self.preview_item_idx()?;
1204 let id = self.preview_item_id()?;
1205 self.preview_item_id = None;
1206
1207 let prev_active_item_index = self.active_item_index;
1208 self.remove_item(id, false, false, window, cx);
1209 self.active_item_index = prev_active_item_index;
1210 if item_idx < prev_active_item_index {farshed,3 周前
1211 self.active_item_index -= 1;
1212 }
1213 self.nav_history.0.lock().preview_item_id = None;
1214
1215 if item_idx < self.items.len() {
1216 Some(item_idx)
1217 } else {
1218 None
1219 }
1220 }
1221
1222 pub fn add_item_inner(
1223 &mut self,
1224 item: Box<dyn ItemHandle>,
1225 activate_pane: bool,
1226 focus_item: bool,
1227 activate: bool,
1228 destination_index: Option<usize>,
1229 window: &mut Window,
1230 cx: &mut Context<Self>,
1231 ) {
1232 let item_already_exists = self
1233 .items
1234 .iter()
1235 .any(|existing_item| existing_item.item_id() == item.item_id());
1236
1237 if !item_already_exists {
1238 self.close_items_on_item_open(window, cx);
1239 }
1240
1241 if item.is_singleton(cx)
1242 && let Some(&entry_id) = item.project_entry_ids(cx).first()
1243 {
1244 let Some(project) = self.project.upgrade() else {
1245 return;
1246 };
1247 let project = project.read(cx);
1248 if let Some(project_path) = project.path_for_entry(entry_id, cx) {
1249 let abs_path = project.absolute_path(&project_path, cx);
1250 self.nav_history
1251 .0
1252 .lock()
1253 .paths_by_item
1254 .insert(item.item_id(), (project_path, abs_path));
1255 }
1256 }
1257 }
1210:64Rust

占用内存少

在我们做过的每一项测试里,Wu 用的内存都比 Zed 和 VS Code 少。

查看测试结果

空闲时

Wu383 MiB
Zed420 MiB
VS Code744 MiB

搜索仓库时

Wu583 MiB
Zed1,395 MiB
VS Code824 MiB
进程占用的总内存,越低越好。

内置你的编程智能体

在代码旁边直接使用 Claude Code、Codex 和 OpenCode,用的就是你已经登录的账号。

了解用法

开源,基于 Zed

Wu 是 Zed 的分支。它保留了 Zed 的编辑器核心、GPU 渲染和语言工具,所有 Zed 扩展都能在 Wu 里使用。

Wu 应用图标

随时可以开始

Wu 免费,一分钟就能装好。选择你的平台。

在 macOS 或 Linux 上,也可以运行

$ curl -fsSL https://wu.dstrml.org/install.sh | sh

第一次在 macOS 或 Linux 上安装?请看安装指南。

关于 Wu 的常见问题

Wu 免费吗?

免费。Wu 是开源软件,采用 GPL-3.0-or-later 许可证,和 Zed 一样。没有付费版本。

Wu 会收集数据吗?

不会。Wu 没有遥测,没有崩溃报告,也不需要账号。它从不把你的使用数据发送到任何地方。

Wu 支持 AI 编程智能体吗?

支持。Wu 内置了对 Claude Code、Codex 和 OpenCode 等编程智能体的支持。不过,Wu 不支持 Zed 的 AI 功能,比如行内助手和编辑预测。

Zed 扩展能在 Wu 里用吗?

能。Wu 从 Zed 扩展商店安装扩展,所有 Zed 扩展都能用。

可以同时保留 Zed 吗?

可以。Wu 和 Zed 的设置是分开的,分别在 ~/.config/wu 和 ~/.config/zed。如果想让两边设置一样,把你的 settings.json 和 keymap.json 复制过去就行。

为什么 macOS 提示无法打开 Wu?

Wu 还没有用 Apple 开发者证书签名,所以 macOS 第一次会拦住它。安装指南里有一次性的解决办法。

Wu 和 Zed 有什么不同?

Wu 去掉了 Zed 的 AI 服务、协作和遥测功能。它有自己的智能体对话,基于 Claude Code、Codex 和 OpenCode 的命令行工具,也有自己的外观,还在其他好几个地方比 Zed 更好用。详情请看文档。

在哪里报告问题?

在 GitHub 上提交 issue。提交前请先看看有没有人已经报告过。