功能

上下文提及

在 Bob 对话中使用 @ 提及直接引用项目的特定元素,以获得精确、上下文感知的帮助。

提及类型

使用上下文提及,您可以引用项目的各种元素:

提及类型格式描述示例用法
文件@/path/to/file.ts在请求上下文中包含文件内容解释 @/src/utils.ts 中的函数
文件夹@/path/to/folder包含文件夹中所有文件的内容(非递归)分析 @/src/components 中的代码
问题@problems包含 IBM Bob 问题面板诊断@problems 修复我代码中的所有错误
终端@terminal包含最近的终端命令和输出修复 @terminal 中显示的错误
Git 提交@a1b2c3d通过哈希引用特定提交提交 @a1b2c3d 中更改了什么?
Git 更改@git-changes显示未提交的更改为 @git-changes 建议一条消息
URL@https://example.com导入网站内容总结 @https://docusaurus.io/

文件提及

文件提及是最常用的类型,让您可以在与 Bob 的对话中包含特定文件的内容。

功能详细信息
格式@/path/to/file.ts(始终从工作区根目录以 / 开头)
提供带有行号的完整文件内容
适用于文本文件、PDF 和 DOCX 文件(带文本提取)
适用于初始请求、反馈响应和后续消息
限制非常大的文件可能会被截断;不支持二进制文件
提示:

对于大文件,您可以通过使用文件路径后跟行号来提及特定部分,例如 @/src/app.js:10-20 仅包含第 10-20 行。

文件夹提及

使用文件夹提及,您可以一次引用多个文件,从目录提供更广泛的上下文。

功能详细信息
格式@/path/to/folder(无尾部斜杠)
提供目录中所有文件的完整内容
包括文件夹中非二进制文本文件的内容(非递归)
最适合从目录中的多个文件提供上下文
提示提及大型目录时要注意上下文窗口限制
注意:

文件夹提及是非递归的,这意味着它们仅包含指定文件夹中的文件,而不包含子文件夹中的文件。

问题提及

问题提及从 IBM Bob 的问题面板导入诊断,帮助您一次解决多个问题。

功能详细信息
格式@problems
提供IBM Bob 问题面板中的所有错误和警告
包括文件路径、行号和诊断消息
分组按文件组织的问题以获得更好的清晰度
最适合修复错误而无需手动复制

示例用法: @problems 你能帮我修复所有这些问题吗?

终端提及

终端提及捕获最近的命令输出,帮助您调试构建错误或分析命令结果。

功能详细信息
格式@terminal
捕获最后一个命令及其完整输出
保留终端状态(不清除终端)
限制限于可见的终端缓冲区内容
最适合调试构建错误或分析命令输出
提示

在排除构建失败时,尝试 @terminal 有什么问题? 以立即深入了解错误,而无需手动复制输出。

Git 提及

Git 提及通过引用提交和更改来帮助您使用版本控制。

类型格式提供限制
提交@a1b2c3d提交消息、作者、日期和完整差异仅在 Git 存储库中工作
工作更改@git-changesgit status 输出和未提交更改的差异仅在 Git 存储库中工作

示例用法: @a1b2c3d 的目的是什么?为 @git-changes 建议一条提交消息

URL 提及

URL 提及让您可以在与 Bob 的对话中引用外部 Web 内容。

功能详细信息
格式@https://example.com
处理使用无头浏览器获取内容
清理删除脚本、样式和导航元素
输出将内容转换为 Markdown 以提高可读性
限制复杂页面可能无法完美转换
提示:

URL 提及对于引用文档很有用。 尝试 你能解释 @https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise 吗 以获取有关理解概念的帮助,并将官方文档作为上下文。

使用上下文提及

在聊天输入中输入 @ 以触发建议下拉菜单。

继续输入以过滤建议或使用箭头键导航。

使用 Enter 键或鼠标点击选择。

在请求中组合多个提及:"修复 @/src/component.ts 中的 @problems"

提示:

突出显示文本并使用键盘快捷键 + L 将其添加到聊天中。

下拉菜单自动建议:

  • 最近打开的文件
  • 可见文件夹
  • 最近的 git 提交
  • 特殊关键字(problemsterminalgit-changes
  • 所有当前打开的文件(无论忽略设置或目录过滤器如何)

下拉菜单自动过滤掉常见目录,例如 node_modules.gitdistout 以减少噪音,即使您可以在手动输入时包含它们的内容。

提示:

您可以在单个请求中组合多个提及。尝试 比较 @/src/v1/api.js 和 @/src/v2/api.js 并解释差异

重要行为

忽略文件交互

上下文提及在与忽略的文件交互时具有特定行为:

行为描述
.bobignore 绕过文件和文件夹 @mentions 在获取上下文内容时绕过 .bobignore 检查。如果直接提及,将包含来自忽略文件的内容。
.gitignore 绕过同样,文件和文件夹 @mentions 在获取内容时不尊重 .gitignore 规则。
Git 命令尊重与 Git 相关的提及(@git-changes@commit-hash)确实尊重 .gitignore,因为它们依赖于 Git 命令。

上下文提及绕过忽略规则,因此您可以引用通常会被 Bob 或 Git 忽略的特定文件。当您需要讨论生成的文件或其他通常被忽略的内容时,此功能特别有用。

综合运用

上下文提及通过提供对项目元素的精确引用来增强您与 Bob 的交互。您可以直接引用您正在讨论的内容,而不是复制和粘贴代码或描述文件位置。

不同提及类型的有效组合:

  • 修复 @/src/components 中的 @problems 并解释出了什么问题
  • 审查 @git-changes 并建议改进
  • 比较 @/v1/api.js 和 @https://api-docs.example.com 并检查不一致之处

通过有效使用上下文提及,您可以更精确地与 Bob 沟通并获得更有针对性的帮助。

这个主题怎么样?