Chat 上下文、引用与附件
按编辑器添加文件、参与者、变量和视觉附件,并检查实际引用。
This page has not been translated into English yet. The original Chinese version is shown below.
问题是否得到正确回答,往往取决于 Copilot 是否拿到了相关文件与代码范围。先打开或选中目标代码,再按所在 IDE 提供的方式附加上下文;不要把某个编辑器的 @、# 语法当作所有客户端通用协议。
VS Code 的三类入口
| 输入前缀 | 用途 | 已核实示例 |
|---|---|---|
@ | 选择 chat participant | @workspace、@terminal、@vscode |
/ | 选择常见任务的 slash command | /fix、/tests、/new |
# | 添加上下文变量或引用 | #selection、#file、#editor、#codebase、#git |
在输入框输入对应前缀可查看当前可用项。自然语言自动推断 participant 仍标为 public preview;需要明确指定范围时可直接写参与者。
例如,用 #file:gameReducer.js #file:gameInit.js 附加两个文件后询问它们的关系。回答顶部的 Used n references 可展开检查实际引用,可能包含仓库 custom instructions 文件。
其他 IDE 的文件引用
- Visual Studio:默认参考打开文件或选中代码;
#后可跟文件名、文件名与行号,或solution指定解决方案。通过回答下方 References 检查引用。 - JetBrains:默认使用打开文件或选中代码;把文件拖进提示框,或右键文件选择 GitHub Copilot → Reference File in Chat。项目级问题可使用
@project。回答下方也有 References。 - Xcode:默认参考打开文件或选中代码,也可从提示框附件入口添加文件,并通过 References 查看。聊天历史可帮助回看不同 Xcode 上下文中的讨论。
- Eclipse:使用当前文件,或点击聊天面板的回形针搜索并附加文件;比较文件时先把相关文件都加入对话。
Visual Studio 的入门提示页把 #solution 简写为引用活动文件,而详细 Chat 页明确写为解决方案引用。本页采用详细说明,不把 #solution 当作当前文件的同义词。
GitHub 专用技能
VS Code 和 JetBrains 的官方说明支持 @github 访问 GitHub 专用能力,并由问题内容选择 skill。可以询问 @github What skills are available?,也可在支持的界面用 @github #web 明确请求网络搜索。
这里的 GitHub skills 是 Chat 提供的能力入口,不等同于 CLI 的 SKILL.md 文件。Visual Studio 的 @github 在该指南仍标为预览,其可用性以当前客户端为准。
图片和 PDF
GitHub 的 VS Code、Visual Studio Chat 说明支持在具有图片输入能力的模型下添加 JPEG、PNG、GIF、WEBP、PDF、HEIC、HEIF。官方说明此类附件面向所有 Copilot 套餐、默认开启,无需单独策略开关;仍需选择支持图片输入的模型。
VS Code 可以粘贴图片、拖放文件,或在 Explorer 右键图片选择 Copilot → Add File to Chat。Visual Studio 可以粘贴图片,或通过回形针的 Upload Image 选择图片。附件说明后写清希望解释报错、理解图表还是生成界面代码;不要只发送附件而省略任务。
官方在这些标签页列出的附件支持范围不能自动外推为所有 IDE 相同。需要具体提示模板时,参阅日常任务提示。