在 DSH Web GUI 中,切换会话通常需要点击或复制粘贴命令。dsh-arrowkey-nav 插件通过键盘快捷键解决了这个问题,允许用户在会话和工作区之间导航。
核心功能¶
- 会话导航:在当前工作区内,使用
↑切换到上一个会话,使用↓切换到下一个会话。 - 工作区导航:使用
←切换到上一个工作区,使用→切换到下一个工作区。 - 自动滚动:切换后,目标行会自动滚动到视图内。
- 焦点保持:如果在按下按键前焦点在编辑器中,松开按键后焦点会返回编辑器,以便继续打字。
- 循环导航:到达工作区或列表边缘时,会自动循环到另一端。
安装与启用¶
插件通过 DSH 的插件系统安装。
dsh plugin --profile web add dsh-arrowkey-nav -w
安装完成后,重启 profile,然后重新加载 Web UI。可以通过以下命令验证配置:
dsh web --dump-config | Select-String dsh-arrowkey-nav
工作原理¶
插件不依赖 DOM 节点的 ID,而是通过客户端控制器进行会话切换。它会读取侧边栏的渲染顺序来确定会话的“下一个”和“上一个”,而不是依赖控制器的成员列表顺序。这种设计确保了在会话被重新排序时导航仍然有效。
已知限制¶
- 折叠视图不滚动:折叠的工作区组或侧边栏不会触发滚动,虽然切换操作仍然有效。
- IME 与修饰键:如果按键已被输入法或修饰键占用,插件不会拦截按键。
- 编辑器状态:空编辑器允许使用方向键导航;一旦编辑器有草稿,方向键将交给光标控制。
- 兼容性:需要 DSH 0.1.0 到 0.2.0 的特定发布版本。