关于 GitHub Copilot 和 JetBrains IDE
本指南将演示如何从 JetBrains IDE 中的 GitHub Copilot 获取编码建议。 要查看其他常用编码环境的说明,请使用页面顶部的工具切换器。
本指南中的示例使用 Java,但其他语言的工作方式类似。 GitHub Copilot 为多种语言和各种框架提供建议,但尤其适用于 Python、JavaScript、TypeScript、Ruby、Go、C# 和 C++。 GitHub Copilot 还可以帮助生成数据库的查询,生成 API 和框架的建议,并可以帮助开发基础结构即代码。
先决条件
-
Copilot 订阅。 要在 JetBrains 中使用 GitHub Copilot,必须拥有有效的 GitHub Copilot 订阅。 有关如何访问 Copilot 的信息,请参阅“什么是 GitHub Copilot?”。
-
兼容的 JetBrains IDE。 若要在 JetBrains 中使用 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 会在你键入时提供编码建议。 例如,在一个 Java 文件中,键入 class Test
以创建一个类。
GitHub Copilot 将自动以灰色文本建议类正文。 要接受建议,请按 Tab。
也可以在注释内使用自然语言描述要执行的操作,GitHub Copilot 会提供代码建议以实现你的目标。 例如,在一个 Java 文件中键入此注释:
// find all images without alternate text // and give them a red border void process () {
// find all images without alternate text
// and give them a red border
void process () {
GitHub Copilot 会自动提供代码建议。 要接受建议,请按 Tab。
GitHub Copilot 将尝试与代码的上下文和样式匹配。 始终可以编辑建议的代码。
Tip
如果从 Copilot 收到有限的建议或未收到任何建议,则表明你可能启用了重复检测。 有关重复检测的更多信息,请参阅“以单个订阅者身份管理 Copilot 策略”。
显示替代建议
对于任何给定的输入,GitHub Copilot 可以提供多个建议。 可以选择要使用的建议,或拒绝所有建议。
例如,在一个 Java 文件中键入下面这一行内容,然后按 Enter:
private int calculateDaysBetweenDates(Date date1,
private int calculateDaysBetweenDates(Date date1,
GitHub Copilot 将向你显示建议。
现在,将鼠标悬停在建议上方,以显示用来选择建议的 GitHub Copilot 控件。 要显示下一批或上一批建议,请单击控件中的向前或向后箭头按钮。
也可以使用键盘快捷方式显示替代建议:
OS | 查看下一个建议 | 查看上一个建议 |
---|---|---|
macOS | Option+] | Option+[ |
Windows 或 Linux | Alt+] | Alt+[ |
要接受建议,请单击 Copilot 命令面板中的“接受”,或按 Tab。要拒绝所有建议,请按 Esc。
在新选项卡中显示多个建议
如果不想使用 GitHub Copilot 提供的任何初始建议,可以在新选项卡中显示多个建议。
例如,在一个 Java 文件中键入下面这一行内容:
private int calculateDaysBetweenDates(Date date1,
private int calculateDaysBetweenDates(Date date1,
GitHub Copilot 将向你显示建议。
要打开一个具有多个其他建议的新选项卡,请使用如下键盘快捷方式,然后单击“打开 GitHub Copilot”:****
操作系统 | 打开多个建议 |
---|---|
macOS | Command+Shift+A |
Windows 或 Linux | Ctrl+Enter |
要接受建议,请单击建议下方的“接受建议编号”。 若要拒绝所有建议,请关闭选项卡。
接受部分建议
如果不想接受 GitHub Copilot 的完整建议,可以接受下一个单词或下一行建议。
例如,在一个 Java 文件中键入下面这一行内容:
private int calculateDaysBetweenDates(Date date1,
private int calculateDaysBetweenDates(Date date1,
GitHub Copilot 将以灰色文本显示建议。 具体的建议可能会有所不同。
现在,将鼠标悬停在建议上方,以显示用来选择建议的 GitHub Copilot 控件。 要只接受建议的下一个单词,请单击控件中的“接受单词”。****
或者,也可以使用键盘快捷方式接受建议的下一个单词:
操作系统 | 接受下一个字词 | 接受下一行 |
---|---|---|
macOS | Command+→ | Command+Control+→ |
Windows 或 Linux | Control+→ | Control+Alt+→ |
如果希望接受下一行建议,则需要为命令 editor.action.inlineSuggest.acceptNextLine
设置自定义键盘快捷方式。 有关设置自定义键盘快捷键的详细信息,请参阅“在环境中配置 GitHub Copilot”。
关于 GitHub Copilot 和 Visual Studio
本指南将演示如何从 Visual Studio for Windows 中的 GitHub Copilot 获取编码建议。 要查看其他常用编码环境的说明,请使用页面顶部的工具切换器。
本指南中的示例使用 C#,但其他语言的工作方式类似。 GitHub Copilot 为多种语言和各种框架提供建议,但尤其适用于 Python、JavaScript、TypeScript、Ruby、Go、C# 和 C++。 GitHub Copilot 还可以帮助生成数据库的查询,生成 API 和框架的建议,并可以帮助开发基础结构即代码。
先决条件
-
Copilot 订阅。 要在 Visual Studio 中使用 GitHub Copilot,必须拥有有效的 GitHub Copilot 订阅。 有关如何访问 Copilot 的信息,请参阅“什么是 GitHub Copilot?”。
-
Visual Studio 的兼容版本。 要在 Visual Studio 中使用 GitHub Copilot,必须安装 Visual Studio for Windows 版本 2022 17.8 或更高版本。 有关更多信息,请参阅 Microsoft 文档中的“安装 Visual Studio”。
-
适用于 Visual Studio 的 GitHub Copilot 扩展。 有关如何安装 Copilot 扩展的说明,请参阅 Microsoft 文档中的“在 Visual Studio 中安装 GitHub Copilot”。
-
将 GitHub 帐户添加到 Visual Studio。 请参阅 Microsoft 文档中的将 GitHub 帐户添加到 Visual Studio 密钥链。
获取代码建议
GitHub Copilot 会在你键入时提供编码建议。 例如,在一个 C# 文件中键入此函数签名:
int CalculateDaysBetweenDates(
int CalculateDaysBetweenDates(
GitHub Copilot 会自动以灰色文本建议整个函数正文。 要接受建议,请按 Tab。
也可以在注释内使用自然语言描述要执行的操作,GitHub Copilot 会提供代码建议以实现你的目标。 例如,在一个 C# 文件中键入此注释:
using System.Xml.Linq; var doc = XDocument.Load("index.xhml"); // find all images
using System.Xml.Linq;
var doc = XDocument.Load("index.xhml");
// find all images
GitHub Copilot 将建议函数的实现。 要接受建议,请按 Tab。
Tip
如果从 Copilot 收到有限的建议或未收到任何建议,则表明你可能启用了重复检测。 有关重复检测的更多信息,请参阅“以单个订阅者身份管理 Copilot 策略”。
显示替代建议
对于任何给定的输入,GitHub Copilot 可以提供多个建议。 可以选择要使用的建议,或拒绝所有建议。
例如,在一个 C# 文件中键入此函数签名:
int CalculateDaysBetweenDates(
int CalculateDaysBetweenDates(
GitHub Copilot 将向你显示建议。
现在,将鼠标悬停在建议上方,以显示用来选择建议的 GitHub Copilot 控件。 要显示下一批或上一批建议,请单击控件中的向前或向后箭头按钮。
或者,也可以按键盘上的 Alt+. (或 Alt+,),以显示替代建议。
要接受建议,请单击 Copilot 命令面板中的“接受”,或按 Tab。要拒绝所有建议,请按 Esc。
关于 GitHub Copilot 和 Visual Studio Code
本指南将演示如何从 Visual Studio Code 中的 GitHub Copilot 获取编码建议。 要查看其他常用编码环境的说明,请使用页面顶部的工具切换器。
本指南中的示例使用 JavaScript,但其他语言的工作方式类似。 GitHub Copilot 为多种语言和各种框架提供建议,但尤其适用于 Python、JavaScript、TypeScript、Ruby、Go、C# 和 C++。 GitHub Copilot 还可以帮助生成数据库的查询,生成 API 和框架的建议,并可以帮助开发基础结构即代码。
先决条件
-
Copilot 订阅。 要在 Visual Studio Code 中使用 GitHub Copilot,必须拥有有效的 GitHub Copilot 订阅。 有关如何访问 Copilot 的信息,请参阅“什么是 GitHub Copilot?”。
-
Visual Studio Code。 若要在 Visual Studio Code 中使用 GitHub Copilot,必须安装 Visual Studio Code。 有关详细信息,请参阅 Visual Studio Code 下载页面。
-
适用于 Visual Studio Code 的 Copilot 扩展。 要在 Visual Studio Code 中使用 GitHub Copilot,必须安装 GitHub Copilot 扩展。 有关更多信息,请参阅 Visual Studio Code 文档中的在 Visual Studio Code 中设置 GitHub Copilot。
获取代码建议
GitHub Copilot 会在你键入时提供编码建议。 例如,在一个 JavaScript 文件中键入此函数标头:
function calculateDaysBetweenDates(begin, end) {
function calculateDaysBetweenDates(begin, end) {
GitHub Copilot 会自动建议函数的剩余部分。 要接受建议,请按 Tab。
也可以在注释内使用自然语言描述要执行的操作,GitHub Copilot 会提供代码建议以实现你的目标。 例如,在一个 JavaScript 文件中键入此注释:
// write a function to // find all images without alternate text // and give them a red border
// write a function to
// find all images without alternate text
// and give them a red border
GitHub Copilot 会自动提供代码建议。 要接受建议,请按 Tab。
Tip
如果从 Copilot 收到有限的建议或未收到任何建议,则表明你可能启用了重复检测。 有关重复检测的更多信息,请参阅“以单个订阅者身份管理 Copilot 策略”。
显示替代建议
对于任何给定的输入,GitHub Copilot 可以提供多个建议。 可以选择要使用的建议,或拒绝所有建议。
例如,在一个 JavaScript 文件中键入此函数标头,然后按 Enter:
function calculateDaysBetweenDates(begin, end) {
function calculateDaysBetweenDates(begin, end) {
GitHub Copilot 将向你显示建议。
现在,将鼠标悬停在建议上方,以显示用来选择建议的 GitHub Copilot 控件。 要显示下一批或上一批建议,请单击控件中的向前或向后箭头按钮。
也可以使用键盘快捷方式显示替代建议:
OS | 查看下一个建议 | 查看上一个建议 |
---|---|---|
macOS | Option (⌥) 或 Alt+] | Option (⌥) 或 Alt+[ |
Windows 或 Linux | Alt+] | Alt+[ |
要接受建议,请单击 Copilot 命令面板中的“接受”,或按 Tab。要拒绝所有建议,请按 Esc。
在新选项卡中显示多个建议
如果不想使用 GitHub Copilot 提供的任何初始建议,可以在新选项卡中显示多个建议。
例如,在一个 JavaScript 文件中键入此函数标头,然后按 Enter:
function calculateDaysBetweenDates(begin, end) {
function calculateDaysBetweenDates(begin, end) {
GitHub Copilot 将向你显示建议。 现在,按 Ctrl+Enter,以打开具有多个其他选项的新选项卡。
要接受建议,请单击建议下方的“接受建议编号”。 若要拒绝所有建议,请关闭选项卡。
接受部分建议
如果不想接受 GitHub Copilot 的完整建议,可以接受下一个单词或下一行建议。
例如,在一个 JavaScript 文件中键入此函数标头,然后按 Enter:
function calculateDaysBetweenDates(begin, end) {
function calculateDaysBetweenDates(begin, end) {
GitHub Copilot 会自动以灰色文本建议整个函数正文。 具体的建议可能会有所不同。
现在,将鼠标悬停在建议上方,以显示用来选择建议的 GitHub Copilot 控件。 要只接受建议的下一个单词,请单击控件中的“接受单词”。****
或者,也可以使用键盘快捷方式接受建议的下一个单词:
操作系统 | 接受下一个字词 |
---|---|
macOS | Command+→ |
Windows 或 Linux | Control+→ |
如果希望接受下一行建议,则需要为命令 editor.action.inlineSuggest.acceptNextLine
设置自定义键盘快捷方式。 有关设置自定义键盘快捷键的详细信息,请参阅“在环境中配置 GitHub Copilot”。
关于 GitHub Copilot 和 Vim/Neovim
本指南将演示如何从 Vim/Neovim 中的 GitHub Copilot 获取编码建议。 要查看其他常用编码环境的说明,请使用页面顶部的工具切换器。
先决条件
-
Copilot 订阅。 要在 Vim/Neovim 中使用 GitHub Copilot,必须拥有有效的 GitHub Copilot 订阅。 有关如何访问 Copilot 的信息,请参阅“什么是 GitHub Copilot?”。
-
Vim/Neovim 的兼容版本。 要在 Vim/Neovim 中使用 GitHub Copilot,必须安装 Vim 版本 9.0.0185 / Neovim 版本 0.6 或更高版本以及 Node.js 版本 18 或更高版本。 有关详细信息,请参阅 Vim / Neovim 文档和 Node.js 网站。
-
适用于 Vim/Neovim 的 GitHub Copilot 扩展。 要在 Vim/Neovim 中使用 GitHub Copilot,必须安装 GitHub Copilot 插件。 有关详细信息,请参阅“在环境中安装 GitHub Copilot 扩展”。
了解如何在 Vim/Neovim 中使用 GitHub Copilot
当你在 Vim/Neovim 中键入时,GitHub Copilot 会提供建议内联。 要接受建议,请按 Tab 键。
有关如何在 Vim/Neovim 中使用 GitHub Copilot 的更多信息和指导,请运行如下命令,以查看插件文档:
:help copilot
:help copilot
关于 GitHub Copilot 和 Azure Data Studio
本指南将演示如何从 Azure Data Studio 中的 GitHub Copilot 获取编码建议。 要查看其他常用编码环境的说明,请使用页面顶部的工具切换器。
先决条件
-
Copilot 订阅。 要在 Azure Data Studio 中使用 GitHub Copilot,必须拥有有效的 GitHub Copilot 订阅。 有关如何访问 Copilot 的信息,请参阅“什么是 GitHub Copilot?”。
-
Azure Data Studio 的兼容版本。 若要在 Azure Data Studio 中使用 GitHub Copilot,必须安装 Azure Data Studio 1.44.0 或更高版本。 有关详细信息,请参阅 Azure Data Studio 文档中的 Azure Data Studio 下载页。
-
适用于 Azure Data Studio 的 GitHub Copilot 扩展。 要在 Azure Data Studio 中使用 GitHub Copilot,必须安装 GitHub Copilot 扩展。 有关详细信息,请参阅“在环境中安装 GitHub Copilot 扩展”。
获取代码建议
在 Azure Data Studio 中创建 SQL 数据库时,GitHub Copilot 可以提供内联建议。 例如,如果要编写联接两个表的查询,Copilot 可以建议联接条件,包括打开的编辑器中的列、工作区中的其他文件和常见语法模式。
在一个 SQL 文件中,键入如下查询:
SELECT [UserId], [Red], [Orange], [Yellow], [Green], [Blue], [Purple], [Rainbow] FROM [Tag].[Scoreboard] INNER JOIN
SELECT [UserId], [Red], [Orange], [Yellow], [Green], [Blue], [Purple], [Rainbow]
FROM [Tag].[Scoreboard]
INNER JOIN
GitHub Copilot 将自动以灰色文本建议联接条件。 具体的建议可能会有所不同。 要接受建议,请按 Tab。
也可以在注释内使用自然语言描述要执行的操作,GitHub Copilot 会提供代码建议以实现你的目标。 例如,在一个 SQL 文件中键入此注释:
SELECT TokenColor, COUNT(UserID) AS UserCount FROM Tag.Users GROUP BY TokenColor -- pivot that query on tokencolor for Purple, Blue, Green, Yellow, Orange, Red -- and rename the columns to match the colors SELECT [Purple], [Blue], [Green], [Yellow], [Orange], [Red]
SELECT TokenColor, COUNT(UserID) AS UserCount
FROM Tag.Users
GROUP BY TokenColor
-- pivot that query on tokencolor for Purple, Blue, Green, Yellow, Orange, Red
-- and rename the columns to match the colors
SELECT [Purple], [Blue], [Green], [Yellow], [Orange], [Red]
GitHub Copilot 会自动提供代码建议。 要接受建议,请按 Tab。
Tip
如果从 Copilot 收到有限的建议或未收到任何建议,则表明你可能启用了重复检测。 有关重复检测的详细信息,请参阅“以单个订阅者身份管理 Copilot 策略”。
显示替代建议
对于某些建议,GitHub Copilot 可能会提供多个替代方法。 可以选择要采用的建议,或拒绝所有建议。
例如,在一个 SQL 文件中键入此查询:
SELECT [UserId], [Red], [Orange], [Yellow], [Green], [Blue], [Purple], [Rainbow] FROM [Tag].[Scoreboard] INNER JOIN
SELECT [UserId], [Red], [Orange], [Yellow], [Green], [Blue], [Purple], [Rainbow]
FROM [Tag].[Scoreboard]
INNER JOIN
GitHub Copilot 将向你显示建议。
现在,将鼠标悬停在建议上方,以显示用来选择建议的 GitHub Copilot 控件。 要显示下一批或上一批建议,请单击控件中的向前或向后箭头按钮。
也可以使用键盘快捷方式显示替代建议:
OS | 查看下一个建议 | 查看上一个建议 |
---|---|---|
macOS | 选项+[ | Option+] |
Windows 或 Linux | Alt+[ | Alt+] |
要接受建议,请单击 Copilot 控件中的“接受”,或者按 Tab。要拒绝所有建议,请按 Esc。
接受部分建议
如果不想接受 GitHub Copilot 的完整建议,可以接受下一个单词或下一行建议。
例如,在一个 SQL 文件中键入此查询:
SELECT [UserId], [Red], [Orange], [Yellow], [Green], [Blue], [Purple], [Rainbow] FROM [Tag].[Scoreboard] INNER JOIN
SELECT [UserId], [Red], [Orange], [Yellow], [Green], [Blue], [Purple], [Rainbow]
FROM [Tag].[Scoreboard]
INNER JOIN
GitHub Copilot 将以灰色文本显示建议。 具体的建议可能会有所不同。
现在,将鼠标悬停在建议上方,以显示用来选择建议的 GitHub Copilot 控件。 要只接受建议的下一个单词,请单击控件中的“接受单词”。****
或者,也可以使用键盘快捷方式接受建议的下一个单词:
操作系统 | 接受下一个字词 |
---|---|
macOS | Command+→ |
Windows 或 Linux | Control+→ |
如果要接受下一行建议,则需要为命令 editor.action.inlineSuggest.acceptNextLine
设置自定义键盘快捷键。 有关设置自定义键盘快捷键的详细信息,请参阅 Microsoft 文档中的 Azure Data Studio 中的键盘快捷方式。
Note
Xcode 的 GitHub Copilot 扩展为 公共预览版,可能随时更改。
关于适用于 Xcode 的 GitHub Copilot
本指南将演示如何从适用于 Xcode 的 GitHub Copilot 获取编码建议。 要查看其他常用编码环境的说明,请使用页面顶部的工具切换器。
先决条件
-
Copilot 订阅。 若要使用适用于 Xcode 的 GitHub Copilot,必须拥有有效的 GitHub Copilot 订阅。 有关如何访问 Copilot 的信息,请参阅“什么是 GitHub Copilot?”。
-
Xcode 和 macOS 的兼容版本****。 若要使用适用于 Xcode 的 GitHub Copilot,必须安装 Xcode 8.0 版或更高版本和 macOS Monterey (12.0) 或更高版本。 请参阅 Apple 开发人员网站上的 Xcode。
-
适用于 Xcode 的 GitHub Copilot 扩展****。 若要使用适用于 Xcode 的 GitHub Copilot,必须先安装适用于 Xcode 的 GitHub Copilot 扩展。 请参阅“在环境中安装 GitHub Copilot 扩展”。
获取代码建议
GitHub Copilot 会在你键入时提供编码建议。 例如,在一个 Swift 文件中键入此函数签名:
func CalculateDaysBetweenDates(
func CalculateDaysBetweenDates(
GitHub Copilot 会自动以灰色文本建议整个函数正文。 若要接受建议的第一行,请按 Tab。若要查看完整建议,请按住 Option,要接受完整建议,请按 Option+Tab。
改进代码建议
如果遇到代码建议方面的问题(例如建议冲突或缺失),可以尝试以下操作:
- 禁用 Xcode 的原生预测文本完成:为避免收到两组代码建议,可以禁用 Xcode 的原生预测文本完成****。 可以在 Xcode 设置中的“文本编辑”下的“编辑”选项卡中找到此设置。
- 检查 Copilot 中的重复检测:如果从 Copilot 收到有限的建议或未收到任何建议,则表明你可能启用了重复检测****。 有关重复检测的详细信息,请参阅“以单个订阅者身份管理 Copilot 策略”。
- 检查更新并重启 Xcode:确保扩展应用程序中的适用于 Xcode 的 Copilot 是最新版本,然后重启 Xcode****。
还可以在适用于 Xcode 的 Copilot 存储库中提出问题。
后续步骤
- 了解如何编写有效的提示 - 请参阅“GitHub Copilot 的提示设计”****。
- 在编辑器中配置 Copilot - 可以从编辑器内启用或禁用 GitHub Copilot,并为 Copilot 创建自己的首选键盘快捷方式。 请参阅“在环境中配置 GitHub Copilot”。
- 开始使用 GitHub Copilot Chat - 了解如何使用 GitHub Copilot Chat 要求 Copilot 提供信息和帮助。 请参阅“在 IDE 中向 GitHub Copilot 提问”和“在 GitHub 中向 GitHub Copilot 提问”。
- 问题疑难解答 - 详细了解如何排查 GitHub Copilot 的常见问题。 请参阅“GitHub Copilot 故障排除”。