跳到主要内容

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
bash
install cli binary

zed cli使用​

bash
# 版本
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
json
{
"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加上如下配置

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配置​

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配置​

json
{
"languages": {
"Python": {
"language_servers": ["ruff", "basedpyright"],
"formatter": {
"language_server": {
"name": "ruff",
},
},
"code_actions_on_format": {
"source.organizeImports.ruff": true,
"source.fixAll.ruff": true,
},
},
}
}