上下文提及
上下文提及是向 itBuilder 提供项目特定信息的强大方式,使其能够更准确、更高效地执行任务。您可以使用提及来引用文件、文件夹、问题和 Git 提交。上下文提及以 @ 符号开头。
上下文提及概述,显示聊天界面中的 @ 符号下拉菜单。
提及类型
文件提及将实际代码内容添加到对话中,供直接引用和分析。
| 提及类型 | 格式 | 描述 | 使用示例 |
|---|---|---|---|
| 文件 | @/path/to/file.ts | 在请求上下文中包含文件内容 | "解释 @/src/utils.ts 中的函数" |
| 文件夹 | @/path/to/folder | 包含文件夹中所有文件的直接内容(非递归) | "分析 @/src/components 中的代码" |
| 问题 | @problems | 包含 VS Code 问题面板诊断 | "@problems 修复我代码中的所有错误" |
| 终端 | @terminal | 包含最近的终端命令和输出 | "修复 @terminal 中显示的错误" |
| Git 提交 | @a1b2c3d | 通过哈希引用特定提交 | "提交 @a1b2c3d 中发生了什么变化?" |
| Git 更改 | @git-changes | 显示未提交的更改 | "为 @git-changes 建议一条消息" |
| URL | @https://example.com | 导入网站内容 | "总结 @https://docusaurus.io/" |
文件提及
文件提及包含带行号的源代码,用于精确引用。
| 功能 | 详情 |
|---|---|
| 格式 | @/path/to/file.ts(始终从工作区根目录以 / 开头) |
| 提供 | 带行号的完整文件内容 |
| 支持 | 文本文件、PDF 和 DOCX 文件(带文本提取) |
| 适用于 | 初始请求、反馈响应和后续消息 |
| 限制 | 非常大的文件可能会被截断;不支持二进制文件 |
文件夹提及
文件夹提及包含指定目录内所有文件的内容。
| 功能 | 详情 |
|---|---|
| 格式 | @/path/to/folder(无尾随斜杠) |
| 提供 | 目录内所有文件的完整内容 |
| 包含 | 文件夹内非二进制文本文件的直接内容(非递归) |
| 最适合 | 提供目录中多个文件的上下文 |
| 提示 | 提及大型目录时要注意上下文窗口限制 |
问题提及
问题提及直接从 VS Code 的问题面板导入诊断信息。
| 功能 | 详情 |
|---|---|
| 格式 | @problems |
| 提供 | VS Code 问题面板中的所有错误和警告 |
| 包含 | 文件路径、行号和诊断消息 |
| 分组 | 按文件组织问题以获得更好的清晰度 |
| 最适合 | 无需手动复制即可修复错误 |
有关 itBuilder 如何与 VSCode 诊断系统集成的详细信息,请参阅诊断集成。
终端提及
终端提及捕获最近的命令输出以进行调试和分析。
| 功能 | 详情 |
|---|---|
| 格式 | @terminal |
| 捕获 | 最后一个命令及其完整输出 |
| 保留 | 终端状态(不清除终端) |
| 限制 | 仅限于可见的终端缓冲区内容 |
| 最适合 | 调试构建错误或分析命令输出 |
Git 提及
Git 提及提供提交详情和差异,用于上下文感知的版本分析。
| 类型 | 格式 | 提供 | 限制 |
|---|---|---|---|
| 提交 | @a1b2c3d | 提交消息、作者、日期和完整差异 | 仅在 Git 仓库中工作 |
| 工作更改 | @git-changes | git status 输出和未提交更改的差异 | 仅在 Git 仓库中工作 |
URL 提及
URL 提及导入外部网页内容并将其转换为可读的 Markdown 格式。
| 功能 | 详情 |
|---|---|
| 格式 | @https://example.com |
| 处理 | 使用无头浏览器获取内容 |
| 清理 | 移除脚本、样式和导航元素 |
| 输出 | 将内容转换为 Markdown 以提高可读性 |
| 限制 | 复杂页面可能无法完美转换 |
如何使用提及
- 在聊天输入框中输入
@以触发建议下拉菜单 - 继续输入以过滤建议或使用箭头键导航
- 使用 Enter 键或鼠标点击选择
- 在请求中组合多个提及:"修复 @/src/component.ts 中的 @problems"
下拉菜单自动建议:
- 最近打开的文件
- 可见的文件夹
- 最近的 git 提交
- 特殊关键词(
problems、terminal、git-changes) - 所有当前打开的文件(无论忽略设置或目录过滤器如何)
下拉菜单自动过滤掉常见目录,如 node_modules、.git、dist 和 out,以减少噪音,即使手动输入时仍可包含其内容。
重要行为
忽略文件交互
| 行为 | 描述 |
|---|---|
.rooignore 绕过 | 文件和文件夹 @mentions 在获取上下文内容时绕过 .rooignore 检查。如果直接提及,将包含被忽略文件的内容。 |
.gitignore 绕过 | 同样,文件和文件夹 @mentions 在获取内容时不遵守 .gitignore 规则。 |
| Git 命令遵守 | Git 相关提及(@git-changes、@commit-hash)确实遵守 .gitignore,因为它们依赖于 Git 命令。 |