配置
键盘快捷键
使用键盘快捷键简化工作流程并减少对鼠标交互的依赖。
可用的键盘命令
Bob 提供键盘命令来增强您的工作流程。本页重点介绍 Bob.acceptInput 命令,但这里是关键键盘命令的快速参考:
| 命令 | 描述 | 默认快捷键 |
|---|---|---|
Bob.acceptInput | 提交文本或接受主要建议 | 无(可配置) |
Bob.focus | 聚焦 Bob 输入框 | 无(可配置) |
| Inline Chat | 直接在编辑器中编辑代码 | Cmd + K (Mac) / Ctrl + K (Windows/Linux) |
| 移至聊天 | 将选定的代码发送到聊天界面 | Cmd + L (Mac) / Ctrl + L (Windows/Linux) |
| 文学编程模式 | 切换文学编程模式 | Cmd + I (Mac) / Ctrl + I (Windows/Linux) |
| 打开 Bob 聊天面板 | 显示或聚焦 Bob 聊天面板 | Option + Cmd + B (Mac) / Ctrl + Alt + B (Windows/Linux) |
| 模式切换 | 在可用模式之间循环 | Cmd + . (Mac) / Ctrl + . (Windows/Linux) |
要获取所有可用键盘快捷键的完整列表并配置自定义绑定,请打开 Bob 设置,在常规设置下导航到键盘快捷键选项,您可以在其中查看和修改所有快捷键。
键盘命令的主要优势
- 键盘驱动界面:无需鼠标交互即可提交文本或选择主要建议按钮
- 改进的可访问性:对于行动不便或使用鼠标感到不适的用户至关重要
- Vim/Neovim 兼容性:支持来自以键盘为中心的环境的开发人员的无缝过渡
- 工作流程效率:减少开发任务期间键盘和鼠标之间的上下文切换
Bob.acceptInput 命令
Bob.acceptInput 命令允许您使用键盘快捷键提交文本或接受建议,而不是单击按钮或在输入区域中按 Enter。
命令的工作原理
Bob.acceptInput 命令是一个通用输入提交命令。触发时,它:
- 在文本输入区域中提交您当前的文本或图像输入(相当于按 Enter)
- 当操作按钮可见时单击主要(第一个)按钮(例如确认/取消按钮或任何其他操作按钮)
详细设置指南
方法 1:使用 UI
- 打开命令面板(Mac 上为 Ctrl+Shift+P 或 Cmd+Shift+P)
- 输入"Preferences: Open Keyboard Shortcuts"
- 在搜索框中,输入"Bob.acceptInput"
- 在结果中找到"Bob: Accept Input/Suggestion"
- 单击命令左侧的 + 图标
- 按下所需的组合键(例如,Ctrl+Enter 或 Alt+Enter)
- 按 Enter 确认
方法 2:直接编辑 keybindings.json
- 打开命令面板(Mac 上为 Ctrl+Shift+P 或 Cmd+Shift+P)
- 输入"Preferences: Open Keyboard Shortcuts (JSON)"
- 将以下条目添加到 JSON 数组:
{
"key": "ctrl+enter", // 或您首选的组合键
"command": "Bob.acceptInput",
"when": "BobViewFocused" // 这是一个上下文条件,确保命令仅在 Bob 聚焦时有效
}您还可以使用更具体的条件:
{
"key": "ctrl+enter",
"command": "Bob.acceptInput",
"when": "webviewViewFocus && webviewViewId == 'Bob-cline.SidebarProvider'"
}推荐的组合键
选择不与现有 IBM Bob 快捷键冲突的组合键:
- Alt+Enter - 打字时易于按下
- Ctrl+Space - 对于使用自动完成的人来说很熟悉
- Ctrl+Enter - 运行命令的直观方式
- Alt+A - "接受"的助记符
实际用例
快速开发工作流程
- 文本提交:无需将手从键盘上移开即可向 Bob 发送消息
- 操作确认:接受保存文件、运行命令或应用差异等操作
- 多步骤流程:快速完成需要确认或输入的步骤
- 连续任务:以最少的中断将多个任务链接在一起
以键盘为中心的开发
- Vim/Neovim 工作流程:如果您来自 Vim/Neovim 背景,请保持以键盘为重点的工作流程
- IDE 集成:与其他 IBM Bob 键盘快捷键一起使用以获得无缝体验
- 代码审查:使用 Bob 审查代码时快速接受建议
- 文档编写:生成文档时提交文本并接受格式建议
可访问性用例
- 手部活动受限:对于使用鼠标有困难的用户至关重要
- 预防重复性劳损:减少鼠标使用以预防或管理重复性劳损
- 屏幕阅读器集成:与视障用户的屏幕阅读器配合良好
- 语音控制兼容性:使用语音控制软件时可以通过语音命令触发
可访问性优势
Bob.acceptInput 命令在设计时考虑了可访问性:
- 减少鼠标依赖:无需伸手拿鼠标即可完成整个工作流程
- 减少身体压力:帮助因使用鼠标而感到不适或疼痛的用户
- 替代输入方法:支持依赖键盘导航的行动不便用户
- 工作流程优化:对于来自 Vim/Neovim 等以键盘为中心的环境的用户特别有价值
以键盘为中心的工作流程
以下是一些完整的工作流程示例,展示了如何有效地将键盘快捷键与 Bob 一起使用:
开发工作流程示例
- 打开 IBM Bob 并导航到您的项目
- 打开 Bob 聊天面板
- 输入您的请求:"为用户注册创建 REST API 端点"
- 当 Bob 询问框架首选项时,使用您的
Bob.acceptInput快捷键选择第一个建议 - 继续使用快捷键接受代码生成建议
- 当 Bob 提供保存文件时,再次使用快捷键确认
- 使用 IBM Bob 的内置快捷键浏览创建的文件
代码审查工作流程
- 选择要审查的代码并使用 IBM Bob 的"复制"命令
- 要求 Bob 审查它:"审查此代码的安全问题"
- 当 Bob 询问有关代码上下文的澄清问题时,使用快捷键接受建议
- 当 Bob 提供改进建议时,再次使用快捷键接受实施建议
故障排除
| 问题 | 解决方案 |
|---|---|
| 快捷键不起作用 | 确保 Bob 已聚焦(首先单击 Bob 面板) |
| 选择了错误的建议 | 该命令始终选择第一个(主要)按钮;如果需要不同的选项,请使用鼠标 |
| 与现有快捷键冲突 | 在 IBM Bob 键盘设置中尝试不同的组合键 |
| 使用时没有视觉反馈 | 这是正常的 - 该命令会静默激活功能而不会有视觉确认 |
| 快捷键工作不一致 | 确保在 keybindings.json 中正确配置了 when 子句(BobViewFocused 或特定于 webview 的条件) |
技术实现
Bob.acceptInput 命令的实现如下:
- 命令注册为
Bob.acceptInput,在命令面板中显示标题为"Bob: Accept Input/Suggestion" - 触发时,它向活动的 Bob webview 发送"acceptInput"消息
- webview 根据当前 UI 状态确定适当的操作:
- 如果操作按钮可见且已启用,则单击主要操作按钮
- 如果文本区域已启用且包含文本/图像,则发送消息
- 无默认键绑定 - 用户分配其首选快捷键
限制
- 仅在 Bob 界面处于活动状态时有效
- 如果当前没有可用的输入或建议,则无效
- 当显示多个选项时,优先选择主要(第一个)按钮
这个主题怎么样?