Skip to main content

在 IDE 中向 GitHub Copilot 提问

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

先决条件

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

提交提示

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

  1. 若要打开聊天视图,请单击活动栏中的聊天图标或按 Control+Command+i (Mac) / Ctrl+Alt+i (Windows/Linux)。

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

    Tip

    有关访问 Copilot Chat 的其他方法(包括与代码内联),请参阅下面的访问 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 技能

Note

此功能适用于 Copilot Chat 扩展 v0.20.3 或更高版本,以及 VS Code 或 VS Code Insiders 1.93 或更高版本。

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 的其他方法

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

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

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

Copilot Edits

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

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

使用编辑模式

  1. 要启动编辑会话,请从 Copilot Chat 菜单中选择“Open Copilot Edits”****。
  2. (可选)将相关文件添加到工作集,以向 GitHub Copilot 指示要处理的文件__。
  3. 提交提示。 为了响应提示,Copilot Edits 会确定要更改工作集中的哪些文件,并添加更改的简短说明__。
  4. 查看更改并单击 Apply 或 Discard 以应用或放弃对每个文件的编辑********。

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

使用代理模式

Note

代理模式目前以公共预览版的形式在 VS Code Insiders 中提供,可能会更改。 请参阅 Visual Studio Code 文档中的“Copilot Edits”。

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

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

视觉

Note

视觉目前以公共预览版的形式在 VS Code Insiders 中提供,可能会变动。

视觉要求使用 GPT-4o 模型并上传以下文件类型之一:JPEG(.jpg.jpeg)、PNG (.png)、GIF (.gif) 或 WEBP (.webp)。

可以将图像附加到聊天提示中,以帮助 Copilot 了解你的问题。 例如,可以附加代码片段的屏幕截图,请求 Copilot 解释代码,或共享新设计的模型,请求 Copilot 生成代码。

可以将图像拖放到聊天窗口中,或通过 VS Code UI 附加图像。

分享反馈

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

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

其他阅读材料

先决条件

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

提交提示

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

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

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

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

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

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

在提示中使用关键字

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

扩展 Copilot Chat

GitHub Copilot Extensions 将外部工具的强大功能集成到 Copilot Chat 中,帮助减少上下文切换并接收具有特定域上下文的响应。 可以从 GitHub Marketplace 安装 Copilot Extensions,或在组织中构建私有的 Copilot Extensions,然后在聊天窗口中键入 @ 即可查看可用扩展的列表。 若要使用扩展,请从列表中选择该扩展或键入完整的 slug 名称,然后键入提示。

若要了解详细信息,请参阅 使用扩展将外部工具与 Copilot Chat 集成

斜杠命令

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

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

参考

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

另请参阅 Visual Studio 文档中的“GitHub Copilot Chat 速查表”或“引用”。

使用适用于 Copilot 的 GitHub 技能(预览版)

Note

@github 聊天参与者目前为预览版,仅支持 Visual Studio 2022 预览版 2 及更高版本。

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

向问题添加 @github 时,Copilot 会根据问题的内容动态选择适当的技能。 此外,还可以明确要求 Copilot Chat 使用某项特定技能。 例如: @github Search the web to find the latest GPT4 model from OpenAI.

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

Copilot Chat 的 AI 模型

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

访问 Copilot Chat 的其他方法

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

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

分享反馈

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

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

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

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

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

其他阅读材料

先决条件

  • 对 GitHub Copilot 的访问权限。 请参阅“什么是 GitHub Copilot?”。

  • 兼容的 JetBrains IDE****。 GitHub Copilot 与以下 IDE 兼容:

    • IntelliJ IDEA(旗舰版、社区版、教育版)
    • Android Studio
    • AppCode
    • CLion
    • Code With Me Guest
    • DataGrip
    • DataSpell
    • GoLand
    • JetBrains Client
    • 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 Chat。 请参阅“管理组织中的 Copilot 策略”。

提交提示

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

  1. 单击 JetBrains IDE 窗口右侧的 GitHub Copilot Chat **** 图标,打开 Copilot Chat 窗口。

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

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

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

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

    要查看 Copilot Chat 用于生成响应的文件,请选择响应下方的“引用”**** 下拉列表。

在提示中使用关键字

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

聊天参与者

聊天参与者就像领域专家一样,拥有可以为你提供帮助的专业知识。 可以使用聊天参与者将提示范围限定为特定域。 为此,请在聊天提示框中键入 @,然后再键入聊天参与者姓名。

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

扩展 Copilot Chat

GitHub Copilot Extensions 将外部工具的强大功能集成到 Copilot Chat 中,帮助减少上下文切换并接收具有特定域上下文的响应。 可以从 GitHub Marketplace 安装 Copilot Extensions,或在组织中构建私有的 Copilot Extensions,然后在聊天窗口中键入 @ 即可查看可用扩展的列表。 若要使用扩展,请从列表中选择该扩展或键入完整的 slug 名称,然后键入提示。

若要了解详细信息,请参阅 使用扩展将外部工具与 Copilot Chat 集成

斜杠命令

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

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

文件引用

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

对 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 的其他方法

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

分享反馈

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

  1. 在 JetBrains IDE 窗口右侧,单击 Copilot Chat 图标以将 Copilot Chat 窗口打开。

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

  2. 在 Copilot Chat窗口顶部,单击“共享反馈”链接。

    Copilot Chat 窗口中共享反馈链接的屏幕截图。

其他阅读材料

Note

Xcode 中的 Copilot Chat 为 公共预览版,可能随时更改。

先决条件

若要使用适用于 Xcode 的 GitHub Copilot,必须先安装适用于 Xcode 的 GitHub Copilot 扩展。 请参阅“在环境中安装 GitHub Copilot 扩展”。

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

提交提示

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

  1. ******** 若要打开聊天视图,单击菜单栏中的 Copilot,然后单击“Open Chat”。

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

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

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

在提示中使用关键字

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

斜杠命令

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

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

文件引用

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

聊天管理

可以为每个 Xcode IDE 开启一个对话线程,以确保在不同情境下的讨论井然有序。 还可以通过聊天历史记录重新访问以前的对话和引用过去的建议。

分享反馈

要指示响应是否有帮助,可使用响应旁显示的

其他阅读材料