Skip to content

AI 辅助开发

这一章解决什么问题

帮助你理解并使用 Zed 的 AI 功能,包括 Agent 面板、Inline Assistant、模型配置等。

资料来源

访问时间:2025-06-09 适用版本:Zed v0.170+

你会在什么时候用到它

  • 需要理解陌生代码时
  • 需要重构或修改代码时
  • 想生成测试或注释时
  • 需要写 commit message 时

AI 功能概览

Zed 的 AI 功能分为几个层次:

功能入口用途
Agent 面板右侧面板对话式 AI,解释、修改、生成代码
Inline Assistant编辑器中直接修改选中的代码
Edit Prediction输入时类似 Copilot 的代码补全
Git Commit 生成Git 面板自动生成 commit message

Agent 面板

Agent 面板是 Zed 的 AI 对话界面。

打开 Agent 面板

  • 点击右侧的 Agent 图标
  • Ctrl+Shift+Pagent panel: toggle focus

配置 AI 模型

首次使用前需要配置模型。Zed 支持多种模型来源:

1. Zed 托管模型(Zed.dev)

注册 Zed 账号后,可以免费使用一定量的 AI 调用:

  1. 点击状态栏的 Sign In 登录
  2. 或使用 Ctrl+Shift+PSign In
  3. 按照提示完成登录

2. 自己的 API Key

使用你自己的 API Key,按量付费:

json
{
  "language_models": {
    "openai": {
      "api_url": "https://api.openai.com/v1",
      "available_models": [
        {
          "name": "gpt-4o",
          "display_name": "GPT-4o",
          "max_tokens": 128000
        }
      ]
    },
    "anthropic": {
      "api_url": "https://api.anthropic.com",
      "available_models": [
        {
          "name": "claude-sonnet-4",
          "display_name": "Claude Sonnet 4",
          "max_tokens": 200000
        }
      ]
    }
  }
}

API Key 安全

不要在 settings.json 中直接写 API Key。Zed 会弹出对话框要求输入,并安全存储。

Windows 上 API Key 存储在系统密钥管理器中。

3. 本地模型(Ollama)

使用本地运行的开源模型:

  1. 安装 Ollama(Windows 版)
  2. 下载模型:ollama pull codellamaollama pull qwen2.5-coder
  3. 在 Zed 中配置:
json
{
  "language_models": {
    "ollama": {
      "api_url": "http://localhost:11434",
      "available_models": [
        {
          "name": "qwen2.5-coder:latest",
          "display_name": "Qwen Coder",
          "max_tokens": 32768
        }
      ]
    }
  }
}

本地模型注意

  • 本地模型需要较强的硬件(尤其是 GPU)
  • 代码能力通常不如云端大模型
  • 需要保持 Ollama 服务运行

选择模型

配置多个模型后,在 Agent 面板顶部可以切换使用的模型。

使用 Agent 面板

解释代码

  1. 在编辑器中选中代码
  2. 在 Agent 面板中输入:"解释这段代码"
  3. AI 会分析代码并给出解释

修改代码

  1. 在 Agent 面板中描述修改需求
  2. AI 会生成修改后的代码
  3. 代码会以 diff 形式显示
  4. 点击 Apply 应用修改

查看 Diff 再接受

重要习惯

AI 生成的代码修改会以 diff 形式展示。在接受前务必仔细审查 diff,确保:

  • 只修改了需要修改的地方
  • 没有删除重要代码
  • 逻辑正确

控制 AI 作用范围

你可以控制 AI 能看到和修改哪些文件:

  • 当前文件:默认 AI 可以看到当前打开的文件
  • 选中代码:只针对选中的代码片段
  • @提及文件:在对话中 @文件名 让 AI 关注特定文件
  • 项目上下文:AI 可以搜索项目中的相关代码

Inline Assistant

Inline Assistant 让你直接在编辑器中使用 AI 修改代码。

使用方法

  1. 选中要修改的代码
  2. Ctrl+Shift+A 或右键 → Inline Assist
  3. 输入修改指令
  4. AI 会直接在当前位置修改代码

示例

选中一个函数后输入:

  • "添加错误处理"
  • "添加 JSDoc 注释"
  • "用 async/await 重写"
  • "添加参数验证"

Edit Prediction

Edit Prediction 是类似 GitHub Copilot 的实时代码补全。

开启/关闭

json
{
  "features": {
    "edit_prediction_provider": "zed"
  }
}

选项:

  • "zed" — 使用 Zed 的预测模型
  • "none" — 关闭

使用方式

输入代码时,灰色显示预测的内容:

  • Tab 接受预测
  • Escape 忽略
  • 继续输入会覆盖预测

Git Commit 生成

详见 Git 版本控制 章节。

在 Git 面板中暂存改动后,可以点击 AI 按钮生成 commit message。

适合与不适合使用 AI 的场景

✅ 适合使用 AI

场景原因
解释不熟悉的代码快速理解代码意图
添加注释/文档减少重复劳动
生成测试用例提高测试覆盖率
简单重构变量重命名、提取函数等
写 commit message基于 diff 自动生成
格式转换JSON ↔ YAML 等

⚠️ 需要谨慎

场景注意
复杂逻辑修改务必仔细审查 diff
安全相关代码AI 可能引入漏洞
性能关键代码可能不是最优实现

❌ 不建议完全依赖

场景原因
核心业务逻辑需要深度理解业务
安全认证代码风险太高
架构设计需要全局思考

Windows 下 AI 功能不可用的排查

如果 AI 功能无法使用,按以下步骤排查:

1. 检查网络连接

  • 云端模型需要网络访问
  • 确认能访问 api.openai.com 或 api.anthropic.com

2. 检查 API Key

  • Ctrl+Shift+Popen settings → 检查语言模型配置
  • 确认 API Key 有效且有额度

3. 检查本地模型

powershell
# 测试 Ollama 是否运行
curl http://localhost:11434/api/tags

4. 查看错误信息

Agent 面板中会显示错误信息,根据提示排查。

5. 查看日志

Ctrl+Shift+Popen log 查看详细日志。

AI 隐私说明

  • Zed 托管模型:数据通过 Zed 的服务器转发
  • 自己的 API Key:数据直接发送给对应的 AI 提供商
  • 本地模型:数据不离开本机

详见 Zed AI Privacy 文档

本章小结

  • Agent 面板:Ctrl+Shift+Pagent panel 打开
  • 支持 Zed 托管、API Key、本地模型三种方式
  • Inline Assistant:Ctrl+Shift+A 直接修改代码
  • 务必审查 AI 生成的 diff 后再接受
  • 复杂逻辑和安全代码需要人工审查

小练习

  1. 配置一个 AI 模型(Zed 托管或 API Key)
  2. 选中一段代码,让 AI 解释它的作用
  3. 选中一个函数,让 Inline Assistant 添加注释
  4. 在 Git 面板中用 AI 生成 commit message

基于 Zed 官方文档及社区资料整理,仅供学习参考