上下文
上下文提及是一种强大的方式,可以为 VJSP 提供项目的具体信息,使其能够更准确高效地执行任务。你可以使用提及来引用文件、文件夹、问题和 Git 提交。上下文提及以 @ 符号开头。
上下文提及概览,显示聊天界面中的 @ 符号下拉菜单。
提及类型
文件提及将实际代码内容添加到对话中,以便直接引用和分析。
| 提及类型 | 格式 | 描述 | 示例用法 |
|---|---|---|---|
| 文件 | @/path/to/file.ts | 将文件内容包含在请求上下文中 | "解释 @/src/utils.ts 中的函数" |
| 文件夹 | @/path/to/folder/ | 以树状格式提供目录结构 | "@/src/components/ 中有哪些文件?" |
| 问题 | @problems | 包含 ide 问题面板的诊断信息 | "@problems 修复我代码中的所有错误" |
| 终端 | @terminal | 包含最近的终端命令和输出 | "修复 @terminal 中显示的错误" |
| Git 提交 | @a1b2c3d | 通过哈希引用特定提交 | "提交 @a1b2c3d 中有什么变化?" |
| Git 更改 | @git-changes | 显示未提交的更改 | "为 @git-changes 建议一条提交消息" |
| URL | @https://example.com | 导入网站内容 | "总结 https://vjsp.net/" |
文件提及
文件提及结合行号引用源代码,以便精确定位。
| 功能 | 详情 |
|---|---|
| 格式 | @/path/to/file.ts(路径始终以工作区根目录为起点,以 / 开头) |
| 内容展示 | 返回带行号的完整文件内容 |
| 支持类型 | 文本文件、PDF 和 DOCX(可提取其中文本内容) |
| 适用场景 | 初始查询、上下文补充、反馈响应及后续交互中的文件引用 |
| 注意事项 | 超大文件可能被截断;不支持纯二进制文件(如图片、可执行文件等) |
文件夹提及
文件夹提及以可读的树状格式显示目录结构。
| 功能 | 详情 |
|---|---|
| 格式 | @/path/to/folder/(注意路径末尾需带斜杠) |
| 展示方式 | 使用 ├── 和 └── 前缀呈现层级化的目录树 |
| 内容范围 | 仅列出直接子文件和子目录(不递归展开深层内容) |
| 适用场景 | 快速了解项目或模块的目录结构 |
| 使用建议 | 可结合具体文件引用,进一步查看文件内容以深入理解代码 |
问题提及
问题提及直接从 IDE 的问题面板导入诊断信息。
| 功能 | 详情 |
|---|---|
| 格式 | @problems |
| 内容 | 自动提取 IDE 问题面板中的所有错误与警告 |
| 信息包含 | 文件路径、行号及详细的诊断信息 |
| 组织方式 | 按文件分组展示,提升可读性与定位效率 |
| 最佳用途 | 快速修复代码问题,无需手动复制错误信息 |
终端提及
终端提及捕获最近的命令输出以便调试和分析。
| 功能 | 详情 |
|---|---|
| 格式 | @terminal |
| 捕获内容 | 最近执行的一条命令及其完整输出 |
| 状态保留 | 不清空终端,保持当前终端状态 |
| 限制说明 | 仅能获取终端可见缓冲区内的内容 |
| 最佳用途 | 调试构建错误或分析命令输出 |
Git 提及
Git 提及提供提交详情和差异,以便进行上下文感知的版本分析。
| 类型 | 格式 | 提供内容 | 限制说明 |
|---|---|---|---|
| 提交 | @a1b2c3d | 提交信息(含提交消息、作者、日期)及完整代码差异 | 仅适用于 Git 仓库 |
| 工作区更改 | @git-changes | git status 输出及未提交更改的详细差异 | 仅适用于 Git 仓库 |
URL 提及
URL 提及导入外部网页内容并将其转换为可读的 Markdown 格式。
| 功能 | 详情 |
|---|---|
| 格式 | @https://example.com |
| 处理 | 使用无头浏览器获取内容 |
| 清理 | 移除脚本、样式和导航元素 |
| 输出 | 将内容转换为 Markdown 以提高可读性 |
| 限制 | 复杂页面可能无法完美转换 |
如何使用提及
在聊天输入框中输入
@以触发建议下拉菜单继续输入以过滤建议,或使用箭头键导航
按回车键或鼠标点击选择
在请求中组合多个提及:"修复 @/src/component.ts 中的 @problems"
下拉菜单会自动建议:
最近打开的文件
可见的文件夹
最近的 Git 提交
特殊关键字(
problems、terminal、git-changes)
最佳实践
| 实践 | 描述 |
|---|---|
| 使用具体路径 | 直接引用确切文件路径,而非用文字描述文件位置 |
| 使用相对路径 | 路径始终从工作区根目录开始,例如 @/src/file.ts,避免使用绝对路径如 @C:/Projects/src/file.ts |
| 验证引用准确性 | 确保文件路径和提交哈希(如 @a1b2c3d)正确有效 |
| 点击提及快速跳转 | 在聊天历史中点击文件或提交的提及,即可直接打开文件或查看相关内容 |
| 避免手动复制粘贴 | 优先使用智能提及(如 @/file.ts 或 @problems),而非复制代码片段或错误信息 |
| 组合多种提及 | 可灵活组合使用,例如:“参考提交 @a1b2c3d 中的实现,修复 @/src/component.ts 中的 @problems” |
