Skip to main content

在 IDE 中向 GitHub Copilot 提问

在编辑器中使用 Copilot Chat 提供代码建议、解释代码、生成单元测试以及提供代码修复建议。

先决条件

如果可通过组织 访问 GitHub Copilot,则如果组织所有者 禁用了聊天,你将无法使用 GitHub Copilot Chat。 请参阅“管理组织中的 Copilot 策略”。

提交提示

可以要求 Copilot Chat 提供代码建议、解释代码、生成单元测试以及提供代码修复建议。

  1. 要打开聊天视图,请单击 Visual Studio Code 标题栏中的 图标****。 如果未显示 图标,请右键单击标题栏并确保选中“Command Center”********。

    Copilot Chat 按钮的屏幕截图,以深橙色边框突出显示。

  2. 在提示框中输入提示,或者单击其中一个建议的提示。 有关可以使用的提示类型的简介,请参阅“Copilot Chat 提示入门”。

  3. 评估 Copilot 的回复,并根据需要发出后续请求。

    回复可能包含文本、代码块、按钮、图像、URI 和文件树。 回复通常包含交互式元素。 例如,回复可能包含用来插入代码块的菜单或者用来调用 Visual Studio Code 命令的按钮。

    若要查看 Copilot Chat用于生成响应的文件,请选择响应顶部的“使用了 n 个参考”下拉列表****__。 这些引用可能包括指向仓库的自定义说明文件的链接。 此文件包含自动添加到所有聊天问题中的其他信息,用于提升响应质量。 有关详细信息,请参阅“为 GitHub Copilot 添加存储库自定义说明”。

在提示中使用关键字

可以使用特殊关键字来帮助 Copilot 了解你的提示。 有关示例,请参阅“Copilot Chat 提示入门”。

聊天参与者

聊天参与者就像领域专家一样,拥有可以为你提供帮助的专业知识。

Copilot Chat可以根据自然语言提示推断相关的聊天参与者,从而改进高级功能的发现,而无需在提示中显式指定要使用的参与者。

Note

聊天参与者的自动推理目前为公共预览版,可能会更改。

或者,你可以手动指定聊天参与者,将提示范围限定为特定领域。 为此,请在聊天提示框中键入 @,然后再键入聊天参与者姓名。

要查看可用的聊天参与者列表,请在聊天提示框中键入 @。 另请参阅 Visual Studio Code 文档中的“GitHub Copilot Chat 速查表”或“聊天参与者”。

Copilot Extensions 聊天参与者

还可以安装提供聊天参与者的 Copilot Extensions。 可以从 GitHub MarketplaceVisual Studio Code Marketplace 中安装这些扩展。 有关提供聊天参与者的 GitHub Marketplace 的扩展的信息,请参阅“使用扩展将外部工具与 Copilot Chat 集成”。

斜杠命令

使用斜杠命令避免为常见场景编写复杂的提示。 要使用斜杠命令,请在聊天提示框中键入 /,然后键入命令。

要查看所有可用的 / 命令,请在聊天提示框中键入 /。 另请参阅 Visual Studio Code 文档中的“GitHub Copilot Chat 速查表”或“斜杠命令”。

聊天变量

使用聊天变量在提示中包含特定上下文。 要使用聊天变量,请在聊天提示框中键入 #,然后键入聊天变量。

要查看所有可用的聊天变量,请在聊天提示框中键入 #。 另请参阅 Visual Studio Code 文档中的“GitHub Copilot Chat 速查表”或“聊天变量”。

对 Copilot 使用 GitHub 技能

Copilot 的特定于 GitHub 的技能扩展了 Copilot 可提供的信息类型。 若要在 Copilot Chat 中访问这些技能,请在问题中包含 @github

向问题添加 @github 时,Copilot 会根据问题的内容动态选择适当的技能。 此外,还可以明确要求 Copilot Chat 使用某项特定技能。 可通过两种方式实现此目的:

  • 使用自然语言要求 Copilot Chat 使用技能。 例如: @github Search the web to find the latest GPT model from OpenAI.
  • 若要专门调用 Web 搜索,可以在问题中包含 #web 变量。 例如: @github #web What is the latest LTS of Node.js?

可以通过询问 Copilot 来生成当前可用的技能列表:@github What skills are available?

Copilot Chat 的 AI 模型

你可以更改 Copilot 用来生成聊天提示响应的大型语言模型,包括具有高级功能的高级模型。 你可能会发现性能更好的不同模型,或提供更有用响应的模型,具体取决于你提出的问题类型。 有关详细信息,请参阅“正在更改 Copilot Chat 的 AI 模型”。

访问 Copilot Chat 的其他方法

除了通过聊天视图提交提示外,还可以通过其他方式提交:

  • 快速聊天****:要打开快速聊天下拉列表,请输入 +++L (Mac) / Ctrl+Shift+Alt+L (Windows/Linux)。
  • 内联****:要直接在编辑器或集成终端中启动内联聊天,请输入 Command+i (Mac)/Ctrl+i (Windows/Linux)。
  • 智能操作****:要通过上下文菜单提交提示,请在编辑器中右键单击鼠标,在出现的菜单中选择 Copilot,然后选择其中一个操作****。 还可以通过闪烁图标访问智能操作,该图标有时会在选择代码行时出现。

有关更多详细信息,请参阅 Visual Studio Code 文档中的内联聊天快速聊天聊天智能操作

Copilot Edits

使用 Copilot Edits 直接从单个 Copilot Chat 提示跨多个文件进行更改。 Copilot Edits 具有以下模式:

  • 编辑模式:当你想要对 Copilot 建议的编辑进行更精细的控制时,请使用编辑模式。 在编辑模式下,选择 Copilot 可以更改的文件,在每次迭代时为 Copilot 提供上下文,并确定是否在每次迭代后接受建议的编辑。
  • 代理模式****:当你有特定任务需要处理并且希望 Copilot 能够自主编辑你的代码时,请使用代理模式。 在代理模式下,Copilot 会确定要更改的文件、提供代码更改和终端命令来完成任务,并进行迭代来修正问题,直到原始任务完成。 代理模式目前仅在 Visual Studio Code 中可用。

使用编辑模式

  1. 要启动编辑会话,请从 Copilot Chat 菜单中选择“Open Chat”****。

  2. 在聊天面板底部,从模式下拉列表中选择“Edit”****。

    Copilot Chat 模式下拉列表的屏幕截图。 “Edit”选项用深橙色框标出。

  3. (可选)将相关文件添加到工作集,以向 GitHub Copilot 指示要处理的文件__。

  4. 提交提示。 为了响应提示,Copilot Edits 会确定要更改工作集中的哪些文件,并添加更改的简短说明__。

  5. 查看更改并单击 Apply 或 Discard 以应用或放弃对每个文件的编辑********。

有关详细说明,请参阅 Visual Studio Code 文档中的“Copilot Edits”。

使用代理模式

  1. 要启动编辑会话,请从 Copilot Chat 菜单中选择“Open Chat”****。
  2. 在聊天面板底部,从模式下拉列表中选择“Agent”****。
  3. 提交提示。 为了响应你的提示,Copilot 会流式处理编辑器中的编辑内容、更新工作集并在必要时提出可运行的终端命令建议。
  4. 查看更改。 如果 Copilot 提出终端命令建议,请确认 Copilot 是否可以运行这些命令。 作为响应,Copilot 会循环访问并执行其他操作,以在原始提示中完成任务。

有关详细信息,请参阅 Visual Studio Code 文档中的“Copilot Edits”。

使用 Copilot agent 模式时,Copilot 可能会发出多个高级请求来完成单个任务。 这包括用户启动的提示和 Copilot 代表你执行的后续续作。 使用的高级请求总数取决于任务的复杂性、所涉及的步骤数和所选的模型。 请参阅“关于高级请求”。

在 Copilot Chat 中使用图像

Note

  • 将图像附加到聊天提示目前为 公共预览版,可能会有改动。
  • 如果你有 Copilot Business 订阅,你从其接收订阅的组织则必须启用“Editor preview features”设置。**** 请参阅“管理组织中的 Copilot 策略””。

可以将图像附加到聊天提示,然后向 Copilot 询问有关图像的问题。 例如,可以附加:

  • 代码片段屏幕截图,以及要求 Copilot 解释代码。
  • 应用程序的用户界面模拟,以及要求 Copilot 生成代码。
  • 流程图,以及要求 Copilot 描述图像中显示的流程。
  • 网页的屏幕截图,以及要求 Copilot 生成类似页面的 HTML。

Note

支持以下类型的图像文件:JPEG(.jpg.jpeg)、PNG (.png)、GIF (.gif) 或 WEBP (.webp)。

将图像附加到聊天提示

  1. 请确保在聊天视图右下角的模型选取器中选择 GPT-4o。

  2. 执行下列操作之一:

    • 复制图像并将其粘贴到聊天视图中。
    • 从操作系统的文件资源管理器,或从 VS Code 的资源管理器中,将一个或多个图像文件拖放到聊天视图中。
    • 在 VS Code 的资源管理器中右键单击图像文件,依次单击 Copilot 和“Add File to Chat”********。
  3. Type your prompt into the chat view to accompany the image. For example, explain this diagram, describe each of these images in detail, what does this error message mean.

分享反馈

要表明回复是否有用,请使用回复旁边显示的“拇指向上”和“拇指向下”图标。

要留下有关 GitHub Copilot Chat 扩展的反馈,请在 microsoft/vscode-copilot-release 存储库中发布一个问题。

其他阅读材料