🚀 在 VS Code 中免费获取

Copilot 聊天上下文

本文介绍如何在 Visual Studio Code 中向 Copilot 聊天提示添加上下文,以帮助 Copilot 提供最佳和最相关的答案。Copilot 支持不同类型的上下文,包括文件、符号、终端命令输出等。

Copilot 尝试根据您的自然语言聊天提示确定您问题的意图和范围。为了帮助 Copilot 提供最佳和最相关的答案,请向聊天提示添加上下文让 Copilot 自动查找正确的文件

向聊天提示添加上下文

有几种方法可以向聊天提示添加上下文

  • VS Code 会自动将当前活动的编辑器添加为上下文。如果您在编辑器中选择了代码块,则仅将该选择添加到上下文。

    您可以通过选择上下文项旁边的禁用(眼睛)图标来禁用为当前请求添加活动编辑器。使用 chat.implicitContext.enabled 设置来配置是否应为所有请求自动添加活动编辑器。

    Screenshot of VS Code Copilot Chat view, showing the current editor selection as context.

  • 选择“附加上下文”(回形针)图标(Copilot 聊天)或“添加文件”按钮(Copilot 编辑),然后从快速选择中选择一种上下文类型。

    Screenshot of VS Code Copilot Chat view, showing the Attach context button and context Quick Pick.

    您可以附加预定义的上下文类型,例如“代码库”或“终端选择”,或者从工作区中选择文件、文件夹或符号。

    提示

    要从附件快速选择中快速添加多个项目,请使用 向上向下 键导航列表,使用 向右 键将项目添加为上下文,然后对其他项目重复此操作。

  • 在资源管理器或搜索视图中的文件上使用上下文菜单“Copilot”>“添加到聊天的文件”,或在编辑器中的文本选择上使用“添加到聊天的选择”。

  • 在聊天提示中键入 # 字符以使用聊天变量引用上下文。

    例如,使用 #selection 将当前编辑器选择添加到聊天提示,使用 #file 添加工作区文件,或使用 #sym 添加工作区中的符号。

    Screenshot of VS Code Copilot Chat view, showing the chat variable picker.

    提示

    键入 # 并将其用作智能感知触发器,用于选择文件或符号。

  • 将编辑器选项卡,或资源管理器视图、搜索视图或编辑器面包屑中的文件或文件夹拖放到聊天视图上。

注意

如果可能,当您附加文件时,将包含文件的完整内容。如果文件太大而无法放入上下文窗口,则将包含文件的大纲,其中包含函数及其描述,但不包含实现。如果大纲也太大,则该文件将不会成为提示的一部分。

让 Copilot 自动查找正确的文件

您可以让 Copilot 从您的代码库中自动查找正确的文件,而无需手动添加单个文件。当您不知道哪些文件与您的问题相关时,这可能很有用。

要让 Copilot 自动查找正确的文件,请在提示中添加 #codebase 或从上下文类型列表中选择“代码库”。

确保启用 github.copilot.chat.codesearch.enabled(预览) 设置以获得最佳结果。

从 Web 获取内容

要让 Copilot 从网页获取内容,例如引用文档页面,请将 fetch 工具添加到您的提示中,后跟您要获取的页面的 URL。

要添加 fetch 工具,请选择“添加上下文”,然后从快速选择中选择“获取网页”。或者,在聊天提示中键入 #fetch

为解决问题添加上下文

当您在代码中遇到问题,或者在运行测试时遇到失败时,您可以向聊天提示添加特定的上下文,以帮助 Copilot 提供最佳答案。

  • 将项目从“问题”面板拖放到位,以将相应的问题作为上下文附加到您的提示。

    或者,从上下文类型列表中选择“问题...”,然后从快速选择中选择一个特定问题。

    Screenshot of the Chat view with a problem attached to the chat input field, the result of doing drag and drop of that problem from the Problems panel.

  • 选择“测试失败”上下文类型以将测试失败详细信息作为上下文添加到您的提示中。

  • 从上下文类型列表中选择“终端上次命令”,或键入 #terminalLastCommand 以附加终端中运行的最后一个命令的输出。

聊天上下文类型

Copilot 支持以下上下文类型

  • 文件 - 在提示中包含工作区中的特定文件
  • 文件夹 - 添加一个文件夹以在提示中包含该文件夹中的文件
  • 符号 - 将工作区中的符号添加到提示中
  • 代码库 - 让 Copilot 自动查找正确的文件
  • 编辑器或终端选择 - 在提示中包含从编辑器或终端选择的文本
  • 终端命令输出 - 在提示中包含终端中运行的最后一个命令的输出
  • 问题 - 在提示中包含“问题”面板中的特定代码问题
  • 测试失败 - 在提示中包含测试失败的详细信息