GitHub Copilot 的“下一个编辑建议”(NES)功能使用最近的编辑来预测你可能想要进行的下一次编辑,以及该编辑的位置。 借助这种新功能,Copilot 建议对代码、注释、测试等进行修订。
内联完成在自动完成代码部分方面非常出色。 NES 通过建议与当前工作相关的更改来帮助保持编辑逻辑流程。 可以使用 Tab 键快速浏览并接受建议。 建议可能会跨越单个符号、整行或多行,具体取决于潜在更改的范围。
先决条件
安装 Visual Studio 2022 版本 17.14 或更高版本。
使用具有 Copilot 访问权限的 GitHub 帐户登录到 Visual Studio。
可以免费使用 GitHub Copilot。 注册以便使用 AI 更快、更高效地编写代码。
启用 NES
若要开始使用 Copilot NES,请启用 “工具>选项 ”窗格中的功能。 展开“所有设置>文本编辑器>代码完成>常规”部分,然后在“代码完成提供程序”组中选中“Copilot 下一编辑建议”(“来自 Copilot 的下一编辑预测”)复选框。
若要开始使用 Copilot NES,请启用 “工具>选项 ”对话框中的功能。 展开 GitHub>Copilot 部分,然后在 Copilot 完成组中选中“启用下一个编辑建议”复选框。
开始使用 NES
若要开始从 NES 获取建议,请开始编码。 当功能建议代码编辑时,可以使用 Tab 键移动到它,然后再次使用 Tab 键接受它。 无需手动搜索文件或引用,即可快速跳转到下一个相关编辑,从而节省时间。 页边距中的箭头符号指示是否有编辑建议可用。
显示页边空白中的箭头以指示编辑建议的屏幕截图。
选择箭头以浏览编辑建议菜单,其中包括键盘快捷方式。
如果编辑建议位于当前编辑器视图下方,则箭头向下而不是向右。 滚动浏览编辑建议,箭头根据您在文件中的当前位置,向上或向下指示下一个编辑建议的位置。
了解用例
在不同情境中,NES 通过建议不仅仅是明显的重复更改,还包括逻辑更改,从而起到帮助作用。 下面是一些示例。
发现并纠正错误
NES 可以帮助纠正拼写错误之类的问题;例如,如果你写了 bol 而不是 bool。
该功能还可以帮助解决逻辑中更具挑战性的错误,例如倒置的三元表达式,或是在比较中应该使用||而不是&&的情况。
匹配意向中的更改
NES 建议对与意向更改匹配的其余代码进行更改。 以下示例展示了将类从Point重构为Point3D后的建议。
更新代码语法
NES 有助于进行重复更改,例如使用标准库 (STL) 将代码语法更新为新式C++。 例如,将所有实例更新 printf() 为 std::cout时,还需要更新语法,例如 fgets()。
重构
如果在文件中重命名一次变量,NES 建议在整个文件中更新它。 如果引入了新的名称或命名模式,该功能建议更新后续代码以匹配。
粘贴某些代码后,NES 会建议进行调整,使其与周围代码的样式匹配。
隐藏 NES
你可以在 Visual Studio 中隐藏 NES 中的建议,并仅在你选择时查看它们。
在 “工具>选项 ”窗格中,展开“ 所有设置>文本编辑器>代码完成 ”部分,然后选择“ 折叠下一个编辑建议 ”复选框。
在 “工具>选项”对话框中,展开 “GitHub>Copilot>完成”部分,然后选择 “折叠下一个编辑建议”复选框。
您的编辑仍会触发 NES,但当有建议可用时,仅仅在边框中显示边距指示器。 此指示器指向相关行。 建议本身将保持隐藏状态,直到你选择查看它。
若要查看隐藏的建议,请选择边距指示器或选择 Tab 键。 然后会显示建议。 可以再次选择 Tab 键以接受建议,或选择 Esc 键将其消除。 接受建议后,将自动显示任何相关建议。 在选择查看新建议之前,不相关的新建议将保持隐藏状态。
在以下示例中,将从 Point 更改为 Point3D 后,NES 建议将会可用,但不会立即显示。 边距指示器和提示栏突出显示第 4 行的建议,该建议显示在选择指示器后。