进阶 onorca.dev 2026-10-18 18:52:10 · 19 阅读

第34章 快速打开与跳转面板

快速打开与跳转面板

通过 Cmd-J 在 worktree、最近文件和标签页之间进行范围限定跳转。当你的 worktree 数量超过几个时,导航就会成为瓶颈。Orca 内置了两套以键盘操作为核心的导航工具。

快速打开(Cmd-P) 文件搜索范围限定在当前 worktree。输入片段后,Orca 会根据近期使用频率和匹配度排序,并在新编辑器标签页中打开文件。多部分查询可以跨路径段匹配,若结果指定了位置,则会直接定位到该处打开文件。被放弃的搜索会被取消,防止过时结果混入列表。结果行以文件名开头,空间紧张时截断父目录(悬停可查看完整路径)。Gitignored 文件也会包含在结果中——作为追踪文件匹配后的第二批次显示,这样你常用快速打开的文件(如构建产物、环境文件)仍可随时触达,且不会污染列表顶部。

新标签页 omnibox(+) 标签条上方的 omnibox 在一个输入框内统一搜索打开的标签页、文件、URL 和 agents(占位符提示:搜索打开的标签页、文件、URL、agents…)。文件行采用与快速打开相同的“文件名优先”布局。若匹配到已打开的编辑器标签页,优先跳转至该标签页而非打开文件副本。

该 + omnibox 还可搜索当前 worktree 的浏览器历史。匹配到的访问记录会以 URL 和页面标题形式显示为建议项,按匹配紧密度和最近访问时间排序。

若输入的是网络搜索词而非路径或 URL,将在 worktree 浏览器中通过默认搜索引擎打开。单个 token 仍优先匹配文件;多词短语则提升搜索行优先级。查询词以 `?` 开头可跳过文件和标签页匹配,直接进行搜索。

Worktree 跳转面板(Cmd-J) 在一次搜索中跨越所有 worktree 和标签页跳转。空输入框的占位符显示为 repo/worktree——输入其中任意一半,Orca 即据此过滤。一旦开始输入,搜索结果将涵盖所有非归档 worktree,即使它们在侧边栏当前过滤条件下被隐藏。Slack 风格的表情代码(如 :rocket:)使用与 workspace 命名相同的建议弹窗。

在面板中按 Tab 键可打开主机和项目过滤菜单。选定的主机和项目会缩小结果集,并以可逐一移除的 chip 形式展示;关闭面板即清除过滤,确保下次打开时无预设范围。

结果包括:

* 最近会话与终端——空查询时,最多显示六个近期 agent/终端会话,按活跃度排序(需处理项优先,其次是已完成,最后是空闲)。当前正在查看的空闲标签页会被省略,以保持列表的可操作性;若当前标签页正在工作、等待你操作或包含未读活动,则仍会显示。行内使用与标签栏一致的实时状态徽章(旋转图标、问号、铃铛、对勾)。若有更多近期会话,点击“See more”展开完整列表;数字快捷键(macOS 上为 Cmd-1–Cmd-6,Windows / Linux 上为 Ctrl-1–Ctrl-6)可直接跳转至前几项。面板打开时,成员资格和排序即冻结,避免光标下的行发生位移。 * 最近 Worktree——空查询下的下一板块,按最后聚焦时间排序,数量设限以保持列表易扫读。 * 项目与 Repo 分组——允许通过名称直接跳转至侧边栏的相应区域。 * 所有 Worktree——开始输入后按 repo 分组显示。 * GitHub PR / GitLab MR——若审查元数据已缓存,则根据缓存的 GitHub PR 标题或编号(#123)以及 GitLab Merge Request 标题或编号(!123)匹配 worktree。 * 所有打开的标签页——优先按当前 worktree 范围限定,其次全局。标签页标题或内容匹配度高于仅匹配 worktree、分支或 repo 的结果;匹配强度相同时,优先显示你近期使用较多的标签页。终端、浏览器、模拟器行将 repo 和 worktree 合并为紧凑的位置 chip,过长的次要路径从开头省略,以确保文件名和匹配尾部可见。若 Orca 有记录,行内显示最后活跃时间。terminal 或 simulator 等类型别名仍能匹配相应标签页类型,且不会使行标签显得杂乱。

当输入查询同时命中打开的标签页和 worktree 时,面板会对各板块展示简短预览,避免主要列表被埋没。若某板块有更多匹配项,点击其“N more”行中的“See more”即可每次显示 20 条额外条目。更改查询词将重置展开的板块。单一板块的结果保持固定上限的完整列表。

在 worktree 上按 Shift-Enter 将在新的 split 中打开,而非替换当前 pane。

若查询未匹配到现有 worktree,面板将提供“创建 worktree”选项行,使用输入文本作为名称。现有匹配项始终优先选中,因此在有真实结果时按 Enter 仍会执行跳转。

评论 (0)