编辑器与查看器
当 agent 完成一项更改后,你会想阅读它并判断是否正确,而不必离开当前操作环境转到 VS Code。TermTree 的编辑器/查看器面板会在终端旁打开,正是为此而设计:它没有文件树,因为终端本身就是文件树;也没有 LSP、自动补全或调试器,因为审查 agent 的输出与从头编写代码是两种不同的工作。
终端就是你的文件浏览器
TermTree 没有文件树。编辑器/查看器面板会打开你在终端中指向的任何文件:
- ⌘/Ctrl-click 终端输出中出现的任意文件路径即可将其打开。
- 以 OSC 8 超链接形式写入的路径(某些工具和 shell 会使用这种形式)也可以用同样的方式点击。
- 右键点击路径可选择 打开文件 / 打开文件夹——请参阅终端。
整个应用共用一个全局编辑器/查看器面板——从任何终端打开文件时,都会将其显示在同一个面板中。
编辑与保存
文本文件会在 CodeMirror 编辑器中打开,并通过语言检测提供语法高亮。正常编辑后,使用 Cmd+S / Ctrl+S 保存。未保存的文件会在其名称旁显示未保存指示标记。
同一时间只能有一个文件处于未保存状态。 如果你尝试离开一个包含未保存更改的文件——无论是切换到另一个文件,还是将其关闭——TermTree 都会先提示你保存、放弃更改或取消操作。
当磁盘上的文件发生变化时
如果已打开的文件在磁盘上发生变化(例如 agent 在终端中编辑了它),且你的缓冲区没有未保存的更改,TermTree 会自动重新加载该文件,无需提示。
如果磁盘上的文件发生变化时,你的缓冲区处于未保存状态,TermTree 不会覆盖你的编辑。它会将文件标记为“磁盘上的文件已更改 — 重新加载”,以便你查看外部更改,并在处理完自己的编辑后主动重新加载。
大纲窗格
对于 Markdown 文件,可以切换显示大纲窗格,查看当前文件的标题树。点击标题即可跳转到对应位置;折叠和展开分支可帮助你浏览较长的文档。
差异切换
点击查看更改,即可查看已打开文件与上次提交(git HEAD)之间的只读差异——这是在决定保留哪些内容之前快速审查 agent 所做更改的方法。仅当文件确实与 HEAD 不同时,才会显示差异切换选项。超大文件会被排除,并显示大小限制通知而不是差异内容。
PDF 和图像查看
.pdf 文件和常见图像格式会在专用的只读查看器中打开,而不是在文本编辑器中打开。
后退与前进导航
编辑器会在你打开文件时保留导航历史记录。使用 Cmd+[ / Cmd+] 返回上一个或前往下一个文件(也可以使用 Ctrl+[ / Ctrl+];在 Windows/Linux 上,还可通过原生菜单使用 Ctrl+Alt+Left / Ctrl+Alt+Right)。
最近使用的文件
按 Cmd+Shift+O / Ctrl+Shift+O 打开最近使用的文件对话框,其中会显示你打开过的文件列表;列表会自动去重,最多保留 15 个文件。每次打开该对话框时,系统都会移除磁盘上已不存在的文件,并且该列表会在应用重启后保留。
按文件记忆视图
TermTree 会按文件路径记住你上次使用的视图模式(编辑器或预览)以及各视图中的滚动位置,因此再次打开文件时,会回到你上次离开的位置。Markdown 文件默认使用预览,其他所有文件类型默认使用编辑器。此记忆最多保存 50 个文件,并且仅在当前会话期间有效——重启后会被清除。有关哪些内容会在重启后保留、哪些不会,请参阅会话持久化。
有关 Markdown 和 HTML 特有的预览行为——本地图像、跨文件链接、Mermaid 图表、实时 HTML 渲染和导出——请参阅预览与导出。