Skip to main content

键盘导航

itBuilder界面支持键盘导航和快捷键,以简化您的工作流程并减少对鼠标交互的依赖。


可用的键盘命令

itBuilder提供键盘命令来增强您的工作流程。本页重点介绍roo.acceptInput命令,但这里是所有键盘命令的快速参考:

命令描述默认快捷键
roo.acceptInput提交文本或接受主要建议无(可配置)
roo.focus聚焦Roo输入框无(可配置)
上/下箭头导航提示历史内置

键盘命令的主要优势

  • 键盘驱动界面:无需鼠标交互即可提交文本或选择主要建议按钮
  • 改进的可访问性:对于行动不便的用户或使用鼠标时感到不适的用户至关重要
  • Vim/Neovim兼容性:支持来自键盘中心环境的开发者的无缝过渡
  • 工作流程效率:减少开发任务期间在键盘和鼠标之间的上下文切换

roo.acceptInput命令

roo.acceptInput命令允许您使用键盘快捷键提交文本或接受建议,而不是点击按钮或在输入区域按Enter。

它的作用

roo.acceptInput命令是一个通用输入提交命令。当触发时,它:

  • 当在文本输入区域时提交您当前的文本或图像输入(相当于按Enter)
  • 当操作按钮可见时点击主要(第一个)按钮(如确认/取消按钮或任何其他操作按钮)

详细设置指南

方法1:使用VS Code UI

  1. 打开命令面板(Ctrl+Shift+P或Mac上的Cmd+Shift+P
  2. 输入"Preferences: Open Keyboard Shortcuts"
  3. 在搜索框中,输入"roo.acceptInput"
  4. 在结果中找到"Roo: Accept Input/Suggestion"
  5. 点击命令左侧的+图标
  6. 按您想要的键组合(例如Ctrl+EnterAlt+Enter
  7. 按Enter确认

方法2:直接编辑keybindings.json

  1. 打开命令面板(Ctrl+Shift+P或Mac上的Cmd+Shift+P
  2. 输入"Preferences: Open Keyboard Shortcuts (JSON)"
  3. 在JSON数组中添加以下条目:
{
"key": "ctrl+enter", // 或您首选的键组合
"command": "roo.acceptInput",
"when": "rooViewFocused" // 这是一个上下文条件,确保命令仅在Roo聚焦时工作
}

您也可以使用更具体的条件:

{
"key": "ctrl+enter",
"command": "roo.acceptInput",
"when": "webviewViewFocus && webviewViewId == 'roo-cline.SidebarProvider'"
}

推荐的键组合

选择不与现有VS Code快捷键冲突的键组合:

  • Alt+Enter - 打字时易于按
  • Ctrl+Space - 对于使用自动完成的人来说很熟悉
  • Ctrl+Enter - 命令执行的直观选择
  • Alt+A - "接受"的记忆法

实际用例

快速开发工作流程

  • 文本提交:向Roo发送消息,无需将手从键盘移开
  • 操作确认:接受保存文件、运行命令或应用差异等操作
  • 多步骤过程:快速通过需要确认或输入的步骤
  • 连续任务:以最少的干扰链接多个任务

键盘中心开发

  • Vim/Neovim工作流程:如果您来自Vim/Neovim背景,保持您的键盘焦点工作流程
  • IDE集成:与其他VS Code键盘快捷键一起使用,获得无缝体验
  • 代码审查:在使用Roo审查代码时快速接受建议
  • 文档编写:在生成文档时提交文本并接受格式建议

可访问性用例

  • 手部行动限制:对于使用鼠标有困难的用户至关重要
  • 重复性劳损预防:减少鼠标使用以预防或管理重复性劳损
  • 屏幕阅读器集成:与屏幕阅读器配合良好,适合视障用户
  • 语音控制兼容性:在使用语音控制软件时可以通过语音命令触发

可访问性优势

roo.acceptInput命令在设计时考虑了可访问性:

  • 减少鼠标依赖:无需伸手拿鼠标即可完成整个工作流程
  • 减少身体劳损:帮助使用鼠标时感到不适或疼痛的用户
  • 替代输入方法:支持依赖键盘导航的行动不便用户
  • 工作流程优化:对于来自Vim/Neovim等键盘中心环境的用户特别有价值

键盘中心工作流程

以下是一些完整的工作流程示例,展示如何有效地将键盘快捷键与Roo结合使用:

开发工作流程示例

  1. 打开VS Code并导航到您的项目
  2. 通过侧边栏打开Roo
  3. 输入您的请求:"为用户注册创建REST API端点"
  4. 当Roo询问框架偏好时,使用您的roo.acceptInput快捷键选择第一个建议
  5. 继续使用快捷键接受代码生成建议
  6. 当Roo提供保存文件时,再次使用快捷键确认
  7. 使用VS Code的内置快捷键导航创建的文件

代码审查工作流程

  1. 选择您想要审查的代码并使用VS Code的"复制"命令
  2. 要求Roo审查它:"审查此代码的安全问题"
  3. 当Roo询问代码上下文的澄清问题时,使用您的快捷键接受建议
  4. 当Roo提供改进建议时,再次使用快捷键接受实施建议

故障排除

问题解决方案
快捷键不起作用确保Roo已聚焦(首先点击Roo面板)
选择了错误的建议命令总是选择第一个(主要)按钮;如果您需要不同选项,请使用鼠标
与现有快捷键冲突在VS Code键盘设置中尝试不同的键组合
使用时没有视觉反馈这是正常的 - 命令静默激活功能,无需视觉确认
快捷键工作不一致确保keybindings.json中的when子句配置正确(要么是rooViewFocused,要么是webview特定条件)

技术实现

roo.acceptInput命令的实现如下:

  • 命令注册为roo.acceptInput,在命令面板中显示标题为"Roo: Accept Input/Suggestion"
  • 当触发时,它向活动的Roo webview发送"acceptInput"消息
  • webview根据当前UI状态确定适当的操作:
    • 如果操作按钮可见且启用,则点击主要操作按钮
    • 如果文本区域启用且包含文本/图像,则发送消息
  • 没有默认键绑定 - 用户分配他们首选的快捷键

限制

  • 仅在Roo界面活动时工作
  • 如果当前没有可用的输入或建议,则无效
  • 当显示多个选项时,优先考虑主要(第一个)按钮

命令行式提示历史导航

使用箭头键以终端式体验导航您的提示历史。此功能使重用和优化以前的提示变得容易,无论是来自您当前的对话还是过去的任务。

主要功能

  • 上/下箭头:循环浏览以前的提示。
  • 上下文感知:在对话和任务历史之间切换。
  • 保留输入:记住您正在输入的内容。

为什么这很重要

之前:重用提示意味着向上滚动、复制和粘贴。

  • 繁琐且缓慢
  • 容易迷失方向
  • 中断您的工作流程

使用提示历史导航:无需离开键盘即可快速访问过去的提示。

工作原理

导航设计为直观并适应您当前的上下文。

在活跃对话中

  • 上箭头:显示您发送的最后一个提示。继续按以在对话中进一步后退。
  • 下箭头:在对话历史中向前移动,最终返回到您正在输入的文本。

开始新聊天

  • 上箭头:显示当前工作空间中任务历史中最新的提示。
  • 下箭头:在任务历史中向前移动。

边缘情况

  • 如果您在导航时开始打字,历史会被忽略,您的新文本会被保留。
  • 导航仅在光标位于输入框的第一行或最后一行时工作,以避免干扰多行编辑。

配置

此功能默认启用。没有需要配置的设置。

优势

  • 更快的工作流程:无需使用鼠标即可重用提示。
  • 更好的上下文:轻松访问并基于以前的交互构建。
  • 更少的中断:专注于手头的任务。

常见问题

"当我按上箭头时为什么没有任何反应?"

  • 您可能在多行提示的中间。光标必须在第一行。
  • 当前上下文可能没有可用的历史。

"对话历史和任务历史之间有什么区别?"

  • 对话历史包括您当前活跃聊天会话中的提示。
  • 任务历史包括当前工作空间中所有以前任务的初始提示。