zed编辑器
- 基于 Rust,高效利用 CPU 内核与 GPU
- 对比vscode,更轻、更快,高性能编辑器、简洁
- vscode都优点是全能,生态好,但是需要安装一堆插件,性能差,VSCode越用越重
- zed内置了很多功能,不需要安装太多插件,如agent集成、语法高亮、格式化等等
- 支持直接拖拽文件/目录,到agent面板中
- 支持灵活切换多个项目
- 适配各种agent
zed问题
- 代码格式化需要配置
- git问题:zed的git没有vscode友好,zed把暂存区和没暂存区都放在一起,而不是像vscode分组管理
- 路径跳转不友好
配置
- 环境变量配置
- 面板布局配置
- 格式化
- 汉化
- 相关快捷键
- 代码运行
- ACP Registry
环境配置
- 配置环境变量,就可以直接在终端打开zed
- 安装 Zed 的命令行工具,让你能在终端里输入
zed .打开当前文件夹- 打开 Zed
Cmd + Shift + P- 搜索 install cli binary
install cli binary
zed cli使用
# 版本
zed --version
# 打开当前目录
zed .
# 打开到指定行
zed src/main.ts:42
# 打开到指定行和列
zed src/main.ts:42:10
# 新窗口打开当前目录
zed -n .
# 对比两个文件
zed --diff old.ts new.ts
ACP Registry
- zed支持ACP,可配置多个agent
面板布局配置
- 在右上角头像 -> panel layout -> Classic/ Agentic
- Classic: 传统经典布局,像VS Code
- Agentic:agent智能体布局(AI工作流布局)
Git面板
- 搜索:git panel
- 在左下角图标
Tasks配置
Zed 自带 Tasks。官方文档里 Tasks 就是用来在 Zed 里运行 shell 命令的
- 打开任务配置:open tasks
{
"label": "Run Python",
"command": "python3",
"args": ["$ZED_FILE"],
},
{
"label": "Run JS",
"command": "node",
"args": ["$ZED_FILE"],
},
- 搜索:
task: spawn- 是 Zed 里的一个命令,意思是:启动一个 Task、运行任务
相关快捷键
- 打开命令面板/搜索:Cmd + Shift + P
- 搜索agent面板打开
- 切换终端:Cmd + J
- 快速打开文件:Cmd + P
- 快速切换最近打开文件:Cmd + Option + 左右箭头
- 重启工作区:reload
- 触发快速修复:cmd + .
- 快速运行代码: Cmd + Shift + R
- 展开收起面板:Cmd + B
- 展开历史线程会话:Cmd+Option + J
打开快捷键设置
- 搜索:open keymap
配置快捷键
- 删除行:delete line
- 默认的删除行的快捷键是 cmd + shift + k
keymap.json加上如下配置
{
"context": "Editor",
"bindings": {
"cmd-d": "editor::DeleteLine",
}
},
插件配置
- zed内置了很多基础能力
Agent面板使用
- 快速切换 Thread”的弹窗
- Thread:对话线程
- 命令面板搜索:Threads Sidebar、toggle thread
- 查看历史线程对话
- 在底部有一个按钮:Open Threads Sidebar
- 快捷键:Command+Option + J
zed配置
- zed的
settings - 项目的zed配置文件:
.zed/settings.json - 如果项目没有单独配置格式化工具,Zed 会走它默认的 formatter
前端项目.zed/settings.json配置
{
"format_on_save": "on",
"languages": {
"JavaScript": {
"formatter": [],
"code_actions_on_format": {
"source.fixAll.eslint": true,
},
},
"TypeScript": {
"formatter": [],
"code_actions_on_format": {
"source.fixAll.eslint": true,
},
},
"TSX": {
"formatter": [],
"code_actions_on_format": {
"source.fixAll.eslint": true,
},
},
"Vue.js": {
"formatter": [],
"code_actions_on_format": {
"source.fixAll.eslint": true,
},
},
},
}
python项目.zed/settings.json配置
{
"languages": {
"Python": {
"language_servers": ["ruff", "basedpyright"],
"formatter": {
"language_server": {
"name": "ruff",
},
},
"code_actions_on_format": {
"source.organizeImports.ruff": true,
"source.fixAll.ruff": true,
},
},
}
}