Lzh on GitHub

上下文提示

了解如何在 Roo Code 中使用上下文提示 (@) 来引用文件、文件夹、问题、终端输出和 Git 提交,以获得更准确的 AI 帮助。

上下文提示是一种强大的方式,可以为 Roo Code 提供关于你项目的特定信息,使其能够更准确、更高效地执行任务。你可以使用提示来引用文件、文件夹、问题和 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 问题面板中的所有错误和警告
包含文件路径、行号和诊断消息
分组按文件组织问题,以提高清晰度
最适合无需手动复制即可修复错误

有关 Roo Code 如何与 VS Code 的诊断系统集成的全面详细信息,请参阅 诊断集成

终端提示

终端提示捕获最近的命令输出以进行调试和分析。

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

Git 提示

Git 提示提供提交详细信息和差异,以进行上下文感知的版本分析。

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

URL 提示

URL 提示导入外部网页内容并将其转换为可读的 Markdown 格式。

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

如何使用提示

  1. 在聊天输入框中键入 @ 以触发建议下拉列表
  2. 继续键入以筛选建议,或使用箭头键导航
  3. 使用 Enter 键或鼠标单击进行选择
  4. 在一个请求中组合多个提示:“Fix @problems in @/src/component.ts 中的问题”

下拉列表自动建议:

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

下拉列表会自动筛选出 node_modules.gitdistout 等常见目录以减少干扰,尽管如果手动键入,它们的内容仍然可以被包含。

重要行为

忽略文件交互

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

相关功能

  • 诊断集成 - 了解自动错误检测和智能严重性筛选
  • 代码操作 - 发现直接在编辑器中的快速修复和 AI 帮助
  • Shell 集成 - 了解终端提示如何与 shell 集成协同工作