Copilot 聊天上下文
本文介绍如何在 Visual Studio Code 中向 Copilot 聊天提示添加上下文,以帮助 Copilot 提供最佳和最相关的答案。Copilot 支持不同类型的上下文,包括文件、符号、终端命令输出等。
Copilot 会尝试根据你的自然语言聊天提示确定你问题的意图和范围。为了帮助 Copilot 提供最佳和最相关的答案,你可以向聊天提示添加上下文或让 Copilot 自动查找正确的文件。
向聊天提示添加上下文
有几种方法可以向聊天提示添加上下文
-
VS Code 会自动将当前活动的编辑器作为上下文添加。如果你在编辑器中选中了代码块,则只有该选区会被添加为上下文。
你通过选择上下文项旁边的禁用(眼睛)图标来禁用为当前请求添加活动编辑器。使用 chat.implicitContext.enabled 设置来配置是否应为所有请求自动添加活动编辑器。
-
选择 附加上下文 (回形针) 图标 (Copilot Chat) 或 添加文件 按钮 (Copilot Edits),然后从快速选择中选择上下文类型。
你可以附加预定义的上下文类型,例如 代码库 或 终端选区,或者从工作区中选择文件、文件夹或符号。
提示要快速从附加快速选择中添加多个项,请使用 上 和 下 键浏览列表,使用 右 键将项添加为上下文,然后对其他项重复此操作。
-
在资源管理器或搜索视图中的文件上使用上下文菜单 Copilot > 添加文件到聊天,或者在编辑器中的文本选区上使用 添加选区到聊天。
-
在聊天提示中键入
#
字符,使用聊天变量引用上下文。例如,使用
#selection
将当前编辑器选区添加到聊天提示中,或使用#<文件名称>
添加工作区中的文件。 -
将编辑器选项卡,或资源管理器视图、搜索视图或编辑器面包屑中的文件或文件夹拖放到聊天视图中。
如果可能,附加文件时会包含文件的全部内容。如果内容太大,无法放入上下文窗口,则会包含文件的大纲,其中包括函数及其描述,但不包含实现。如果大纲也太大,则文件将不会成为提示的一部分。
让 Copilot 自动查找正确的文件
除了手动添加单个文件,你还可以让 Copilot 自动从你的代码库中查找正确的文件。这在你不知道哪些文件与你的问题相关时非常有用。
要让 Copilot 自动查找正确的文件,请在提示中添加 #codebase
或从上下文类型列表中选择 代码库。
确保启用 github.copilot.chat.codesearch.enabled (预览版)设置以获得最佳结果。
从网页获取内容
要让 Copilot 从网页获取内容,例如引用文档页面,请将 fetch 工具添加到提示中,后跟你要获取的页面的 URL。
要添加 fetch 工具,请选择 添加上下文 > 工具... > 获取网页。或者,在聊天提示中键入 #fetch
。
在 GitHub 仓库中执行代码搜索
要让 Copilot 执行代码搜索并从 GitHub 仓库获取内容,例如引用文档页面,请将 GitHub Repository 工具添加到提示中,后跟 GitHub 仓库的路径。例如,要在 vscode 仓库中执行代码搜索,可以这样写 全局代码片段是什么 #githubRepo microsoft/vscode
。
要添加 GitHub Repository 工具,请在聊天提示中键入 #githubRepo
,后跟仓库名称(例如,microsoft/vscode-docs
)。
添加上下文以修复问题
当你的代码中遇到问题,或者运行测试时出现失败,你可以向聊天提示添加特定上下文,以帮助 Copilot 提供最佳答案。
-
从 问题 面板中拖放项,将相应的issue作为上下文附加到你的提示中。
或者,从上下文类型列表中选择 问题...,然后从快速选择中选择特定的问题。
-
选择 测试失败 上下文类型,将测试失败详情作为上下文添加到你的提示中。
-
从上下文类型列表中选择 终端最后一个命令 或键入
#terminalLastCommand
,将终端中最后运行的命令的输出作为上下文附加。
添加 VS Code 简单浏览器中的元素(实验性)
VS Code 内置了一个简单浏览器,你可以用它来查看本地托管的 Web 应用并与之交互,例如快速测试和调试你的 Web 应用。
你可以将简单浏览器窗口中的元素作为上下文添加到聊天提示中。步骤如下
-
确保使用 chat.sendElementsToChat.enabled 设置启用从简单浏览器中选择元素。
-
本地运行你的 Web 应用。
-
通过从命令面板运行 简单浏览器: 显示 命令打开简单浏览器视图。
-
选择 开始 按钮,开始从当前页面选择元素。
-
将鼠标悬停在网页元素上,然后点击以将它们添加到聊天提示中。
请注意,选定的元素已作为上下文添加到当前的聊天提示中。
你可以配置上下文中包含的信息
- 附加 CSS - 使用 chat.sendElementsToChat.attachCSS 设置启用。
- 附加图像 - 使用 chat.sendElementsToChat.attachImages 设置启用。
聊天上下文类型
Copilot 支持以下聊天上下文类型
- 文件 - 在提示中包含工作区中的特定文件
- 文件夹 - 添加一个文件夹以在提示中包含该文件夹中的文件
- 符号 - 将工作区中的符号添加到提示中
- 代码库 - 让 Copilot 自动查找正确的文件
- 编辑器或终端选区 - 在提示中包含编辑器或终端中的文本选区
- 终端命令输出 - 在提示中包含终端中最后运行的命令的输出
- 问题 - 在提示中包含问题面板中的特定代码问题
- 测试失败 - 在提示中包含测试失败的详细信息
- 搜索结果 - 在提示中包含搜索视图中的结果
- 工具 - 在提示中包含工具,例如
#fetch
工具或来自扩展或 MCP 服务器的工具
相关资源
- 使用 Copilot Chat 与 Copilot 交互。
- 使用 Copilot Edits 对多个文件进行编辑。