先决条件
- 对 GitHub Copilot 的访问权限。 请参阅“关于 GitHub Copilot”。
- Visual Studio Code 的最新版本。 请参阅 Visual Studio Code 下载页面。
- GitHub Copilot 扩展 - 从 Visual Studio 市场中安装此扩展。 有关更多信息,请参阅 Microsoft 文档中的“在 Visual Studio Code 中设置 GitHub Copilot”。
- 在 Visual Studio Code 中登录到 GitHub。 如果遇到身份验证问题,请参阅“排查 IDE 中 GitHub Copilot Chat 的问题”。
如果可通过组织 或企业 访问 GitHub Copilot,则如果组织所有者 或企业管理员 禁用了聊天,你将无法使用 GitHub Copilot Chat。 请参阅“Managing policies for Copilot in your organization”。
Copilot Chat 的 AI 模型
Note
更改 Copilot Chat 所用 AI 模型的功能为 公共预览版,可能随时更改。 若要请求访问,请加入候补名单。
对于注册了 Copilot Chat 模型选择 公共预览版 的用户,目前可以使用以下模型:
gpt-4o
:这是默认 Copilot Chat 模型。 它是一种通用多模式模型,在文本和图像处理方面表现出色,旨在提供快速、可靠的响应。 它在非英语语言方面也表现出色。o1-preview
:此模型专注于高级推理和解决复杂问题,特别是数学和科学方面。 其响应速度比gpt-4o
模型慢。 可每天向此模型发出 10 个请求。o1-mini
:这是o1-preview
模型的较快版本,平衡了复杂推理的使用和更快响应的需求。 它最适合代码生成和小型上下文操作。 可每天向此模型发出 50 个请求。
有关这些模型的详细信息,请参阅 OpenAI 平台文档中的模型。
更改 AI 模型
“聊天”视图中的模型选取器是预发布功能,需要最新版本的 VS Code Insiders,以及 Copilot 预发布扩展。
Note
- 如果使用 Copilot Extensions,它们可能会替代所选的模型。
- 试验性预发布版本的模型可能无法与所有筛选器进行正确地交互,包括重复检测筛选器。
- 如果通过 GitHub Copilot Business 或 GitHub Copilot Enterprise 订阅访问 Copilot Chat,则组织 或企业 必须为 Copilot 启用预览功能。 请参阅“Managing policies for Copilot in your organization”和“管理企业中 Copilot 的策略和功能”。 1. 若要打开聊天视图,请单击活动栏中的聊天图标或按 Control+Command+i (Mac) / Ctrl+Alt+i (Windows/Linux)。
- 在聊天视图的右下角,选择 CURRENT-MODEL 下拉菜单,然后单击所选的 AI 模型。
提交提示
可以要求 Copilot Chat 提供代码建议、解释代码、生成单元测试以及提供代码修复建议。
-
若要打开聊天视图,请单击活动栏中的聊天图标或按 Control+Command+i (Mac) / Ctrl+Alt+i (Windows/Linux)。
Tip
有关访问 Copilot Chat 的其他方法(包括与代码内联),请参阅下面的访问 Copilot Chat 的其他方法。
-
在提示框中输入提示,或者单击其中一个建议的提示。 有关示例提示,请参阅“Copilot 聊天的示例提示”。
-
评估 Copilot 的回复,并根据需要发出后续请求。
回复可能包含文本、代码块、按钮、图像、URI 和文件树。 回复通常包含交互式元素。 例如,回复可能包含用来插入代码块的菜单或者用来调用 Visual Studio Code 命令的按钮。
在提示中使用关键字
可以使用特殊关键字来帮助 Copilot 了解你的提示。 有关示例,请参阅“Copilot 聊天的示例提示”。
聊天参与者
使用聊天参与者将提示范围限定在特定域内。 要使用聊天参与者,请在聊天提示框中键入 @
,然后再键入聊天参与者名称。 聊天参与者包括:
-
@workspace
:在工作区中具有关于代码的上下文。 当希望 Copilot 考虑项目的结构、代码的不同部分如何进行互动或者项目中的设计模式时,请使用@workspace
。 -
@vscode
:具有有关 Visual Studio Code 命令和功能的上下文。 当需要有关 Visual Studio Code 的帮助时,请使用@vscode
。 -
@terminal
:具有有关 Visual Studio Code 终端 shell 及其内容的上下文。 当需要帮助创建或调试终端命令时,请使用@terminal
。 -
@github
:允许使用 GitHub 特定的 Copilot 技能。 请参阅“对 Copilot 使用 GitHub 技能”。
除了内置 Visual Studio Code 聊天参与者之外,还可以安装提供聊天参与者的 Copilot Extensions。 可以从 GitHub Marketplace 和 Visual Studio Code Marketplace 中安装这些扩展。 有关提供聊天参与者的 GitHub Marketplace 的扩展的信息,请参阅“使用扩展将外部工具与 Copilot Chat 集成”。
Note
GitHub Copilot Extensions 为 公共预览版,可能随时更改。
要查看所有可用的聊天参与者,请在聊天提示框中键入 @
。
另请参阅 Visual Studio Code 文档中的聊天参与者。
斜杠命令
使用斜杠命令避免为常见场景编写复杂的提示。 要使用斜杠命令,请在聊天提示框中键入 /
,然后键入命令。 斜杠命令包括:
/tests
:为所选代码生成单元测试/fix
:为所选代码中的问题提供修复建议/explain
:解释所选代码/clear
:开始新聊天
要查看所有可用的斜杠命令,请在聊天提示框中键入 /
。 另请参阅 Visual Studio Code 文档中的斜杠命令。
聊天变量
使用聊天变量在提示中包含特定上下文。 要使用聊天变量,请在聊天提示框中键入 #
,然后键入聊天变量。 聊天变量包括:
#file
:在聊天中包含特定文件作为上下文。#git
:包含有关当前 Git 存储库的信息。#terminalLastCommand
:包含 Visual Studio Code 活动终端中上次运行的命令。
要查看所有可用的聊天变量,请在聊天提示框中键入 #
。 另请参阅 Visual Studio Code 文档中的聊天变量。
对 Copilot 使用 GitHub 技能
Note
此功能适用于 Copilot Chat 扩展 v0.20.3 或更高版本,以及 VS Code 或 VS Code Insiders 1.93 或更高版本。
Copilot 具有一系列 GitHub 特定的技能,可用于回答问题。 若要在 VS Code 中的 Copilot Chat 中访问这些技能,请在问题中包含 @github
。
向问题添加 @github
时,Copilot 会根据问题的内容动态选择适当的技能。 此外,还可以明确要求 Copilot Chat 使用某项特定技能。 可通过两种方式实现此目的:
- 使用自然语言要求 Copilot Chat 使用技能。 例如:
@github Search the web to find the latest GPT4 model from OpenAI.
- 若要专门调用 Web 搜索,可以在问题中包含
#web
变量。 例如:@github #web What is the latest LTS of Node.js?
当前可用的技能
可以通过询问 Copilot 来生成当前可用的技能列表:@github What skills are available?
可在 VS Code 中的 Copilot Chat 中使用的技能包括下表中显示的技能。
技能 | 说明 | 默认情况下是否启用? | 示例问题 |
---|---|---|---|
提交详细信息 | 检索一组提交内容或特定提交内容,以提供与提交内容相关的问题的答案。 | 是 | @github Explain the changes in the code of this commit |
讨论详细信息 | 检索特定的 GitHub 讨论。 这对于快速获取讨论中的对话 Gist 非常有用。 | 是 | @github Summarize this discussion LINK-TO-DISCUSSION |
文件详细信息 | 检索 Git 存储库中默认分支的特定文件,以方便你询问有关该文件以及最近更改的问题。 当你在存储库中提供文件的确切路径时,此技能非常有用。 | 是 | @github What logic does user_auth.js encapsulate? @github What is the file history of user_auth.js? |
GitHub Advanced Security | 从 GitHub Advanced Security 功能(code scanning、secret scanning 和 Dependabot alerts)检索有关组织内安全警报的信息。 | 是 | @github How would I fix this code scanning alert? |
问题详细信息 | 检索特定 GitHub 问题,包括问题的标题、编号、作者、状态、正文、链接的拉取请求、注释和时间戳。 | 是 | @github List issues assigned to me |
知识库搜索 | 告知 Copilot Chat 在知识库上下文中回答问题。 若要启动知识库搜索,请先输入 @github #kb 。 | 是 | 输入 @github #kb ,然后选择组织的风格指南知识库,然后询问:What is our coding convention for indentation? |
词法代码搜索 | Git 存储库默认分支中的关键字代码搜索。 当想要了解代码中存在的特定函数、方法或关键字时,此技能很有用。 此技能利用 GitHub 搜索的大多数功能,例如 symbol 和 path 。 | 是 | Find me the tests for the GitService class |
路径搜索 | 检索 Git 存储库默认分支中的某个具体文件。 当你在存储库中提供文件的确切路径时,此技能非常有用。 | 是 | @github What logic does user_auth.js encapsulate? |
拉取请求详细信息 | 检索特定的拉取请求。 这有利于你询问有关该拉取请求的问题,包括获取拉取请求的摘要、其注释或更改的代码。 | 是 | @github List my recent pull requests |
版本详细信息 | 检索最新版本或指定版本。 这样即可了解谁创建了发布、何时创建的发布以及发行说明中包含的信息。 | 是 | @github When was the latest release? |
存储库详细信息 | 检索特定的 GitHub 存储库。 这对于查找详细信息(例如存储库所有者和使用的主要语言)非常有用。 | 是 | @github Tell me about PATH-TO-REPOSITORY |
语义代码搜索 | Git 存储库默认分支中的自然语言语义代码搜索。 当想要了解代码中实现某些功能的位置或方式时,此技能非常有用。 注意:这要求为存储库启用索引编制(请参阅“为 Copilot 聊天编制存储库索引”)。 | 是 适用于所有具有 Copilot Enterprise 订阅的存储库,以及具有 Copilot Individual 或 Copilot Business 订阅的公共存储库。 | How does this repo manage HTTP requests and responses? |
支持搜索 | 从 GitHub 支持门户 检索信息。 此技能可用于向 Copilot Chat 询问有关 GitHub 产品和支持相关问题。 | 是 | @github Can I use Copilot knowledge bases with Copilot Individual? |
Web 搜索 | 使用必应搜索引擎搜索网页。 此技能可用于向 Copilot 提供有关最近事件、新发展、趋势、技术或极其具体、详细或小众的主题(仅适用于 Copilot Enterprise 或 Copilot Business 订阅)。 | 否(需要管理员批准 - 请参阅“管理企业中 Copilot 的策略和功能”) | @github #web What are some recent articles about SAT tokens securing against vulnerabilities in Node? |
询问有关知识库的问题
Note
仅当具有 Copilot Enterprise 订阅时,此功能才可用。
组织所有者可以创建知识库,将一个或多个存储库中的 Markdown 文档归为一组。 有关详细信息,请参阅“管理 Copilot 知识库”。
可以告知 Copilot 在知识库上下文中回答问题。
- 在 Copilot Chat 窗口底部的“向 Copilot 询问问题或键入“/”以输入命令”文本框,键入
@github #kb
,然后按 Enter 以打开知识库选择器。 - 使用箭头键选取其中一个可用的知识库,然后按 Enter。
- 在“向 Copilot 询问问题或键入“/”以输入命令”文本框中,继续输入问题消息,然后按 Enter。
- Copilot Chat 将在聊天窗口中处理问题并提供答案,并引用知识库。
访问 Copilot Chat 的其他方法
除了通过聊天视图提交提示外,还可以通过其他方式提交:
- 内联****:要直接在编辑器或集成终端中启动内联聊天,请输入 Command+i (Mac)/Ctrl+i (Windows/Linux)。
- 快速聊天****:要打开快速聊天下拉列表,请输入 Shift+Command+i (Mac)/Shift+Ctrl+i (Windows/Linux)
- 智能操作****:要通过上下文菜单提交提示,请在编辑器中右键单击鼠标,在出现的菜单中选择 Copilot****,然后选择其中一个操作。 还可以通过闪烁图标访问智能操作,该图标有时会在选择代码行时出现。
有关更多详细信息,请参阅 Visual Studio Code 文档中的内联聊天、快速聊天和聊天智能操作。
分享反馈
要表明回复是否有用,请使用回复旁边显示的“拇指向上”和“拇指向下”图标。
要留下有关 GitHub Copilot Chat 扩展的反馈,请在 microsoft/vscode-copilot-release 存储库中发布一个问题。
延伸阅读
- "GitHub Copilot 的提示设计"
- Visual Studio Code 文档中的在 VS Code 中使用 Copilot Chat 和在 VS Code 中开始使用 GitHub Copilot Chat
- “Asking GitHub Copilot questions in GitHub”
- “在 IDE 中负责任地使用 GitHub Copilot Chat”
- “GitHub 附加产品和功能条款”
- GitHub Copilot 信任中心
- GitHub Copilot 常见问题解答
先决条件
- 对 GitHub Copilot 的访问权限。 请参阅“关于 GitHub Copilot”。
- Visual Studio 2022 版本 17.8 或更高版本。 请参阅 Visual Studio 文档中的安装 Visual Studio。
- GitHub Copilot 扩展****。 请参阅 Visual Studio 文档中的在 Visual Studio 中安装 GitHub Copilot。
- GitHub Copilot Chat 扩展****。 请参阅 Visual Studio 文档中的在 Visual Studio 中安装 GitHub Copilot。
- 登录 Visual Studio 中的 GitHub Copilot****。 如果身份验证出现问题,请参阅“排查 IDE 中 GitHub Copilot Chat 的问题”。
如果可通过组织 或企业 访问 GitHub Copilot,则如果组织所有者 或企业管理员 禁用了聊天,你将无法使用 GitHub Copilot Chat。 请参阅“Managing policies for Copilot in your organization”。
提交提示
可以要求 Copilot Chat 提供代码建议、解释代码、生成单元测试并建议代码修复。
-
在 Visual Studio 菜单栏中,单击“视图”,然后单击“GitHub Copilot Chat”。
-
在 Copilot Chat 窗口中输入提示,然后按 Enter****。 有关示例提示,请参阅“Copilot 聊天的示例提示”。
-
评估 Copilot 的响应,并根据需要提交跟进提示。
响应通常包含交互式元素。 例如,响应可能包括用于复制、插入或预览代码块结果的按钮。
要查看 Copilot Chat 用于生成响应的文件,请选择响应下方的“引用”**** 下拉列表。
在提示中使用关键字
可以使用特殊关键字来帮助 Copilot 了解你的提示。
扩展 Copilot Chat
Note
GitHub Copilot Extensions 为 公共预览版,可能随时更改。
GitHub Copilot Extensions 将外部工具的强大功能集成到 Copilot Chat 中,帮助减少上下文切换并接收具有特定域上下文的响应。 可以从 GitHub Marketplace 安装 Copilot Extensions,或在组织中构建私有的 Copilot Extensions,然后在聊天窗口中键入 @
即可查看可用扩展的列表。 若要使用扩展,请从列表中选择该扩展或键入完整的 slug 名称,然后键入提示。
请参阅“使用扩展将外部工具与 Copilot Chat 集成”了解详细信息。
斜杠命令
使用斜杠命令避免为常见场景编写复杂的提示。 要使用斜杠命令,请在聊天提示框中键入 /
,然后键入命令。 斜杠命令包括:
/tests
:为所选代码生成单元测试/fix
:为所选代码中的问题提供修复建议/explain
:解释所选代码/optimize
:分析和改进所选代码的运行时
要查看所有可用的 / 命令,请在聊天提示框中键入 /
。 另请参阅 Visual Studio 文档中的 / 命令。
参考
默认情况下,Copilot Chat 将引用已打开的文件或所选代码。 还可以使用 #
,后跟文件名称或文件名称和行号,或者使用 solution
来引用特定文件、行或解决方案。 例如:
- 引用特定文件:
Where are the tests in #MyFile.cs?
- 引用多个文件:
How are these files related #MyFile.cs #MyFile2.cs
- 引用文件中的特定行:
Explain this function #MyFile.cs: 66-72?
- 引用当前文件:
Is there a delete method in this #solution
另请参阅 Visual Studio 文档中的 引用。
使用适用于 Copilot 的 GitHub 技能(预览版)
Note
- 仅当具有 Copilot Enterprise 订阅时,此功能才可用。
@github
聊天参与者目前为预览版,仅支持 Visual Studio 2022 预览版 2 及更高版本。
Copilot 具有一系列 GitHub 特定的技能,可用于回答问题。 若要在 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?
可在 Visual Studio 中的 Copilot Chat 中使用的技能包括下表中显示的技能。
技能 | 说明 | 默认情况下是否启用? | 示例问题 |
---|---|---|---|
知识库搜索 | 告知 Copilot Chat 在知识库上下文中回答问题。 若要启动知识库搜索,请先输入@github ,再按 #,然后选择知识库。 | 是 | 输入 @github # ,然后选择组织的风格指南知识库,然后询问:What is our coding convention for indentation? |
词法代码搜索 | Git 存储库默认分支中的关键字代码搜索。 当想要了解代码中存在的特定函数、方法或关键字时,此技能很有用。 此技能利用 GitHub 搜索的大多数功能,例如 symbol 和 path 。 | 是 | Find me the tests for the GitService class |
路径搜索 | 检索 Git 存储库默认分支中的某个具体文件。 当你在存储库中提供文件的确切路径时,此技能非常有用。 | 是 | @github What logic does user_auth.js encapsulate? |
语义代码搜索 | Git 存储库默认分支中的自然语言语义代码搜索。 当想要了解代码中实现某些功能的位置或方式时,此技能非常有用。 注意:这要求为存储库启用索引编制(请参阅“为 Copilot 聊天编制存储库索引”)。 | 是 适用于所有具有 Copilot Enterprise 订阅的存储库,以及具有 Copilot Individual 或 Copilot Business 订阅的公共存储库。 | How does this repo manage HTTP requests and responses? |
Web 搜索 | 使用必应搜索引擎搜索网页。 此技能可用于教“助手”了解最新事件、新的开发进度、趋势、技术或非常具体、详细或精细的主题。 | 否(需要管理员批准 - 请参阅“管理企业中 Copilot 的策略和功能”) | @github What are some recent articles about SAT tokens securing against vulnerabilities in Node? |
询问有关知识库的问题(预览版)
Note
- 仅当具有 Copilot Enterprise 订阅时,此功能才可用。
- 知识库支持目前为预览版,并且仅 Visual Studio 2022 预览版 3 及更高版本中可用。
组织所有者可以创建知识库,将一个或多个存储库中的 Markdown 文档归为一组。 有关详细信息,请参阅“管理 Copilot 知识库”。
可以告知 Copilot 在知识库上下文中回答问题。
- 在 Copilot Chat 窗口底部的“询问 Copilot:键入 / 以执行命令,键入 # 以进行参考”文本框中,键入
@github
,然后按 #,随后从列表中选择知识库。**** - 在“键入 / 以执行命令,键入 # 以进行参考”文本框中,继续发送问题消息,然后按 Enter。********
- Copilot Chat 将在聊天窗口中处理问题并提供答案,并引用知识库。
访问 Copilot Chat 的其他方法
除了通过聊天窗口提交提示外,还可以内联提交。 要启动内联聊天,请在编辑器窗口中右键单击鼠标,选择“询问 Copilot”****。
有关更多详细信息,请参阅 Visual Studio 文档中的在内联聊天视图中提问。
分享反馈
若要共享有关 Copilot Chat 的反馈,可以使用 Visual Studio 中的“共享反馈”按钮。 有关为 Visual Studio 提供反馈的详细信息,请参阅 Visual Studio 反馈文档。
-
在 Visual Studio 窗口的右上角,单击“发送反馈”按钮。
-
选择最恰当地描述你的反馈的选项。
- 若要报告 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。 请参阅“Managing policies for Copilot in your organization”。
提交提示
可以要求 Copilot Chat 提供代码建议、解释代码、生成单元测试并建议代码修复。
-
单击 JetBrains IDE 窗口右侧的 Copilot Chat **** 图标,打开 Copilot Chat 窗口。
-
在提示栏中输入提示。 有关示例提示,请参阅“Copilot 聊天的示例提示”。
-
评估 Copilot 的响应,并根据需要提交跟进提示。
响应通常包含交互式元素。 例如,响应可能包括用于复制或插入代码块的按钮。
要查看 Copilot Chat 用于生成响应的文件,请选择响应下方的“引用”**** 下拉列表。
在提示中使用关键字
可以使用特殊关键字来帮助 Copilot 了解你的提示。
扩展 Copilot Chat
Note
GitHub Copilot Extensions 为 公共预览版,可能随时更改。
GitHub Copilot Extensions 将外部工具的强大功能集成到 Copilot Chat 中,帮助减少上下文切换并接收具有特定域上下文的响应。 可以从 GitHub Marketplace 安装 Copilot Extensions,或在组织中构建私有的 Copilot Extensions,然后在聊天窗口中键入 @
即可查看可用扩展的列表。 若要使用扩展,请从列表中选择该扩展或键入完整的 slug 名称,然后键入提示。
请参阅“使用扩展将外部工具与 Copilot Chat 集成”了解详细信息。
斜杠命令
使用斜杠命令避免为常见场景编写复杂的提示。 要使用斜杠命令,请在聊天提示框中键入 /
,然后键入命令。 斜杠命令包括:
/tests
:为所选代码生成单元测试/fix
:为所选代码中的问题提供修复建议/explain
:解释所选代码/help
:详细了解如何使用 Copilot Chat
要查看所有可用的 / 命令,请在聊天提示框中键入 /
。
文件引用
默认情况下,Copilot Chat 将引用已打开的文件或所选代码。 还可以通过将文件拖动到聊天提示框中来告知 Copilot Chat 要引用的文件。 或者,可以右键单击文件,选择“GitHub Copilot”,然后选择“在聊天中引用文件”。
访问 Copilot Chat 的其他方法
- 内置请求。 除了通过聊天窗口提交提示外,还可以右键单击文件、选择“GitHub Copilot”,然后选择其中一个选项来提交内置请求。
- 内联。 可以内联提交聊天提示,并将其范围限定为突出显示的代码块或当前文件。
- 若要启动内联聊天,请右键单击当前文件中的代码块或任意位置,将鼠标悬停在 GitHub Copilot 上,然后选择“ Copilot: 内联聊天”或输入 Ctrl+Shift+I。
分享反馈
若要共享有关 Copilot Chat 的反馈,可以使用 JetBrains 中的共享反馈链接。
-
在 JetBrains IDE 窗口右侧,单击 Copilot Chat 图标以将 Copilot Chat 窗口打开。
-
在 Copilot Chat窗口顶部,单击“共享反馈”链接。