先决条件
- 对 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。 请参阅“管理组织中的 Copilot 策略”。
提交提示
可以要求 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 目前为有限公开 beta 版本,可能随时发生更改。 若要请求访问 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 Enterprise 订阅时,此功能才可用。
@github
聊天参与者目前为 beta 版本,可能会更改。
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 中使用的技能包括下表中显示的技能。
技能 | 说明 | 默认情况下是否启用? | 示例问题 |
---|---|---|---|
代码搜索 | Git 存储库默认分支中的自然语言代码搜索。 当想要了解代码中实现某些功能的位置或方式时,此技能非常有用。 注意:必须为存储库编制索引 - 请参阅“Indexing repositories for Copilot Chat”。 | 是 | @github Where is the logic that controls the user session management, and how does it work? |
路径搜索 | 检索 Git 存储库默认分支中的某个具体文件。 当你在存储库中提供文件的确切路径时,此技能非常有用。 | 是 | @github What logic does user_auth.js encapsulate? |
显示符号定义 | 检索在 Git 存储库默认分支中定义具体代码(函数、类或结构)的代码行。 当你了解某个符号的确切名称并想要了解它时,这项技能非常有用。 | 是 | @github Write unit tests for the AuthUser method |
知识库搜索 | 告知 Copilot Chat 在知识库上下文中回答问题。 若要启动知识库搜索,请先输入 @github #kb 。 | 是 | 输入 @github #kb ,然后选择组织的风格指南知识库,然后询问:What is our coding convention for indentation? |
Web 搜索 | 使用必应搜索引擎搜索网页。 此技能可用于教“助手”了解最新事件、新的开发进度、趋势、技术或非常具体、详细或精细的主题。 | 否(需要管理员批准 - 请参阅“管理企业中 Copilot 的策略和功能”) | @github What are some recent articles about SAT tokens securing against vulnerabilities in Node? |
询问有关知识库的问题
Note
仅当具有 Copilot Enterprise 订阅时,此功能才可用。
组织所有者可以创建知识库,将一个或多个存储库中的 Markdown 文档归为一组。 有关详细信息,请参阅“Managing Copilot knowledge bases”。
可以告知 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 的访问权限。 请参阅“关于 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。 请参阅“管理组织中的 Copilot 策略”。
提交提示
可以要求 Copilot Chat 提供代码建议、解释代码、生成单元测试并建议代码修复。
-
在 Visual Studio 菜单栏中,单击“视图”,然后单击“GitHub Copilot Chat”。
-
在 Copilot Chat 窗口中输入提示,然后按 Enter****。 有关示例提示,请参阅“Copilot 聊天的示例提示”。
-
评估 Copilot 的响应,并根据需要提交跟进提示。
响应通常包含交互式元素。 例如,响应可能包括用于复制、插入或预览代码块结果的按钮。
要查看 Copilot Chat 用于生成响应的文件,请选择响应下方的“引用”**** 下拉列表。
在提示中使用关键字
可以使用特殊关键字来帮助 Copilot 了解你的提示。
斜杠命令
使用斜杠命令避免为常见场景编写复杂的提示。 要使用斜杠命令,请在聊天提示框中键入 /
,然后键入命令。 斜杠命令包括:
/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 中使用的技能包括下表中显示的技能。
技能 | 说明 | 默认情况下是否启用? | 示例问题 |
---|---|---|---|
代码搜索 | Git 存储库默认分支中的自然语言代码搜索。 当想要了解代码中实现某些功能的位置或方式时,此技能非常有用。 注意:必须为存储库编制索引 - 请参阅“Indexing repositories for Copilot Chat”。 | 是 | @github Where is the logic that controls the user session management, and how does it work? |
路径搜索 | 检索 Git 存储库默认分支中的某个具体文件。 当你在存储库中提供文件的确切路径时,此技能非常有用。 | 是 | @github What logic does user_auth.js encapsulate? |
显示符号定义 | 检索在 Git 存储库默认分支中定义具体代码(函数、类或结构)的代码行。 当你了解某个符号的确切名称并想要了解它时,这项技能非常有用。 | 是 | @github Write unit tests for the AuthUser method |
Web 搜索 | 使用必应搜索引擎搜索网页。 此技能可用于教“助手”了解最新事件、新的开发进度、趋势、技术或非常具体、详细或精细的主题。 | 否(需要管理员批准 - 请参阅“管理企业中 Copilot 的策略和功能”) | @github What are some recent articles about SAT tokens securing against vulnerabilities in Node? |
知识库搜索 | 告知 Copilot Chat 在知识库上下文中回答问题。 若要启动知识库搜索,请先输入@github ,再按 #,然后选择知识库。 | 是 | 输入 @github # ,然后选择组织的风格指南知识库,然后询问:What is our coding convention for indentation? |
询问有关知识库的问题(预览版)
Note
- 仅当具有 Copilot Enterprise 订阅时,此功能才可用。
- 知识库支持目前为预览版,并且仅 Visual Studio 2022 预览版 3 及更高版本中可用。
组织所有者可以创建知识库,将一个或多个存储库中的 Markdown 文档归为一组。 有关详细信息,请参阅“Managing Copilot knowledge bases”。
可以告知 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
请参阅 JetBrains IDE 工具查找器进行下载。
-
GitHub Copilot**** 插件。 请参阅 JetBrains Marketplace 中的 GitHub Copilot 插件。 有关安装说明,请参阅“在环境中安装 GitHub Copilot 扩展”。
-
在 JetBrains IDE 中登录到 GitHub。 有关身份验证说明,请参阅“在环境中安装 GitHub Copilot 扩展”。
如果可通过组织 或企业 访问 GitHub Copilot,则如果组织所有者 或企业管理员 禁用了聊天,你将无法使用 GitHub Copilot Chat。 请参阅“管理组织中的 Copilot 策略”。
提交提示
可以要求 Copilot Chat 提供代码建议、解释代码、生成单元测试并建议代码修复。
-
单击 JetBrains IDE 窗口右侧的 Copilot Chat **** 图标,打开 Copilot Chat 窗口。
-
在提示栏中输入提示。 有关示例提示,请参阅“Copilot 聊天的示例提示”。
-
评估 Copilot 的响应,并根据需要提交跟进提示。
响应通常包含交互式元素。 例如,响应可能包括用于复制或插入代码块的按钮。
要查看 Copilot Chat 用于生成响应的文件,请选择响应下方的“引用”**** 下拉列表。
在提示中使用关键字
可以使用特殊关键字来帮助 Copilot 了解你的提示。
斜杠命令
使用斜杠命令避免为常见场景编写复杂的提示。 要使用斜杠命令,请在聊天提示框中键入 /
,然后键入命令。 斜杠命令包括:
/tests
:为所选代码生成单元测试/fix
:为所选代码中的问题提供修复建议/explain
:解释所选代码/help
:详细了解如何使用 Copilot Chat
要查看所有可用的 / 命令,请在聊天提示框中键入 /
。
文件引用
默认情况下,Copilot Chat 将引用已打开的文件或所选代码。 还可以通过将文件拖动到聊天提示框中来告知 Copilot Chat 要引用的文件。 或者,可以右键单击文件,选择“GitHub Copilot”,然后选择“在聊天中引用文件”。
访问 Copilot Chat 的其他方法
除了通过聊天窗口提交提示外,还可以右键单击文件、选择“GitHub Copilot”****,然后选择其中一个选项来提交内置请求。
分享反馈
若要共享有关 Copilot Chat 的反馈,可以使用 JetBrains 中的共享反馈链接。
-
在 JetBrains IDE 窗口右侧,单击 Copilot Chat 图标以将 Copilot Chat 窗口打开。
-
在 Copilot Chat窗口顶部,单击“共享反馈”链接。