Visual Studio GitHub Copilot 推出“下一个编辑建议”,智能预测并辅助代码编辑。

本文介绍 Visual Studio 2022 17.14 中的新功能"下一个编辑建议 (NES)",它增强了 GitHub Copilot 在简单代码补全之外的能力。与传统光标位置补全不同,NES 分析历史编辑记录,预测并建议下一次可能发生的代码更改,包括插入、删除或修改,这些更改可能发生在代码文件的任何位置。该功能通过实际示例进行演示,例如将 2D 类重构为 3D,更新旧的 C++ 语法,以及根据新变量进行逻辑代码修改。NES 通过内联 Diff 视图和导航提示提供建议,允许用户轻松接受或拒绝更改。NES 旨在辅助逻辑编辑流程。

主要内容

    1. NES 基于最近更改预测并建议下一次代码编辑。

    NES 分析历史编辑记录,预测用户可能的修改位置和方式,超越传统光标处的代码补全功能。

    1. 建议可出现在文件任何位置,辅助多处协同编辑。

    与传统的代码补全不同,NES 识别不同行上可能的编辑,并通过导航提示和集成的差异视图来指导用户。

    1. NES 支持从代码重构到语法更新的各类场景。

    此功能支持多种场景,涵盖代码重构和语法更新。

Visual Studio GitHub Copilot 中的下一条编辑建议现已可用

GitHub Copilot 代码完成建议,或灰色文本,专长于自动完成未完成的代码或提供有用的模板代码。实际上,编码活动远不止编写新代码。如果 Copilot 不仅能更好地帮助您生成代码,还能帮助您进行代码编辑活动,那会怎样?

我们很高兴宣布,在下一次编辑建议 ,或简称 NES ,现已在 Visual Studio 2022 17.14 中推出,以进一步提升您的编码体验。NES 利用之前所做的编辑来预测即将发生的编辑,无论是插入、删除还是两者的混合。与仅限于在光标位置生成建议的 Copilot 完成建议不同,NES 可以在文件中的任何位置支持您,因为下一个编辑最有可能发生在这里。

示例使用场景

接下来的编辑建议在多种场景下都会有所帮助,不仅限于显而易见的重命名等重复性更改,还可以在添加/删除变量或改变方法意图时进行更逻辑上的更改。以下是一些示例:

1. 将 2D 点类重构为 3D 点类:
2. 将代码语法更新为现代 C++(使用 STL):

请注意,NES 不仅会重复地将所有的"printf()"更新为"std::cout",还会更新其他语法,如"fgets()"。

3. 根据新添加的变量做出逻辑上的更改:

NES 会迅速响应新变量,添加游戏中玩家可以猜测的最大次数,同时 Copilot 完成也会介入提供帮助。

开始使用下一个编辑建议

通过 工具 > 选项 > GitHub > Copilot > Copilot 完成 > 启用下一个编辑建议 启用 NES。

就像自动补全一样,你只需要开始编码就能获得 NES!

如果有可用的编辑建议,这些建议可以在一个差异视图中呈现,其中红色差异表示你原来的代码,绿色表示 Copilot 建议的新代码,清晰地显示了你原始代码中的任何替换或删除。

如果编辑不在你当前所在的行上,它会建议你先按 Tab 跳转到对应的行。提示栏中的箭头会指示下一个编辑的位置。你不需要手动查找相关编辑;NES 会为你导航!

编辑到同一行后,你可以按 Tab 接受建议。

除了提示栏,代码边栏还会弹出一个箭头,以指示有编辑建议可用。你可以点击箭头来查看编辑建议菜单。这个菜单允许你在不需要按 Tab 键的情况下使用鼠标与 NES 进行交互。

逐步了解下一条编辑建议的解释:

请今天尝试一下 NES,让它帮助你进行逻辑编辑流程!如果你有任何反馈,我们的团队非常乐意通过 开发者社区听取你的意见,帮助我们不断迭代和改进 NES!

查看新的 Visual Studio 聚合中心

在一处连接 Visual Studio 的一切!访问 Visual Studio Hub 获取最新版本更新、YouTube 视频、社交动态和社区讨论。

相关推荐
冬奇Lab1 小时前
【Cursor进阶实战·07】OpenSpec实战:告别“凭感觉“,用规格驱动AI编程
人工智能·ai编程
IamZJT_2 小时前
拒绝做 AI 的“饲养员” ❌:前端程序员在 AI 时代的生存与进化指南 🚀
前端·ai编程
极小狐3 小时前
智谱上市!当 GLM-4.7 遇上 CodeRider :演示何为「1+1>2」的巅峰效能
人工智能·ai编程
peterfei4 小时前
AI 把代码改崩溃了?若爱 (IfAI) v0.2.7 发布:程序员的“后悔药”真的来了!
rust·ai编程
树獭非懒4 小时前
AI大模型小白手册|如何像工程师一样写Prompt?
llm·aigc·ai编程
艺杯羹5 小时前
Trae 智能编程工具入门指南:安装流程 + 贪吃蛇实操
ai·ai编程·编程工具·trae·ai开发工具
一条咸鱼_SaltyFish6 小时前
[Day13] 微服务架构下的共享基础库设计:contract-common 模块实践
开发语言·人工智能·微服务·云原生·架构·ai编程
方璧7 小时前
【第二篇】AI编码的优缺点
ai编程
jxm_csdn7 小时前
[深度] 重构“Vibe Coding”:如何让 Cursor/Claude Code 深刻“读懂”你的设计意图?
重构·ai编程·ai写作·vibe coding
paopao_wu7 小时前
LangChainV1.0[09]-中间件(Middleware)
人工智能·python·langchain·ai编程