在 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 Chat) 或 添加文件 按钮 (Copilot Edits),然后从快速选择中选择上下文类型。

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

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

    提示

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

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

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

    例如,使用 #selection 将当前编辑器选区添加到聊天提示中,或使用 #<文件名称> 添加工作区中的文件。

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

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

注意

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

让 Copilot 自动查找正确的文件

除了手动添加单个文件,你还可以让 Copilot 自动从你的代码库中查找正确的文件。这在你不知道哪些文件与你的问题相关时非常有用。

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

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

从网页获取内容

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

要添加 fetch 工具,请选择 添加上下文 > 工具... > 获取网页。或者,在聊天提示中键入 #fetch

Screenshot of the Copilot Chat view, showing the fetch tool used to summarize the web page.

在 GitHub 仓库中执行代码搜索

要让 Copilot 执行代码搜索并从 GitHub 仓库获取内容,例如引用文档页面,请将 GitHub Repository 工具添加到提示中,后跟 GitHub 仓库的路径。例如,要在 vscode 仓库中执行代码搜索,可以这样写 全局代码片段是什么 #githubRepo microsoft/vscode

要添加 GitHub Repository 工具,请在聊天提示中键入 #githubRepo,后跟仓库名称(例如,microsoft/vscode-docs)。

Screenshot of the Copilot Chat view, showing the GitHub Repository tool used to search for a code.

添加上下文以修复问题

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

  • 问题 面板中拖放项,将相应的issue作为上下文附加到你的提示中。

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

    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,将终端中最后运行的命令的输出作为上下文附加。

添加 VS Code 简单浏览器中的元素(实验性)

VS Code 内置了一个简单浏览器,你可以用它来查看本地托管的 Web 应用并与之交互,例如快速测试和调试你的 Web 应用。

你可以将简单浏览器窗口中的元素作为上下文添加到聊天提示中。步骤如下

  1. 确保使用 chat.sendElementsToChat.enabled 设置启用从简单浏览器中选择元素。

  2. 本地运行你的 Web 应用。

  3. 通过从命令面板运行 简单浏览器: 显示 命令打开简单浏览器视图。

  4. 选择 开始 按钮,开始从当前页面选择元素。

  5. 将鼠标悬停在网页元素上,然后点击以将它们添加到聊天提示中。

    请注意,选定的元素已作为上下文添加到当前的聊天提示中。

你可以配置上下文中包含的信息

聊天上下文类型

Copilot 支持以下聊天上下文类型

  • 文件 - 在提示中包含工作区中的特定文件
  • 文件夹 - 添加一个文件夹以在提示中包含该文件夹中的文件
  • 符号 - 将工作区中的符号添加到提示中
  • 代码库 - 让 Copilot 自动查找正确的文件
  • 编辑器或终端选区 - 在提示中包含编辑器或终端中的文本选区
  • 终端命令输出 - 在提示中包含终端中最后运行的命令的输出
  • 问题 - 在提示中包含问题面板中的特定代码问题
  • 测试失败 - 在提示中包含测试失败的详细信息
  • 搜索结果 - 在提示中包含搜索视图中的结果
  • 工具 - 在提示中包含工具,例如 #fetch 工具或来自扩展或 MCP 服务器的工具