故障排除

本指南涵盖了 Zed 的常见故障排除技巧。有时您可以使用这些信息自行识别和解决问题。其他时候,故障排除意味着收集正确的信息——日志、配置文件或重现步骤——以帮助我们诊断和解决问题。

注意:要打开命令面板,请在 macOS 上使用 cmd-shift-p,在 Windows / Linux 上使用 ctrl-shift-p

获取 Zed 和系统信息

报告问题或寻求帮助时,了解您的 Zed 版本和系统规格非常有用。您可以使用命令面板中的以下操作来检索此信息

  • zed: about:查找您的 Zed 版本号
  • zed: copy system specs into clipboard:将 Zed 版本号、操作系统版本和硬件规格填充到剪贴板中

Zed 日志

通常,在排查 Zed 中的任何问题时,首先要查看 Zed 日志,其中可能包含有关问题原因的线索。您可以通过从命令面板运行 zed: open log 操作来查看日志的最新 1000 行。如果您想查看完整文件,可以通过从命令面板运行 zed: reveal log in file manager 在操作系统的原生文件管理器中显示它。

您将在每个操作系统上的相应位置找到 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 问题或在我们的 Discord 服务器中与 Zed 员工交谈时很有用。

性能问题(分析)

如果您在 Zed 中遇到性能问题——例如卡顿、挂起或普遍无响应——在您的问题中附带性能配置文件将帮助我们查明是哪个环节出了问题,以便我们能够修复它。

macOS

Xcode Instruments(随附于您的 Xcode 下载)是 macOS 上进行性能分析的标准工具。

  1. 在 Zed 运行的情况下,打开 Instruments
  2. 选择 Time Profiler 作为分析模板
  3. Time Profiler 配置中,将目标设置为正在运行的 Zed 进程
  4. 开始录制
  5. 如果性能问题发生在 Zed 中的特定操作时,请立即执行该操作
  6. 停止录制
  7. 保存跟踪文件
  8. 将跟踪文件压缩成 zip 档案
  9. 提交一个附带跟踪 zip 文件的 GitHub 问题

启动和工作区问题

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- 的形式

  • 稳定版: 0-stable
  • 预览版: 0-preview
  • 夜间版: 0-nightly
  • 开发版: 0-dev

虽然很少见,但我们发现少数情况下工作区数据库损坏,导致 Zed 无法启动。如果您遇到启动问题,可以通过暂时移动数据库,然后再次尝试启动 Zed 来测试是否与工作区相关。

注意:移动工作区数据库将导致 Zed 创建一个新的数据库。您最近的项目、打开的标签页等将恢复到“出厂”设置。

如果重新生成数据库后问题仍然存在,请提交问题

语言服务器问题

如果您遇到与语言服务器相关的问题,例如过时的诊断信息或跳转到定义的问题,通常通过命令面板中的 editor: restart language server 操作重启语言服务器即可解决问题。