关于 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(Ultimate、Community、Educational)
- Android Studio
- AppCode
- CLion
- Code With Me Guest
- DataGrip
- DataSpell
- GoLand
- JetBrains Client
- MPS
- PhpStorm
- PyCharm(Professional、Community、Educational)
- 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。
您也可以在注释中使用自然语言描述您想执行的操作,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 将尝试匹配您的代码的上下文和样式。您可以随时编辑建议的代码。
提示
如果您收到的 Copilot 建议有限或没有建议,则可能是启用了重复检测。有关重复检测的更多信息,请参阅“管理 Copilot 策略作为个人订阅者”。
显示备选建议
对于任何给定的输入,GitHub Copilot 可能会提供多个建议。您可以选择要使用的建议,或拒绝所有建议。
例如,在 Java 文件中键入以下行,然后按Enter:
private int calculateDaysBetweenDates(Date date1,
private int calculateDaysBetweenDates(Date date1,
GitHub Copilot 将向您显示一个建议。
现在将鼠标悬停在建议上以显示用于选择建议的 GitHub Copilot 控件。要显示下一个或上一个建议,请单击控件中的向前或向后箭头按钮。
您也可以使用键盘快捷键来显示备选建议:
操作系统 | 查看下一个建议 | 查看上一个建议 |
---|---|---|
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
本指南演示了如何在 Windows 的 Visual Studio 中获取 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,您必须安装Windows版Visual Studio 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键。
您也可以在注释中使用自然语言描述您想做的事情,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键。
提示
如果您收到的 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键。
您也可以在注释中使用自然语言描述您想做的事情,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。
提示
如果您收到的 Copilot 建议有限或没有建议,则可能是启用了重复检测。有关重复检测的更多信息,请参阅“管理 Copilot 策略作为个人订阅者”。
显示备选建议
对于任何给定的输入,GitHub Copilot 可能会提供多个建议。您可以选择要使用的建议,或拒绝所有建议。
例如,在JavaScript文件中键入以下函数头,然后按Enter键
function calculateDaysBetweenDates(begin, end) {
function calculateDaysBetweenDates(begin, end) {
GitHub Copilot 将向您显示一个建议。
现在将鼠标悬停在建议上以显示用于选择建议的 GitHub Copilot 控件。要显示下一个或上一个建议,请单击控件中的向前或向后箭头按钮。
您也可以使用键盘快捷键来显示备选建议:
操作系统 | 查看下一个建议 | 查看上一个建议 |
---|---|---|
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
GitHub Copilot在您在Vim/Neovim中键入时提供内联建议。要接受建议,请按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键。
您也可以在注释中使用自然语言描述您想做的事情,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。
提示
如果您收到的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 控件。要显示下一个或上一个建议,请单击控件中的向前或向后箭头按钮。
您也可以使用键盘快捷键来显示备选建议:
操作系统 | 查看下一个建议 | 查看上一个建议 |
---|---|---|
macOS | Option+[ | 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中的键盘快捷键"。
注意
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:确保您在扩展应用程序中拥有最新版本的Copilot for Xcode,然后重启Xcode。
您也可以在Copilot for Xcode代码库中打开一个问题。
后续步骤
- 学习如何编写有效的提示 - 请查看“GitHub Copilot 的提示工程”。
- 在您的编辑器中配置 Copilot - 您可以在编辑器中启用或禁用 GitHub Copilot,并创建您自己的 Copilot 首选键盘快捷键。请查看“在您的环境中配置 GitHub Copilot”。
- 开始使用 GitHub Copilot Chat - 使用 GitHub Copilot Chat,了解如何向 Copilot 寻求信息和帮助。请查看“在您的 IDE 中向 GitHub Copilot 提问”。
- 排查问题 - 了解如何排查 GitHub Copilot 的常见问题。请查看“GitHub Copilot 疑难解答”。