入门 Zed Industries 2026-09-14 17:42:19 · 0 阅读

第3章 Zed 编辑器故障排查指南

本指南介绍了 Zed 的常见故障排查方法。有时你可以根据这些信息自行识别并解决问题;但更多时候,排查意味着收集正确的信息(如日志、性能剖析数据或复现步骤),以便我们诊断和修复问题。

注意:打开命令面板时,macOS 使用 cmd-shift-p,Windows 和 Linux 使用 ctrl-shift-p

获取 Zed 和系统信息

在报告问题或寻求帮助时,了解你的 Zed 版本和系统规格非常有用。你可以通过命令面板中的以下操作获取这些信息:

  • {#action zed::About}:查找你的 Zed 版本号
  • {#action zed::CopySystemSpecsIntoClipboard}:将 Zed 版本号、操作系统版本和硬件规格复制到剪贴板
  • {#action zed::CopyInstalledExtensionsIntoClipboard}:将你已安装的扩展列表及其版本复制到剪贴板

Zed 日志

在排查 Zed 中的任何问题时,Zed 日志通常是一个好的切入点,其中可能包含问题所在线索。你可以运行命令面板中的 {#action zed::OpenLog} 操作,查看日志最近 1000 行。若想查看完整文件,可通过命令面板中的 {#action zed::RevealLogInFileManager} 在操作系统的原生文件管理器中显示该文件。

Zed 日志在各自的操作系统中位于以下位置:

  • macOS:~/Library/Logs/Zed/Zed.log
  • Windows:C:\Users\YOU\AppData\Local\Zed\logs\Zed.log
  • Linux:~/.local/share/zed/logs/Zed.log$XDG_DATA_HOME

注意:在某些情况下(例如 开发 Zed 扩展 时),实时监听日志会很有用。 示例:tail -f ~/Library/Logs/Zed/Zed.log

日志中可能包含足够的上下文信息,帮助你自行调试问题;或者你发现的特定错误在提交 GitHub issue 或在我们 Discord 服务器 中与 Zed 团队沟通时很有帮助。

性能问题(Profiling)

如果你在使用 Zed 时遇到性能问题(卡顿、无响应等),在 issue 中附上性能分析报告(profile)能帮助我们更快定位卡在哪里。

macOS

Xcode Instruments(随 Xcode 一并安装)是 macOS 上的标准性能分析工具。

  1. 在 Zed 运行的状态下打开 Instruments
  2. 选择 Time Profiler 作为分析模板 Instruments 模板选择界面,已选中 Time Profiler
  3. Time Profiler 配置中,将目标设为正在运行的 Zed 进程
  4. 开始录制 Time Profiler 配置界面,显示目标下拉框和录制按钮
  5. 在 Zed 中执行引发性能问题的操作
  6. 停止录制 Instruments 中一份完整的 Time Profiler 录制结果
  7. 保存 trace 文件
  8. 将 trace 文件压缩为 zip 包
  9. 提交 GitHub issue 并附上该 zip 包

启动与工作区问题

Zed 会在本地创建 SQLite 数据库来持久化工作区和项目相关的数据。这些数据库存储的内容包括:项目中打开的标签页和面板、每个打开文件的滚动位置、你打开过的所有项目列表(用于最近项目选择器)等等。你可以在以下位置找到这些数据库:

  • macOS:~/Library/Application Support/Zed/db
  • Linux 和 FreeBSD:~/.local/share/zed/db(或位于 XDG_DATA_HOMEFLATPAK_XDG_DATA_HOME 下)
  • Windows:%LOCALAPPDATA%\Zed\db

这些数据库的命名格式为 0-<zed_channel>

  • Stable:0-stable
  • Preview:0-preview
  • Nightly:0-nightly
  • Dev:0-dev

尽管罕见,但我们确实遇到过几次工作区数据库损坏导致 Zed 无法启动的情况。如果你遇到启动问题,可以暂时将数据库从其原位置移走,然后尝试再次启动 Zed,以判断问题是否源于工作区数据库。

注意:移动工作区数据库后,Zed 会创建一个全新的数据库。你的最近项目、打开的标签页等设置将恢复出厂状态。

如果重新生成数据库后问题依旧,请 提交 issue

语言服务器问题

如果你遇到与 language server 相关的问题,如诊断信息过时或跳转到定义失败,通常可以通过命令面板中的 {#action editor::RestartLanguageServer} 重启语言服务器来解决。

Agent 错误信息

"Max tokens reached"

当 agent 的响应超过模型的最大 token 限制时,会看到此错误。触发场景包括:

  • Agent 生成了极长的响应
  • 对话上下文加响应内容超出了模型容量
  • 工具输出体积过大,占用了可用的 token 预算

解决方法:

  1. 开启新线程以缩减上下文大小
  2. 在 AI 设置中更换 token 上限更大的模型
  3. 将请求拆分为更小、更聚焦的任务
  4. 使用线程控制功能清除工具输出或历史消息

不同模型的 token 上限各不相同,请查阅模型服务商的文档了解具体限制。

评论 (0)