Zed 编辑器的 6 个隐藏技巧:提升开发效率的「冷知识」整理

Zed 自从今年开始发布了win版本,也有更多的用户开始使用zed这块新时代的AI IDE,下面就来介绍几个非常实用的zed技巧,提升大家的效率!

一、任务命令实时修改:Tab + Alt+Enter 神操作

Zed 的任务系统(Tasks)支持临时编辑命令后立即运行,特别适合调试场景。

🌰 场景举例:Rust 测试需开启 backtrace

默认 cargo test 任务不带 RUST_BACKTRACE=1,但我们可以:

  1. 按 Cmd/Ctrl + Shift + P → 输入 task: spawn
  2. 选择一个任务后 → 按 Tab 键展开原始命令
  3. 手动在命令前加上 RUST_BACKTRACE=1 (注意空格)
  4. 按 Alt + Enter 运行 → 即为 「一次性任务」(Oneshot Task)

✅ 优点:

  • 不污染配置文件
  • 历史记录会保存修改后的命令(下次可直接复用)

二、为 Bun 测试添加「行内 Run 按钮」

Zed 支持在代码行号旁显示 ▶️ 按钮,点击直接运行当前测试。

✔️ 自动支持条件

  • 项目 package.json 中包含 "@types/bun"
  • 文件为 .test.ts / .spec.js 等规范命名

⚙️ 手动配置(通用方案)

若未自动识别,可在项目根目录创建 .zed/tasks.json:

json 复制代码
[
  {
    "label": "Bun Test",
    "command": "bun test",
    "args": ["\"$ZED_RELATIVE_FILE\" -t=\"$ZED_SYMBOL\""],
    "tags": ["js-test", "ts-test", "bun-test", "tsx-test"]
  }
]

✅ 效果:

💡 $ZED_RELATIVE_FILE 和 $ZED_SYMBOL 是 Zed 内置变量,分别代表当前文件路径、光标所在符号(如测试函数名)。


三、给文件图标「加点颜色」------ 安装 Catppuccin Icons

Zed 默认是单色图标 :

👉 安装彩色图标主题三步走:

  1. 命令面板 → zed: extensions → 搜索 Catppuccin Icons → Install

  2. 命令面板 → icon theme selector: toggle → 选择 Catppuccin Mocha(或其他变体)

  3. (可选)开启 Tab 栏图标:
    在 settings.json 中添加:

    json 复制代码
    {
      "tabs": {
        "file_icons": true
      }
    }

🎉 效果对比:


四、用 television 替代默认文件搜索(Vim 用户狂喜)

television 是一个终端版的模糊查找器(类似 fzf + Telescope.nvim),支持预览、多选等高级功能。

🔧 配置步骤

  1. 安装 television(需 Rust 环境):

    bash 复制代码
    cargo install television
  2. 在 tasks.json 中添加任务:

    json 复制代码
    {
      "label": "Television File Finder",
      "command": "zed \"$(tv files)\"",
      "hide": "always",
      "allow_concurrent_runs": true,
      "use_new_terminal": true
    }
  3. 绑定快捷键(如覆盖 Cmd/Ctrl+P):

    编辑 keymap.json:

    json 复制代码
    {
      "bindings": {
        "cmd-p": [
          "task::Spawn",
          { "task_name": "Television File Finder", "reveal_target": "center" }
        ]
      }
    }

✅ 最终效果:


五、终端自动进入项目专属 tmux 会话

适合重度 tmux 用户------每个项目独立 session,避免窗口混乱。

在 settings.json 中配置:

json 复制代码
{
  "terminal": {
    "shell": {
      "with_arguments": {
        "program": "/bin/zsh",
        "args": ["-c", "tmux new-session -A -s \"$(basename \"$PWD\")\""]
      }
    }
  }
}
  • -A:若 session 存在则 attach,不存在则创建
  • -s:指定 session 名为当前目录名(如 my-project)

📌 效果:打开终端即进入专属 tmux,可自由分屏/切换窗口:

✅ 支持 bash/fish:只需修改 program 路径,如 "/bin/bash"


六、让 Zed 认识「陌生」文件后缀(如 .jsm)

Zed 默认仅识别常见后缀(.js, .ts, .rs...)。遇到 .jsm(ESM 模块)、.svelte.ts 等可手动映射:

🔁 临时方案(单次生效)

命令面板 → language selector: toggle → 选 JavaScript

⚠️ 缺点:关闭文件即失效。

✅ 永久方案:写入 settings.json

json 复制代码
{
  "file_types": {
    "JavaScript": ["*.jsm", "*.mjs"],
    "TypeScript": ["*.cts", "*.mts"],
    "Python": ["*.pyi", "*.tac"],
    "Rust": ["*.rs.in"]
  }
}

✅ 支持 glob 通配符

🔍 优先建议:先查 Zed 扩展市场 是否有专属语言插件!


相关推荐
limuyang212 小时前
我在 2核2G 云主机上跑 OpenViking:一次关于云主机、模型选型与长期成本的真实复盘
人工智能·开源·ai编程
Shulex13 小时前
跨境电商 AI Agent 核心架构解析:从只读问答到自主执行的工程落地
人工智能·架构·智能客服·跨境电商
Java后端的Ai之路13 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
情 九13 小时前
MCP 实战 06:把 HTTP 接口接成工具,让 AI 帮你查数据
人工智能·网络协议·http·mcp
码农小旋风14 小时前
Ray分布式计算引擎介绍
人工智能·架构
火山引擎和TA的超级拍档们14 小时前
产品情报局 08 | AI 内容助手:全网热点驱动,一站式打通内容生产全链路
人工智能
Binovate缤江数智14 小时前
水泵远程开关之后,还需要管什么?数智开关在无人值守泵站中的监测、保护与能耗分析
人工智能·物联网
素男14 小时前
两个月不是六十天
人工智能·agent·self-becoming·ai长期记忆·ai自我介绍
byte轻骑兵14 小时前
【LMP】规范精讲[10]: 语音专线开线记——SCO 固定占座与 eSCO 限时重传
人工智能·人机交互·lmp·蓝牙链路管理·蓝牙外设