Skip to main content

在 IDE 中提问GitHub Copilot 问题

在 Copilot对话 编辑器中使用,提供代码建议、说明代码、生成单元测试和建议代码修复。

简介

本指南介绍如何使用 Copilot对话 代理将任务分解为步骤、使用工具读取文件、编辑代码和运行命令,并在出现问题时自行更正代码,从而自动执行编码任务。 还可以询问有关软件开发的常规问题,或有关项目中代码的特定问题。 有关详细信息,请参阅 关于 GitHub Copilot 聊天功能

Prerequisites

  •         **
            GitHub Copilot访问** 。 请参阅“[AUTOTITLE](/copilot/about-github-copilot/what-is-github-copilot#getting-access-to-copilot)”。
    
  •         **Visual Studio Code 的最新版本**。 请参阅 [Visual Studio Code 下载页面](https://code.visualstudio.com/Download?ref_product=copilot&ref_type=engagement&ref_style=text)。
    
  •         **在 Visual Studio Code 中登录到 GitHub**。 如果遇到身份验证问题,请参阅“[AUTOTITLE](/copilot/troubleshooting-github-copilot/troubleshooting-issues-with-github-copilot-chat#troubleshooting-authentication-issues-in-your-editor)”。
    

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

注意

如果在模式选择器中看不到 “代理 ”选项,则企业或组织管理员可能已为 IDE 禁用代理模式。

          Copilot对话 代理

可以在以下模式下使用 Copilot对话 :

  •         [代理模式](#agent-mode):实现 Copilot 自动完成设置任务。
    
  •         [计划模式](#plan-mode):用于 Copilot 创建详细的实施计划,以确保满足所有要求。
    
  •         [询问模式](#ask-mode):获取编码问题的答案并获取 Copilot 代码建议。
    

若要在模式之间切换,请使用聊天视图底部的代理下拉列表。

代理模式

当你有特定任务需要处理并且希望 Copilot 能够自主编辑你的代码时,请使用代理模式。 在代理模式下,Copilot 会确定要更改的文件、提供代码更改和终端命令来完成任务,并进行迭代来修正问题,直到原始任务完成。

代理模式最适用于以下用例:

  • 任务复杂,涉及多个步骤、迭代和错误处理。
  • 希望让 Copilot 确定完成任务所需的步骤。
  • 任务要求 Copilot 与外部应用程序(如 MCP 服务器)集成。

使用代理

  1. 如果聊天视图尚未显示,请从**** 菜单中选择Copilot对话”。
  2. 在聊天视图底部,确保从代理下拉列表中选择 代理
  3. 提交提示。 为了响应提示,Copilot 在编辑器中流式传输编辑,更新工作集,并在必要时运行终端命令。
  4. 查看并反复调整更改或进行代码评审。

还可以单击此链接以直接转到代理模式。VS Code

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

使用代理模式时,输入的每个提示都算作一个高级请求,乘以模型的乘数。 例如,如果你使用的是内置模型(其倍率系数为 0),则提示将不会消耗任何高级请求。 Copilot 可能会执行多次后续操作来完成你的任务,但这些后续操作不计入高级请求使用量****。 只有你输入的提示会产生费用,而由代理执行的工具调用或后台步骤不收取费用。

你使用的高级请求总数取决于你输入的提示次数以及所选择的模型。 请参阅“GitHub Copilot 中的请求”。

使用 子代理

可以使用 子代理 将任务委托给聊天会话中具有其自己的上下文窗口的独立代理。 子代理 独立运行,无需等待用户反馈,并且将最终结果返回给主聊天会话。

子代理 最适合以下情况:

  • 你想要委托复杂的多步骤任务,如研究或分析,而不会中断主会话。
  • 你需要处理大量的信息或多个文档,这些文档会混乱主上下文窗口。
  • 你希望在不将上下文混合在一起的情况下独立探索不同的方法或透视。

子代理 使用与主会话相同的工具和 AI 模型,但它们无法创建其他 子代理。

启用 子代理

  1. 在 Copilot对话 窗口中,单击工具图标。
  2.        `runSubagent` 启用该工具。
    

如果使用自定义提示文件或自定义代理,请确保在tools的 frontmatter 属性中指定runSubagent工具。 请参阅Visual Studio Code中的为 Copilot编程助理 创建自定义代理,以及在 VS Code 中使用提示文件

调用 子代理

子代理 可以以不同的方式进行调用:

  •         **自动委派**。 Copilot 将分析您的请求说明、配置的 自定义代理 的说明字段,以及当前上下文和可用工具,以便自动选择一个 子代理。 例如,此提示会自动将任务委托给 **重构专家** 自定义智能体:
    
    Suggest ways to refactor this legacy code.
    
  •         **直接调用**。 可以在提示中直接调用 子代理:
    
    Use the testing subagent to write unit tests for the authentication module.
    
  •         **调用 #runSubagent 工具。**
    
    Evaluate the #file:databaseSchema using #runSubagent and generate an optimized data-migration plan.
    
            子代理完成任务后,其结果会显示在主聊天会话中,并准备好跟进问题或后续步骤。
    

计划模式

计划模式有助于在执行计划之前创建详细的实施计划。 这可确保在进行任何代码更改之前考虑并解决所有要求。 计划代理在审核和批准计划之前不会进行任何代码更改。 批准后,可以将计划移交给默认代理,或将其保存,以便进行进一步的优化、评审或团队讨论。

计划代理旨在:

  • 使用只读工具和代码库分析全面研究任务,以确定要求和约束。
  • 将任务分解为可管理、可作的步骤,并包括有关不明确要求的公开问题。
  • 根据标准化的计划格式呈现简洁的计划草稿,供用户查看和迭代。

使用计划智能体

  1. 如果聊天视图尚未显示,请从**** 菜单中选择Copilot对话”。

  2. 在聊天视图底部,从“代理”下拉列表中选择“计划”。****

  3. 键入描述任务的提示,例如向现有应用程序添加功能、重构代码、修复 bug 或创建新应用程序的初始版本。

    例如:Create a simple to-do web app with HTML, CSS, and JS files.

    片刻之后,计划代理在聊天视图中输出计划。 该计划提供了一个概要摘要和步骤明细,包括任何待澄清的公开问题。

  4. 查看计划并回答代理提出的任何问题。

    可以多次迭代,来阐明要求、调整项目范围或回答问题。

  5. 完成计划后,可以:

    • 单击 “开始实现 ”,将 Copilot对话 切换到代理模式,并根据实施计划启动代理会话来实现所需的更改。
    • 单击 “在编辑器中打开 ”,将 Copilot对话 切换到代理模式,并在编辑器的选项卡中启动生成 Markdown 的代理会话,其中包含实现计划的详细信息。 可以自行完成计划,或将计划保存为 Markdown 文件供以后使用。

有关详细信息,请参阅文档中的 在 VS Code 中使用代理进行规划Visual Studio Code。

询问模式

“询问”模式针对回答有关代码库、编码和常规技术概念的问题进行优化。 当想要了解工作原理、探索想法或获取有关编码任务的帮助时,请使用询问模式。

使用询问智能体

  1. 如果聊天视图尚未显示,请从**** 菜单中选择Copilot对话”。
  2. 在聊天视图底部,从“代理”下拉列表中选择“ 询问 ”。
  3. 在提示框中键入提示符,然后按 Enter

提交提示

可以向代理提供要构建的内容的高级说明,并让它开始工作。 每个任务都在代理会话内运行,可以跟踪、暂停、恢复或移交给另一个代理的持久会话。

  1. 若要打开聊天视图,请单击标题栏中的 Visual Studio Code聊天图标。 如果未显示聊天图标,请右键单击标题栏,并确保已选择 命令中心

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

  2. 在提示栏中输入提示。 有关可以使用的提示类型的简介,请参阅“GitHub Copilot Chat 入门提示”。

  3. 评估 Copilot响应,并根据需要发出后续请求。

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

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

在提示中使用关键字

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

聊天参与者

聊天参与者就像领域专家,他们具有各自的专业知识可以帮助你。

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

注意

聊天参与者的自动推理当前处于状态 公共预览版 ,可能会更改。

或者,你可以手动指定聊天参与者,将提示范围限定为特定域。 要做到这一点,请在聊天提示框中键入 @,然后输入聊天参与者的名称。

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

斜杠命令

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

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

聊天变量

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

要查看所有可用的聊天变量,请在聊天提示框中键入 #。 另请参阅 GitHub Copilot Chat 速查表

使用 GitHub 技能 Copilot

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

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

  • 使用自然语言要求 Copilot对话 使用技能。 例如: @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?

使用模型上下文协议 (MCP) 服务器

可以使用 MCP 将 Copilot对话 与各种现有工具和服务集成,从而扩展其功能。 有关更多信息,请参阅“关于模型上下文协议 (MCP)”。

适用于 Copilot对话 的 AI 模型

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

其他访问方法 Copilot对话

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

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

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

在 Copilot对话 中使用图像

注意

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

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

注意

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

将图像附加到聊天提示

  1. 执行下列操作之一:

    • 复制图像,并将其粘贴到聊天视图中。
    • 将一个或多个图像文件从操作系统的文件资源管理器中,或从 VS Code 的资源管理器中拖放到聊天视图中。
    • 右键单击资源管理器中的VS Code图像文件,然后单击“Copilot****将文件添加到聊天”。
  2. 在聊天视图中键入提示以随附图像。 例如:explain this diagramdescribe each of these images in detailwhat does this error message mean

分享反馈

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

如果您想对 GitHub Copilot 聊天 扩展留下反馈,请在 microsoft/vscode-copilot-release 存储库中创建问题。

其他阅读材料

  •         [AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot)
    
  •         [
            Copilot对话在文档中使用VS Code](https://code.visualstudio.com/docs/copilot/copilot-chat)和[入门GitHub CopilotVS Code](https://code.visualstudio.com/docs/copilot/getting-started)Visual Studio Code
    
  •         [AUTOTITLE](/copilot/github-copilot-enterprise/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)
    
  •         [AUTOTITLE](/copilot/github-copilot-chat/about-github-copilot-chat)
    
  •         [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot)
    
  •         [
            GitHub Copilot 信任中心](https://copilot.github.trust.page)
    
  •         [
            GitHub Copilot 常见问题](https://github.com/features/copilot#faq)
    

Prerequisites

  •         **
            GitHub Copilot访问** 。 请参阅“[AUTOTITLE](/copilot/about-github-copilot/what-is-github-copilot#getting-access-to-copilot)”。
    
  •         **
            Visual Studio 2022 版本 17.8 或更高**。 请参阅Visual Studio 文档中的[安装Visual Studio](https://learn.microsoft.com/visualstudio/install/install-visual-studio)部分。
    

    * 对于 Visual Studio 17.8 和 17.9: * ** GitHub Copilot 扩展**。 请参阅文档中的《安装 》。 * ** GitHub Copilot 聊天 扩展**。 请参阅安装GitHub Copilot在Visual Studio的Visual Studio文档。

            _
            Visual Studio 17.10 及更高版本内置了 GitHub Copilot 和 GitHub Copilot 聊天 扩展。无需单独安装它们。_
    
  •         **在Visual Studio登录 GitHub**。 如果遇到身份验证问题,请参阅 [AUTOTITLE](/copilot/troubleshooting-github-copilot/troubleshooting-issues-with-github-copilot-chat#troubleshooting-authentication-issues-in-your-editor)。
    

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

提交提示

可以要求 Copilot对话 提供代码建议、说明代码、生成单元测试和建议代码修复。

  1. 在Visual Studio菜单栏中,单击“视图”,然后单击GitHub Copilot 聊天

  2. 在 Copilot对话 窗口中,输入提示,然后按 Enter。 有关示例提示,请参阅 GitHub Copilot Chat 入门提示

  3. 评估 Copilot响应,并根据需要提交跟进提示。

    响应通常包含交互式元素。 例如,响应可能包括用于复制、插入或预览代码块结果的按钮。

    若要查看用于生成响应的文件 Copilot对话 ,请单击响应下方的 “引用 ”链接。 这些引用可能包括指向你的存储库的自定义说明文件的链接。 此文件包含其他信息,这些信息会自动添加到你的所有聊天问题中,以提高回复的质量。 有关详细信息,请参阅 为GitHub Copilot添加存储库自定义说明

在提示中使用关键字

可以使用特殊关键字来帮助 Copilot 了解提示。

斜杠命令

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

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

参考

默认情况下, Copilot对话 将引用已打开的文件或所选代码。 还可以使用 #,后跟文件名称或文件名称和行号,或者使用 solution 来引用特定文件、行或解决方案。

另请参阅文档中的 AUTOTITLE 或Visual Studio。

使用 GitHub 技能( Copilot 预览版)

注意

聊天参与者目前为预览版,仅在2022 年预览版 2 及更高版本可用。

          Copilot的GitHub特定技能扩展了Copilot可以提供的信息类型。 若要在Copilot对话中的Visual Studio使用这些技能,请在你的问题中包含`@github`。

当您将@github添加到问题中时,Copilot会根据问题的内容动态选择适当的技能。 还可以显式要求 Copilot对话 使用特定技能。 例如,@github Search the web to find the latest GPT4 model from OpenAI.

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

使用模型上下文协议 (MCP) 服务器

可以使用 MCP 将 Copilot对话 与各种现有工具和服务集成,从而扩展其功能。 有关更多信息,请参阅“关于模型上下文协议 (MCP)”。

AI 模型适用于 Copilot对话

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

其他访问方法 Copilot对话

除了通过聊天窗口提交提示外,还可以内联提交。 若要启动内联聊天,请在编辑器窗口中右键单击,然后选择“ 询问 Copilot”。

有关更多详细信息,请参阅文档中关于内联聊天视图中提问Visual Studio的部分。

Copilot Edits

注意

  • 此功能当前处于 公共预览版,并可能会发生更改。
  • 在 Visual Studio 17.14 及更高版本中可用。
          Copilot Edits 允许在单个 Copilot对话 提示中跨多个文件进行更改

在考虑特定任务时使用代理模式,并希望启用 Copilot 自动编辑代码。 在代理模式下, Copilot 确定要更改哪些文件、提供代码更改和终端命令来完成任务,并循环访问以修正问题,直到原始任务完成。

使用代理模式

  1. 在Visual Studio菜单栏中,单击“视图”,然后单击GitHub Copilot 聊天
  2. 在聊天面板底部,从“代理”下拉列表中选择 “代理 ”。
  3. 提交提示。 为了响应提示,Copilot 实时更新编辑器中的编辑,更改工作集,并在必要时建议执行终端命令。
  4. 查看更改。 如果 Copilot 建议了终端命令,请确认 Copilot 是否能够运行它们。 作为响应,Copilot 迭代并执行其他操作以完成原始提示中的任务。

使用 Copilot 代理 模式时,输入的每个提示都算作一个高级请求,乘以模型的乘数。 例如,如果你使用的是内置模型(其倍率系数为 0),则提示将不会消耗任何高级请求。 Copilot 可能需要执行多个后续操作来完成任务,但这些后续操作 计入高级请求使用情况。 只有你输入的提示会产生费用,而由代理执行的工具调用或后台步骤不会被收费。

在 Copilot对话 中使用图像

注意

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

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

注意

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

将图像附加到聊天提示

  1. 如果在聊天视图右下角看到 AI 模型选取器,请选择支持向提示添加图像的一种模型:

  2. 执行下列操作之一:

    • 复制图像,并将其粘贴到聊天视图中。
    • 单击聊天视图右下角的回形针图标,选择“上传图像”,浏览到要附加的图像文件,选择它,然后单击“打开”。********

    如果需要,可以添加多个图像。

  3. 在聊天视图中键入提示以随附图像。 例如,explain this imagedescribe each of these images in detail

分享反馈

若要共享有关Copilot对话反馈的信息,可以使用“发送反馈”按钮。Visual Studio 有关提供反馈 Visual Studio的详细信息,请参阅 Visual Studio 反馈 文档。

  1. 在 Visual Studio 窗口右上角,单击“ 发送反馈 ”按钮。

    Visual Studio 中“共享反馈”按钮的屏幕截图。

  2. 选择最恰当地描述你的反馈的选项。

    • 若要报告错误,请单击“报告问题”。****
    • 若要请求功能,请单击“建议功能”。****

其他阅读材料

  •         [AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot)
    
  •         [在 Microsoft Learn 文档中GitHub Copilot 聊天 中使用Visual Studio](https://learn.microsoft.com/visualstudio/ide/visual-studio-github-copilot-chat?view=vs-2022#use-copilot-chat-in-visual-studio)
    
  •         [Microsoft Learn 文档中改进 GitHub Copilot 聊天 结果的方法](https://learn.microsoft.com/en-us/visualstudio/ide/copilot-chat-context?view=vs-2022)
    
  •         [AUTOTITLE](/copilot/github-copilot-enterprise/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)
    
  •         [AUTOTITLE](/copilot/github-copilot-chat/about-github-copilot-chat)
    
  •         [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot)
    
  •         [
            GitHub Copilot 信任中心](https://copilot.github.trust.page)
    
  •         [
            GitHub Copilot 常见问题](https://github.com/features/copilot#faq)
    

Prerequisites

  •         **
            GitHub Copilot访问** 。 请参阅“[AUTOTITLE](/copilot/about-github-copilot/what-is-github-copilot#getting-access-to-copilot)”。
    
  •         **兼容的 JetBrains IDE**。 
            GitHub Copilot 与以下 IDE 兼容:
    
    • IntelliJ IDEA(旗舰版、社区版、教育版)
    • Android Studio
    • AppCode
    • CLion
    • Code With Me 来宾
    • DataGrip
    • DataSpell
    • GoLand
    • JetBrains 客户端
    • MPS
    • PhpStorm
    • PyCharm(专业版、社区版、教育版)
    • Rider
    • RubyMine
    • RustRover
    • WebStorm
    • Writerside

    请参阅 JetBrains IDE 工具查找器进行下载。

  • 最新版本的 GitHub Copilot 扩展****。 请参阅 JetBrains Marketplace 中的 GitHub Copilot 插件。 有关安装说明,请参阅“在环境中安装 GitHub Copilot 扩展”。

  • 在 JetBrains IDE 中登录到 GitHub****。 有关身份验证说明,请参阅“在环境中安装 GitHub Copilot 扩展”。

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

提交提示

可以要求 Copilot对话 提供代码建议、说明代码、生成单元测试和建议代码修复。

  1.        Copilot对话单击 **GitHub Copilot 聊天** JetBrains IDE 窗口右侧的图标打开窗口。
    

    活动栏中 GitHub Copilot 聊天 图标的屏幕截图。

  2. 在提示栏中输入提示。 有关示例提示,请参阅 GitHub Copilot Chat 入门提示

  3. 评估 Copilot响应,并根据需要提交跟进提示。

    响应通常包含交互式元素。 例如,响应可能包括用于复制或插入代码块的按钮。

    若要查看用于生成响应的文件 Copilot对话 ,请单击响应下方的 “引用 ”链接。 这些引用可能包括指向你的存储库的自定义说明文件的链接。 此文件包含其他信息,这些信息会自动添加到你的所有聊天问题中,以提高回复的质量。 有关详细信息,请参阅 为GitHub Copilot添加存储库自定义说明

补充提示

可以使用斜杠命令和文件引用来帮助 Copilot 了解要执行的操作。

斜杠命令

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

要查看所有可用的 / 命令,请在聊天提示框中键入 /。 另请参阅 GitHub Copilot Chat 速查表

文件引用

默认情况下, Copilot对话 将引用已打开的文件或所选代码。 还可以通过将文件拖动到聊天提示框中来判断 Copilot对话 要引用的文件。 或者,可以右键单击某个文件,选择 GitHub Copilot,然后在 Chat 中选择 引用文件

使用 GitHub 技能 Copilot

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

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

  • 使用自然语言要求 Copilot对话 使用技能。 例如: @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?

使用模型上下文协议 (MCP) 服务器

可以使用 MCP 将 Copilot对话 与各种现有工具和服务集成,从而扩展其功能。 有关更多信息,请参阅“关于模型上下文协议 (MCP)”。

AI 模型适用于 Copilot对话

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

其他访问方法 Copilot对话

  •         **内置请求**。 除了通过聊天窗口提交提示外,还可以通过右键单击文件、选择 **GitHub Copilot** 并选择其中一个选项来提交内置请求。
    
  •         **内联**。 可以内联提交聊天提示,并将其范围限定为突出显示的代码块或当前文件。
    
    • 若要启动内联聊天,请右键单击代码块或当前文件中的任意位置,将鼠标悬停在上方 GitHub Copilot,然后选择 Copilot:内联聊天,或输入 Ctrl+Shift+I

Copilot Edits

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

  •         [编辑模式](#edit-mode-1) 允许 Copilot 对多个文件进行受控编辑。
    
  •         [代理模式](#agent-mode-1) 允许 Copilot 自主完成设置任务。
    

编辑模式

编辑模式仅在 Visual Studio Code 和 JetBrains IDE 中可用。

希望对 Copilot 建议的编辑进行更精细的控制时,请使用编辑模式。 在编辑模式下,选择 Copilot 可以更改的文件,在每次迭代时为 Copilot 提供上下文,并确定是否在每次迭代后接受建议的编辑。

编辑模式最适用于以下用例:

  • 你希望对一组定义的文件进行快速、特定的更新。
  • 你希望完全控制 Copilot 使用的 LLM 请求数。

使用编辑模式

  1. 若要启动编辑会话,请在菜单栏中单击 Copilot ,然后选择“ 打开 GitHub Copilot 聊天”。
  2. 在聊天面板顶部,单击 Copilot Edits
  3. 将相关文件添加到 工作集 ,以指示 GitHub Copilot 要处理的文件。 可以通过单击“添加所有打开的文件”或单独搜索单个文件来添加所有打开的文件。****
  4. 提交提示。 响应您的提示,Copilot Edits 确定 工作集 中哪些文件需要更改,并附上简要的更改说明。
  5. 查看更改并“接受”或“放弃”对每个文件的编辑。********

代理模式

当你有特定任务需要处理并且希望 Copilot 能够自主编辑你的代码时,请使用代理模式。 在代理模式下,Copilot 会确定要更改的文件、提供代码更改和终端命令来完成任务,并进行迭代来修正问题,直到原始任务完成。

代理模式最适用于以下用例:

  • 任务复杂,涉及多个步骤、迭代和错误处理。
  • 希望让 Copilot 确定完成任务所需的步骤。
  • 任务要求 Copilot 与外部应用程序(如 MCP 服务器)集成。

使用代理模式

  1. 若要使用代理模式启动编辑会话,请在菜单栏中单击 Copilot ,然后选择“ 打开 GitHub Copilot 聊天”。
  2. 在聊天面板顶部,单击“Agent”选项卡****。
  3. 提交提示。 为了响应提示,Copilot 实时更新编辑器中的编辑,更改工作集,并在必要时建议执行终端命令。
  4. 查看更改。 如果 Copilot 建议了终端命令,请确认 Copilot 是否能够运行它们。 作为响应,Copilot 迭代并执行其他操作以完成原始提示中的任务。

使用代理模式时,输入的每个提示都算作一个高级请求,乘以模型的乘数。 例如,如果你使用的是内置模型(其倍率系数为 0),则提示将不会消耗任何高级请求。 Copilot 可能会执行多次后续操作来完成你的任务,但这些后续操作不计入高级请求使用量****。 只有你输入的提示会产生费用,而由代理执行的工具调用或后台步骤不收取费用。

你使用的高级请求总数取决于你输入的提示次数以及所选择的模型。 请参阅“GitHub Copilot 中的请求”。

使用 子代理

可以使用 子代理 将任务委托给聊天会话中具有其自己的上下文窗口的独立代理。 子代理 独立运行,无需等待用户反馈,并且将最终结果返回给主聊天会话。

子代理 最适合以下情况:

  • 你想要委托复杂的多步骤任务,如研究或分析,而不会中断主会话。
  • 你需要处理大量的信息或多个文档,这些文档会混乱主上下文窗口。
  • 你希望在不将上下文混合在一起的情况下独立探索不同的方法或透视。

子代理 使用与主会话相同的工具和 AI 模型,但它们无法创建其他 子代理。

若要使用 子代理,必须在环境中配置 自定义代理。 请参阅“为 Copilot编程助理 创建自定义代理”。

启用 子代理

若要启用 子代理:

  1. 在菜单栏中单击 “工具”,然后单击“GitHub Copilot****编辑设置”。
  2. 在弹出菜单中,单击“ 聊天”,然后单击“ 启用 子代理 ”复选框。

调用 子代理

子代理 可以以不同的方式进行调用:

  •         **自动委派**。 Copilot 将分析您的请求说明、配置的 自定义代理 的说明字段,以及当前上下文和可用工具,以便自动选择一个 子代理。 例如,此提示会自动将任务委托给 **重构专家** 自定义智能体:
    
    Suggest ways to refactor this legacy code.
    
  •         **直接调用**。 可以在提示中直接调用 子代理:
    
    Use the testing subagent to write unit tests for the authentication module.
    
            子代理完成任务后,其结果会显示在主聊天会话中,并准备好跟进问题或后续步骤。
    

使用计划模式

注意

计划模式当前位于 公共预览版 中,并可能会更改。

计划模式有助于在执行计划之前创建详细的实施计划。 这可确保在进行任何代码更改之前考虑并解决所有要求。 计划代理在审核和批准计划之前不会进行任何代码更改。 批准后,可以将计划移交给默认代理,或将其保存,以便进行进一步的优化、评审或团队讨论。

计划代理旨在:

  • 使用只读工具和代码库分析全面研究任务,以确定要求和约束。
  • 将任务分解为可管理、可作的步骤,并包括有关不明确要求的公开问题。
  • 根据标准化的计划格式呈现简洁的计划草稿,供用户查看和迭代。

若要使用计划模式,请执行以下步骤:

  1. 如果尚未显示出来,请单击 JetBrains IDE 窗口右侧的GitHub Copilot 聊天 图标,打开Copilot对话面板。

  2. 在Copilot对话面板的底部,从“代理”下拉列表中选择计划

  3. 键入描述任务的提示,例如向现有应用程序添加功能、重构代码、修复 bug 或创建新应用程序的初始版本。

    例如:Create a simple to-do web app with HTML, CSS, and JS files.

  4. 提交提示。

    片刻之后,计划代理在聊天面板中输出计划。 该计划提供了一个概要摘要和步骤明细,包括任何待澄清的公开问题。

  5. 查看计划并回答代理提出的任何问题。

    可以多次迭代,来阐明要求、调整项目范围或回答问题。

  6. 完成计划后,可以:

    • 单击 “开始实现 ”,将 Copilot对话 切换到代理模式,并根据实施计划启动代理会话来实现所需的更改。
    • 单击 “在编辑器中打开 ”,将 Copilot对话 切换到代理模式,并在编辑器的选项卡中启动生成 Markdown 的代理会话,其中包含实现计划的详细信息。 可以自行完成计划,或将计划保存为 Markdown 文件供以后使用。

分享反馈

若要共享有关 Copilot对话反馈,可以使用 JetBrains 中的 共享反馈 链接。

  1. 在 JetBrains IDE 窗口的右侧,单击 Copilot对话 图标打开 Copilot对话 窗口。

    活动栏中 Copilot对话 图标的屏幕截图。

  2. 在窗口顶部 Copilot对话 ,单击 共享反馈 链接。

    Copilot对话 窗口中“分享反馈”链接的屏幕截图。

其他阅读材料

  •         [AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot)
    
  •         [AUTOTITLE](/copilot/github-copilot-enterprise/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)
    
  •         [AUTOTITLE](/copilot/github-copilot-chat/about-github-copilot-chat)
    
  •         [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-copilot-pre-release-terms)
    
  •         [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot)
    
  •         [
            GitHub Copilot 信任中心](https://copilot.github.trust.page)
    
  •         [
            GitHub Copilot 常见问题](https://github.com/features/copilot#faq)
    

Prerequisites

  •         **
            GitHub Copilot访问** 。 请参阅“[AUTOTITLE](/copilot/about-github-copilot/what-is-github-copilot#getting-access-to-copilot)”。
    
  •         **最新版本的 GitHub Copilot 扩展**。 有关安装说明,请参阅 [AUTOTITLE](/copilot/configuring-github-copilot/installing-the-github-copilot-extension-in-your-environment)。
    
  •         **登录到 GitHub Xcode**。 如果遇到身份验证问题,请参阅 [AUTOTITLE](/copilot/troubleshooting-github-copilot/troubleshooting-issues-with-github-copilot-chat#troubleshooting-authentication-issues-in-your-editor)。
    

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

提交提示

可以要求 Copilot对话 提供代码建议、说明代码、生成单元测试和建议代码修复。

  1. 若要打开聊天窗口,请单击菜单栏中的 “编辑器”,然后单击“GitHub Copilot****打开聊天”。 Copilot对话 在新窗口中打开。

  2. 在提示栏中输入提示。 有关示例提示,请参阅 GitHub Copilot Chat 入门提示

  3. 评估 Copilot响应,并根据需要提交跟进提示。

    响应通常包含交互式元素。 例如,响应可能包括用于复制或插入代码块的按钮。

    若要查看用于生成响应的文件 Copilot对话 ,请单击响应下方的 “引用 ”链接。 这些引用可能包括指向你的存储库的自定义说明文件的链接。 此文件包含其他信息,这些信息会自动添加到你的所有聊天问题中,以提高回复的质量。 有关详细信息,请参阅 为GitHub Copilot添加存储库自定义说明

使用模型上下文协议 (MCP) 服务器

可以使用 MCP 将 Copilot对话 与各种现有工具和服务集成,从而扩展其功能。 有关更多信息,请参阅“关于模型上下文协议 (MCP)”。

AI 模型适用于 Copilot对话

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

在提示中使用关键字

可以使用特殊关键字来帮助 Copilot 了解提示。

斜杠命令

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

要查看所有可用的 / 命令,请在聊天提示框中键入 /。 有关详细信息,请参阅 GitHub Copilot Chat 速查表

使用计划模式

注意

计划模式当前位于 公共预览版 中,并可能会更改。

计划模式有助于在执行计划之前创建详细的实施计划。 这可确保在进行任何代码更改之前考虑并解决所有要求。 计划代理在审核和批准计划之前不会进行任何代码更改。 批准后,可以将计划移交给默认代理,或将其保存,以便进行进一步的优化、评审或团队讨论。

计划代理旨在:

  • 使用只读工具和代码库分析全面研究任务,以确定要求和约束。
  • 将任务分解为可管理、可作的步骤,并包括有关不明确要求的公开问题。
  • 根据标准化的计划格式呈现简洁的计划草稿,供用户查看和迭代。

若要使用计划模式,请执行以下步骤:

  1. 如果尚未显示,请单击菜单栏中的Copilot对话”,然后单击“打开聊天GitHub Copilot 打开**** 窗口。

  2. 在Copilot对话窗口底部,从“代理”下拉列表中选择计划

  3. 键入描述任务的提示,例如向现有应用程序添加功能、重构代码、修复 bug 或创建新应用程序的初始版本。

    例如:Create a simple to-do app with Swift files.

  4. 提交提示。

    片刻之后,计划代理在聊天面板中输出计划。 该计划提供了一个概要摘要和步骤明细,包括任何待澄清的公开问题。

  5. 查看计划并回答代理提出的任何问题。

    可以多次迭代,来阐明要求、调整项目范围或回答问题。

  6. 完成计划后,可以:

    • 单击 “开始实现 ”,将 Copilot对话 切换到代理模式,并根据实施计划启动代理会话来实现所需的更改。
    • 单击 “在编辑器中打开 ”,将 Copilot对话 切换到代理模式,并在编辑器的选项卡中启动生成 Markdown 的代理会话,其中包含实现计划的详细信息。 可以自行完成计划,或将计划保存为 Markdown 文件供以后使用。

使用 Copilot 代理模式

当你有特定任务需要处理并且希望 Copilot 能够自主编辑你的代码时,请使用代理模式。 在代理模式下,Copilot 会确定要更改的文件、提供代码更改和终端命令来完成任务,并进行迭代来修正问题,直到原始任务完成。

代理模式最适用于以下用例:

  • 任务复杂,涉及多个步骤、迭代和错误处理。
  • 希望让 Copilot 确定完成任务所需的步骤。
  • 任务要求 Copilot 与外部应用程序(如 MCP 服务器)集成。

使用代理模式

  1. 如果尚未显示,请单击菜单栏中的Copilot对话”,然后单击“打开聊天GitHub Copilot 打开**** 窗口。
  2. 在聊天面板底部,从“代理”下拉列表中选择 “代理 ”。
  3. (可选)将相关文件添加到 工作集 视图,以指示 Copilot 要处理的文件。
  4. 提交提示。 为了响应提示,Copilot 实时更新编辑器中的编辑,更改工作集,并在必要时建议执行终端命令。
  5. 查看更改。 如果 Copilot 建议了终端命令,请确认 Copilot 是否能够运行它们。 作为响应,Copilot 迭代并执行其他操作以完成原始提示中的任务。

使用代理模式时,输入的每个提示都算作一个高级请求,乘以模型的乘数。 例如,如果你使用的是内置模型(其倍率系数为 0),则提示将不会消耗任何高级请求。 Copilot 可能会执行多次后续操作来完成你的任务,但这些后续操作不计入高级请求使用量****。 只有你输入的提示会产生费用,而由代理执行的工具调用或后台步骤不收取费用。

你使用的高级请求总数取决于你输入的提示次数以及所选择的模型。 请参阅“GitHub Copilot 中的请求”。

使用 子代理

可以使用 子代理 将任务委托给聊天会话中具有其自己的上下文窗口的独立代理。 子代理 独立运行,无需等待用户反馈,并且将最终结果返回给主聊天会话。

子代理 最适合以下情况:

  • 你想要委托复杂的多步骤任务,如研究或分析,而不会中断主会话。
  • 你需要处理大量的信息或多个文档,这些文档会混乱主上下文窗口。
  • 你希望在不将上下文混合在一起的情况下独立探索不同的方法或透视。

子代理 使用与主会话相同的工具和 AI 模型,但它们无法创建其他 子代理。

若要使用 子代理,您必须在环境中配置 自定义代理。 请参阅“为 Copilot编程助理 创建自定义代理”。

启用 子代理

  1. 在菜单栏中单击 “编辑器”,然后单击“GitHub Copilot****打开用于 Xcode 设置的 GitHub Copilot”。
  2. 在聊天面板中单击“ 高级 ”,然后在 “聊天设置” 下单击“ 启用 子代理 ”开关。

调用 子代理

子代理 可以以不同的方式进行调用:

  •         **自动委派**。 Copilot 将分析您的请求说明、配置的 自定义代理 的说明字段,以及当前上下文和可用工具,以便自动选择一个 子代理。 例如,此提示会自动将任务委托给 **重构专家** 自定义智能体:
    
    Suggest ways to refactor this legacy code.
    
  •         **直接调用**。 可以在提示中直接调用 子代理:
    
    Use the testing subagent to write unit tests for the authentication module.
    
            子代理完成任务后,其结果会重新显示在主聊天会话中,以便进行后续提问或步骤。
    

文件引用

默认情况下, Copilot对话 将引用已打开的文件或所选代码。 若要附加特定文件作为引用,请单击 聊天提示框中。

聊天管理

可以为每个 Xcode IDE 打开一个对话线程,以确保在不同情境下的讨论井然有序。 还可以通过聊天历史记录重新查看以前的对话,并参考过去的建议。

分享反馈

若要指示响应是否有用,请使用 显示在响应旁边。

其他阅读材料

  •         [AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot)
    
  •         [AUTOTITLE](/copilot/github-copilot-enterprise/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)
    
  •         [AUTOTITLE](/copilot/github-copilot-chat/about-github-copilot-chat)
    
  •         [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-copilot-pre-release-terms)
    
  •         [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot)
    
  •         [
            GitHub Copilot 信任中心](https://copilot.github.trust.page)
    
  •         [
            GitHub Copilot 常见问题](https://github.com/features/copilot#faq)
    

Prerequisites

  • 对 Copilot 的访问权限****。 请参阅“什么是GitHub Copilot?”。
  • 兼容的 Eclipse 版本****。 若要使用 GitHub Copilot 扩展,必须拥有 Eclipse 版本 2024-09 或更高版本。 请参阅 Eclipse 下载页
  • 如果你是具有 Copilot业务 或 Copilot Enterprise 计划的组织或企业的成员,则必须启用“MCP servers in Copilot”策略才能将 MCP 与 Copilot 配合使用。
  •         **最新版本的 GitHub Copilot 扩展**。 从 [Eclipse 市场](https://aka.ms/copiloteclipse?ref_product=copilot&ref_type=engagement&ref_style=text)下载此内容。 有关详细信息,请参阅 [AUTOTITLE](/copilot/managing-copilot/configure-personal-settings/installing-the-github-copilot-extension-in-your-environment?tool=eclipse)。
    
  •         **登录到 GitHub Eclipse**。 如果遇到身份验证问题,请参阅 [AUTOTITLE](/copilot/troubleshooting-github-copilot/troubleshooting-issues-with-github-copilot-chat#troubleshooting-authentication-issues-in-your-editor)。
    

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

提交提示

可以要求 Copilot对话 提供代码建议、说明代码、生成单元测试和建议代码修复。

  1. 若要打开 Copilot对话 面板,请单击 Copilot Eclipse 底部状态栏中的图标(),然后单击“ 打开聊天”。

  2. 在提示框中输入一个提示,然后按 Enter

    有关可以使用的提示类型的简介,请参阅“GitHub Copilot Chat 入门提示”。

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

在提示中使用关键字

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

斜杠命令

使用斜杠命令避免为常见场景编写复杂的提示。 要使用斜杠命令,请在聊天提示框中键入 /,然后键入命令。 例如,使用 /explain 向 Copilot 提出请求,解释当前在编辑器中显示的文件中的代码。

要查看所有可用的 / 命令,请在聊天提示框中键入 /

使用模型上下文协议 (MCP) 服务器

可以使用 MCP 将 Copilot对话 与各种现有工具和服务集成,从而扩展其功能。 有关更多信息,请参阅“关于模型上下文协议 (MCP)”。

适用于 Copilot对话 的 AI 模型

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

使用计划模式

注意

计划模式当前位于 公共预览版 中,并可能会更改。

计划模式有助于在执行计划之前创建详细的实施计划。 这可确保在进行任何代码更改之前考虑并解决所有要求。 计划代理在审核和批准计划之前不会进行任何代码更改。 批准后,可以将计划移交给默认代理,或将其保存,以便进行进一步的优化、评审或团队讨论。

计划代理旨在:

  • 使用只读工具和代码库分析全面研究任务,以确定要求和约束。
  • 将任务分解为可管理、可作的步骤,并包括有关不明确要求的公开问题。
  • 根据标准化的计划格式呈现简洁的计划草稿,供用户查看和迭代。

若要使用计划模式,请执行以下步骤:

  1. 如果尚未显示,请单击 Copilot对话 Eclipse 底部的状态栏中的图标(Copilot),然后单击”,打开**** 面板。

  2. 在聊天面板底部,从“代理”下拉列表中选择“ 计划 ”。

  3. 键入描述任务的提示,例如向现有应用程序添加功能、重构代码、修复 bug 或创建新应用程序的初始版本。

    例如:Create a simple to-do app using JavaFX.

  4. 提交提示。

    片刻之后,计划代理在聊天面板中输出计划。 该计划提供了一个概要摘要和步骤明细,包括任何待澄清的公开问题。

  5. 查看计划并回答代理提出的任何问题。

    可以多次迭代,来阐明要求、调整项目范围或回答问题。

  6. 完成计划后,可以:

    • 单击 “开始实现 ”,将 Copilot对话 切换到代理模式,并根据实施计划启动代理会话来实现所需的更改。
    • 单击 “在编辑器中打开 ”,将 Copilot对话 切换到代理模式,并在编辑器的选项卡中启动生成 Markdown 的代理会话,其中包含实现计划的详细信息。 可以自行完成计划,或将计划保存为 Markdown 文件供以后使用。

使用 Copilot 代理模式

当你有特定任务需要处理并且希望 Copilot 能够自主编辑你的代码时,请使用代理模式。 在代理模式下,Copilot 会确定要更改的文件、提供代码更改和终端命令来完成任务,并进行迭代来修正问题,直到原始任务完成。

代理模式最适用于以下用例:

  • 任务复杂,涉及多个步骤、迭代和错误处理。
  • 希望让 Copilot 确定完成任务所需的步骤。
  • 任务要求 Copilot 与外部应用程序(如 MCP 服务器)集成。

若要使用代理模式,请执行以下步骤:

  1.        Copilot对话单击 Eclipse 底部的状态栏中的Copilot图标(<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-copilot" aria-label="copilot" role="img"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg>),然后单击 **“打开聊天**”打开面板。
    
  2. 在聊天面板底部,从“代理”下拉列表中选择 “代理 ”。
  3. 提交提示。 为了响应您的提示,Copilot 会在编辑器中连续流式传输编辑,更新工作集,并在必要时建议运行终端命令。
  4. 查看更改。 如果 Copilot 建议了终端命令,请确认 Copilot 是否能够运行它们。 作为响应,Copilot 将进行迭代并执行其他操作,以完成您原始提示中的任务。

使用代理模式时,输入的每个提示都算作一个高级请求,乘以模型的乘数。 例如,如果你使用的是内置模型(其倍率系数为 0),则提示将不会消耗任何高级请求。 Copilot 可能会执行多次后续操作来完成你的任务,但这些后续操作不计入高级请求使用量****。 只有你输入的提示会产生费用,而由代理执行的工具调用或后台步骤不收取费用。

你使用的高级请求总数取决于你输入的提示次数以及所选择的模型。 请参阅“GitHub Copilot 中的请求”。

使用 子代理

可以使用 子代理 将任务委托给聊天会话中具有其自己的上下文窗口的独立代理。 子代理 独立运行,无需等待用户反馈,并且将最终结果返回给主聊天会话。

子代理 最适合以下情况:

  • 你想要委托复杂的多步骤任务,如研究或分析,而不会中断主会话。
  • 你需要处理大量的信息或多个文档,这些文档会混乱主上下文窗口。
  • 你希望在不将上下文混合在一起的情况下独立探索不同的方法或透视。

子代理 使用与主会话相同的工具和 AI 模型,但它们无法创建其他 子代理。

若要使用 子代理, 必须在 自定义代理 环境中配置。 请参阅“为 Copilot编程助理 创建自定义代理”。

启用 子代理

  1. 单击状态栏中的 图标。
  2. 在弹出菜单中,单击“ 编辑首选项”。
  3. “聊天”下,单击“ 启用子代理 ”复选框

调用 子代理

子代理 可以以不同的方式进行调用:

  •         **自动委派**。 Copilot 将分析您的请求说明、配置的 自定义代理 的说明字段,以及当前上下文和可用工具,以便自动选择一个 子代理。 例如,此提示会自动将任务委托给 **重构专家** 自定义智能体:
    
    Suggest ways to refactor this legacy code.
    
  •         **直接调用**。 可以在提示中直接调用 子代理:
    
    Use the testing subagent to write unit tests for the authentication module.
    
            子代理完成任务后,其结果会显示在主聊天会话中,可以进一步提问或进行下一步操作。
    

其他阅读材料

  •         [AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot)
    
  •         [AUTOTITLE](/copilot/github-copilot-enterprise/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)
    
  •         [AUTOTITLE](/copilot/github-copilot-chat/about-github-copilot-chat)
    
  •         [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot)
    
  •         [
            GitHub Copilot 信任中心](https://copilot.github.trust.page)
    
  •         [
            GitHub Copilot 常见问题](https://github.com/features/copilot#faq)