检查 GitHub Copilot 的代码完成功能
输入代码时,GitHub Copilot 会提供自动补全样式的建议。 执行以下操作时,会收到自动完成提示:
- 在编辑器中输入部分代码行或完整代码行。
- 在编辑器中输入部分或完整的代码注释。
- 在编辑器中输入空白代码行。
生成自动补全建议
GitHub Copilot 通过根据你正在编写的代码来建议代码补全,从而加速应用开发。
例如,假设要创建一个名为 addInt 的 C# 方法,该方法返回两个整数的总和。 如果开始键入方法签名,GitHub Copilot 会建议它认为你要创建的代码。

显示了自动补全建议,其中未使用彩色突出显示语法。 这有助于将自动完成功能与您的现有代码区分开来。 可以通过按 Tab 键来接受建议的代码。

可以按 Esc 键消除建议。
addInt 示例有点简单,因此你可能想知道 GitHub Copilot 如何处理更复杂的内容。
假设你想要创建一个方法,该方法接受数字列表,并返回列表中所包含的质数的总和。 可以命名方法 addPrimeNumbersInNumericList。 开始键入方法签名时,GitHub Copilot 会为你生成建议。 例如:

在接受之前,请务必审查建议。 此自动完成效果不错,因此可以按 Tab 键键接受建议。
让我们进一步发展这个情景。
一旦将建议合并到你的代码中,你会注意到 isPrime 方法被红色下划线标出。 这是因为代码中尚不存在 isPrime 方法。

GitHub Copilot 经过培训,可遵循最佳做法,包括将复杂问题分解为更小、更易于管理的部分。 在这种情况下,GitHub Copilot 建议你创建一个单独的 isPrime 方法来检查数字是否为质数。
GitHub Copilot 已准备好为 isPrime 方法建议一个代码片段。 在 addPrimeNumbersInNumericList 方法下方输入空白行时,GitHub Copilot 建议使用 isPrime 方法。

自动完成建议通过提供代码片段来加速开发过程。 但是,如果这些建议不太符合您的需要怎么办? GitHub Copilot 提供了用于管理自动完成建议的界面。
管理自动补全建议
当 GitHub Copilot 建议自动完成时,它还提供用于管理建议的界面。 可以接受建议、查看其他建议或消除建议。
将鼠标指针悬停在建议的自动补全项上时,会显示多个用于管理建议的选项。

用于管理建议的默认界面包括以下选项:
- 通过选择 “接受”来接受建议(完全)。 也可以通过按 Tab 键来接受建议。
- 选择“接受字词”可接受部分建议。 也可以通过按
Ctrl+>键部分接受建议。 - 通过选择
>或<查看备用建议。 还可以通过按Alt+]或Alt+[键来查看替代建议。
选择“接受字词”选项可接受建议中的下一个单词。 如果要接受部分建议,然后继续键入自己的代码,这非常有用。 例如,您可以接受 isPrime 方法建议中的第一个单词。

继续选择“接受字词”,直到接受完自己需要的建议。
选择“接受字词”按钮右侧的省略号(…)图标可提供“接受行”、“始终显示工具栏”和“打开补全面板”的选项。

选择“接受行”选项可接受整行建议。 选择 “始终显示工具栏 ”选项可确保使用热键管理自动完成建议时工具栏保持可见。 选择 “打开完成面板” 选项将打开“GitHub Copilot 完成”选项卡。本单元末尾介绍了如何使用 GitHub Copilot 完成选项卡查看多个建议。
从注释生成代码建议
除了建议基于代码的自动完成之外,GitHub Copilot 还可以使用代码注释来建议代码片段。 使用自然语言短语描述要创建的代码。 这使 Copilot 能够提出满足特定要求的自动完成建议。 例如,可以指定要在计算中使用的算法类型,或要添加到类的方法和属性。
让我们返回到质数示例。 此时,你有以下代码:

addPrimeNumbersInNumericList 和 isPrime 方法似乎已完成。 但是,调用 addPrimeNumbersInNumericList 方法时,仍需要可用作参数的数字列表。 可以编写描述所需数字列表的注释。 例如,100 个随机数的列表,范围为 1 和 1000。
开始输入注释时,GitHub Copilot 会建议自动补全该注释以完成注释。 GitHub Copilot 使用周围的代码来改进其建议。 例如,如果开始输入注释 // create,GitHub Copilot 将使用周围的代码来预测要创建的内容。 在本例中,GitHub Copilot 使用 addPrimeNumbersInNumericList 方法来预测要创建 a list of numbers。

当您继续撰写评论时,GitHub Copilot 会更新它的自动完成建议。 准备好接受建议时,请选择 “接受 ”或按 Tab 键。

在注释后创建新代码行时,GitHub Copilot 会基于注释和现有代码开始生成代码片段。
显示 GitHub Copilot 添加第一行代码的 
在显示建议时接受每个建议。

如果 GitHub Copilot 尚未完成,它将为你生成另一个建议以供接受。

如果在代码片段完成后输入新代码行,GitHub Copilot 会根据代码项目的要求生成另一个自动完成建议。 在这种情况下,GitHub Copilot 建议一行代码来调用 addPrimeNumbersInNumericList 方法,并传入名为 numbers 的列表。

使用 GitHub Copilot 建议选项卡查看多个建议
如果对初始自动完成建议不满意,GitHub Copilot 可以在编辑器中打开包含更多选项的新选项卡。 可以查看更大的建议列表以找到更好的匹配项,然后选择它。
为了演示此功能,让我们返回到质数示例中的较早阶段。
假设你仍然需要创建 isPrime 方法。 在 addPrimeNumbersInNumericList 方法下方输入一个空白行时,GitHub Copilot 会为你建议一个 isPrime 方法。 此过程与之前使用的过程相同。 但是,假设你对 GitHub Copilot 提供的建议不满意,并且希望看到更多选项。
若要打开“GitHub Copilot 建议”选项卡并查看其他建议,请按 Ctrl + Enter 键。 还可以打开“更多操作”菜单,然后选择打开完成面板。

“GitHub Copilot 建议”选项卡最多显示 10 条其他建议。 查看这些建议,找到最符合您需求的一个。
若要接受建议,请选择建议下方 Accept selection 标签。 例如,选择第一个建议下方的 Accept suggestion 1 标签。
若要拒绝所有建议,请关闭选项卡。
概要
自动完成建议可帮助你更高效、更准确地编写代码。 输入代码时,GitHub Copilot 会提供自动完成建议。 可以通过输入部分或完整代码行、部分或完整代码注释或空白代码行来生成自动补全建议。 可以通过按 Tab 键来接受建议,也可以通过按 Esc 键消除建议。 可以使用将鼠标悬停在建议上时出现的工具栏来管理建议。 通过工具栏可以查看备用建议、接受建议、接受一个建议或打开 GitHub Copilot 完成选项卡以查看更多建议。