Copilot 聊天上下文
本文介绍如何在 Visual Studio Code 中向 Copilot 聊天提示添加上下文,以帮助 Copilot 提供最佳和最相关的答案。Copilot 支持不同类型的上下文,包括文件、符号、终端命令输出等。
Copilot 尝试根据您的自然语言聊天提示确定您问题的意图和范围。为了帮助 Copilot 提供最佳和最相关的答案,请向聊天提示添加上下文或让 Copilot 自动查找正确的文件。
向聊天提示添加上下文
有几种方法可以向聊天提示添加上下文
-
VS Code 会自动将当前活动的编辑器添加为上下文。如果您在编辑器中选择了代码块,则仅将该选择添加到上下文。
您可以通过选择上下文项旁边的禁用(眼睛)图标来禁用为当前请求添加活动编辑器。使用 chat.implicitContext.enabled 设置来配置是否应为所有请求自动添加活动编辑器。
-
选择“附加上下文”(回形针)图标(Copilot 聊天)或“添加文件”按钮(Copilot 编辑),然后从快速选择中选择一种上下文类型。
您可以附加预定义的上下文类型,例如“代码库”或“终端选择”,或者从工作区中选择文件、文件夹或符号。
提示要从附件快速选择中快速添加多个项目,请使用 向上 和 向下 键导航列表,使用 向右 键将项目添加为上下文,然后对其他项目重复此操作。
-
在资源管理器或搜索视图中的文件上使用上下文菜单“Copilot”>“添加到聊天的文件”,或在编辑器中的文本选择上使用“添加到聊天的选择”。
-
在聊天提示中键入
#
字符以使用聊天变量引用上下文。例如,使用
#selection
将当前编辑器选择添加到聊天提示,使用#file
添加工作区文件,或使用#sym
添加工作区中的符号。提示键入
#
并将其用作智能感知触发器,用于选择文件或符号。 -
将编辑器选项卡,或资源管理器视图、搜索视图或编辑器面包屑中的文件或文件夹拖放到聊天视图上。
如果可能,当您附加文件时,将包含文件的完整内容。如果文件太大而无法放入上下文窗口,则将包含文件的大纲,其中包含函数及其描述,但不包含实现。如果大纲也太大,则该文件将不会成为提示的一部分。
让 Copilot 自动查找正确的文件
您可以让 Copilot 从您的代码库中自动查找正确的文件,而无需手动添加单个文件。当您不知道哪些文件与您的问题相关时,这可能很有用。
要让 Copilot 自动查找正确的文件,请在提示中添加 #codebase
或从上下文类型列表中选择“代码库”。
确保启用 github.copilot.chat.codesearch.enabled(预览) 设置以获得最佳结果。
从 Web 获取内容
要让 Copilot 从网页获取内容,例如引用文档页面,请将 fetch 工具添加到您的提示中,后跟您要获取的页面的 URL。
要添加 fetch 工具,请选择“添加上下文”,然后从快速选择中选择“获取网页”。或者,在聊天提示中键入 #fetch
。
为解决问题添加上下文
当您在代码中遇到问题,或者在运行测试时遇到失败时,您可以向聊天提示添加特定的上下文,以帮助 Copilot 提供最佳答案。
-
将项目从“问题”面板拖放到位,以将相应的问题作为上下文附加到您的提示。
或者,从上下文类型列表中选择“问题...”,然后从快速选择中选择一个特定问题。
-
选择“测试失败”上下文类型以将测试失败详细信息作为上下文添加到您的提示中。
-
从上下文类型列表中选择“终端上次命令”,或键入
#terminalLastCommand
以附加终端中运行的最后一个命令的输出。
聊天上下文类型
Copilot 支持以下上下文类型
- 文件 - 在提示中包含工作区中的特定文件
- 文件夹 - 添加一个文件夹以在提示中包含该文件夹中的文件
- 符号 - 将工作区中的符号添加到提示中
- 代码库 - 让 Copilot 自动查找正确的文件
- 编辑器或终端选择 - 在提示中包含从编辑器或终端选择的文本
- 终端命令输出 - 在提示中包含终端中运行的最后一个命令的输出
- 问题 - 在提示中包含“问题”面板中的特定代码问题
- 测试失败 - 在提示中包含测试失败的详细信息
相关资源
- 使用 Copilot 聊天与 Copilot 互动。
- 使用 Copilot 编辑在多个文件中进行编辑。