GitHub Copilot Next Edit Suggestions 初步使用指南

GitHub Copilot 的“下一个编辑建议”(NES)功能使用最近的编辑来预测你可能想要进行的下一次编辑,以及该编辑的位置。 借助这种新功能,Copilot 建议对代码、注释、测试等进行修订。

内联完成在自动完成代码部分方面非常出色。 NES 通过建议与当前工作相关的更改来帮助保持编辑逻辑流程。 可以使用 Tab 键快速浏览并接受建议。 建议可能会跨越单个符号、整行或多行,具体取决于潜在更改的范围。

先决条件

启用 NES

若要开始使用 Copilot NES,请启用 “工具>选项 ”窗格中的功能。 展开“所有设置>文本编辑器>代码完成>常规”部分,然后在“代码完成提供程序”组中选中“Copilot 下一编辑建议”(“来自 Copilot 的下一编辑预测”)复选框。

若要开始使用 Copilot NES,请启用 “工具>选项 ”对话框中的功能。 展开 GitHub>Copilot 部分,然后在 Copilot 完成组中选中“启用下一个编辑建议”复选框。

开始使用 NES

若要开始从 NES 获取建议,请开始编码。 当功能建议代码编辑时,可以使用 Tab 键移动到它,然后再次使用 Tab 键接受它。 无需手动搜索文件或引用,即可快速跳转到下一个相关编辑,从而节省时间。 页边距中的箭头符号指示是否有编辑建议可用。

显示页边空白中的箭头以指示编辑建议的屏幕截图。

选择箭头以浏览编辑建议菜单,其中包括键盘快捷方式。

显示用于编辑建议的菜单的屏幕截图。

如果编辑建议位于当前编辑器视图下方,则箭头向下而不是向右。 滚动浏览编辑建议,箭头根据您在文件中的当前位置,向上或向下指示下一个编辑建议的位置。

显示向上箭头的屏幕截图,用于指示文件中下一个编辑建议的位置。

了解用例

在不同情境中,NES 通过建议不仅仅是明显的重复更改,还包括逻辑更改,从而起到帮助作用。 下面是一些示例。

发现并纠正错误

NES 可以帮助纠正拼写错误之类的问题;例如,如果你写了 bol 而不是 bool

建议进行错别字纠正的 NES 屏幕截图。

该功能还可以帮助解决逻辑中更具挑战性的错误,例如倒置的三元表达式,或是在比较中应该使用||而不是&&的情况。

显示 NES 建议更正表达式的屏幕截图。

匹配意向中的更改

NES 建议对与意向更改匹配的其余代码进行更改。 以下示例展示了将类从Point重构为Point3D后的建议。

显示意向更新更改的 NES 建议的动画屏幕截图。

更新代码语法

NES 有助于进行重复更改,例如使用标准库 (STL) 将代码语法更新为新式C++。 例如,将所有实例更新 printf()std::cout时,还需要更新语法,例如 fgets()

显示 NES 建议代码语法更新的动画屏幕截图。

重构

如果在文件中重命名一次变量,NES 建议在整个文件中更新它。 如果引入了新的名称或命名模式,该功能建议更新后续代码以匹配。

显示 NES 建议在重命名变量时进行编辑的屏幕截图。

粘贴某些代码后,NES 会建议进行调整,使其与周围代码的样式匹配。

隐藏 NES

你可以在 Visual Studio 中隐藏 NES 中的建议,并仅在你选择时查看它们。

“工具>选项 ”窗格中,展开“ 所有设置>文本编辑器>代码完成 ”部分,然后选择“ 折叠下一个编辑建议 ”复选框。

“工具>选项”对话框中,展开 “GitHub>Copilot>完成”部分,然后选择 “折叠下一个编辑建议”复选框。

您的编辑仍会触发 NES,但当有建议可用时,仅仅在边框中显示边距指示器。 此指示器指向相关行。 建议本身将保持隐藏状态,直到你选择查看它。

当 NES 被隐藏时显示边缘箭头的截图。

若要查看隐藏的建议,请选择边距指示器或选择 Tab 键。 然后会显示建议。 可以再次选择 Tab 键以接受建议,或选择 Esc 键将其消除。 接受建议后,将自动显示任何相关建议。 在选择查看新建议之前,不相关的新建议将保持隐藏状态。

在以下示例中,将从 Point 更改为 Point3D 后,NES 建议将会可用,但不会立即显示。 边距指示器和提示栏突出显示第 4 行的建议,该建议显示在选择指示器后。

显示 NES 折叠模式流的动画屏幕截图。