Copilot 下一步编辑建议(预览)
2025年2月12日,作者:Brigit Murtaugh,Burke Holland
我们很高兴地宣布,在 Visual Studio Code 的此版本中,GitHub Copilot 将推出三项预览功能
- 下一步编辑建议
- 适用于 Copilot Edits 的代理模式
- 视觉
在这篇文章中,我们将深入探讨下一步编辑建议,并了解编辑器中 AI 驱动代码补全的下一次演进。
下一步编辑建议 (NES)
GitHub Copilot 代码补全——也被称为幽灵文本——在自动补全方面表现出色。使用 GitHub Copilot 时最令人惊叹的感受之一是,它能在您甚至无需提出要求的情况下,便能建议您脑海中的代码。然而,大多数编码活动都涉及编辑现有代码,这与编写新行代码同样重要。因此,让补全功能也能作用于现有代码,是水到渠成的一步。
我们称之为下一步编辑建议,简称 NES。是的——当我们看到这个缩写时,也会感受到游戏机带来的怀旧之情。
开始使用 NES
要开始使用 Copilot NES,首先请启用 VS Code 设置 github.copilot.nextEditSuggestions.enabled。
与代码补全类似,要开始从 NES 获取建议,您只需开始编写代码!
当您收到编辑建议时,使用 Tab 键导航到它,然后再次使用 Tab 键接受它。忘掉手动搜索相关文件或引用吧。Copilot NES 将密切关注您的下一个相关编辑!
行号边栏中的箭头表示有可用的编辑建议。将鼠标悬停在箭头上,可以查看编辑建议菜单,其中包括键盘快捷键和设置配置。
已经滚动过了该编辑建议?箭头会提示您下一个编辑建议的位置,根据您在文件中的位置向上或向下指向。
建议可以涵盖单个符号、整行或多行,具体取决于潜在更改的范围。
重新加载 VS Code 以使您的更新设置生效。
如果您是 Copilot Business 或 Enterprise 用户,除了在编辑器中设置 github.copilot.nextEditSuggestions.enabled 之外,您的组织管理员还必须选择启用 Copilot“编辑器预览功能”。
您可以了解更多关于在组织中管理 Copilot 策略的信息。
示例场景
当您进行可能在文件或项目中级联的更改时,Copilot NES 将是您的 AI 伴侣,您会看到它在各种场景中大放异彩。
捕获和纠正错误:错误是编写代码的自然组成部分,Copilot NES 旨在帮助捕获它们(有时甚至在您意识到错误之前!)。
NES 有助于纠正拼写错误等小错误——也许您当时快速编码,处于专注状态,将 const
写成了 conts
。
NES 还可以帮助处理逻辑中更具挑战性的错误,例如倒置的三元表达式。
我们的开发团队一直在自托管 NES,在我们撰写这篇博客时,我们的一位工程师回想起他第一次使用 NES 时的“啊哈!”时刻。他当时正在编写类似 if (something !== 'a' || something !== 'b')
的条件。NES 发现这个语句将始终评估为 true(感谢德摩根定律!),并建议将 ||
替换为 &&
以使代码有效。
改变意图:Copilot NES 会根据意图的变化提出建议。例如,将类名从 Point
改为 Point3D
会导致建议在类定义和距离计算中添加一个 z
变量。
使用新添加的变量或逻辑:Copilot NES 帮助您使用刚刚添加的新代码。这可能是一个小的更改,例如在实际方法中调用一个新的方法参数。
它也可能更复杂:如果您向 VS Code 扩展的 extension.ts
添加了一个新命令,NES 将首先建议清理 extension.ts
中的命令。然后当您打开 package.json
时,NES 还会建议注册该命令。
重构:如果您使用新的名称或命名模式,Copilot NES 会建议相应地更新后续代码。
阅读我们的完整 NES 文档,了解更多信息和场景,我们将不断扩展 NES 体验。
分享您的反馈
Copilot NES 正在迅速发展,我们迫不及待地希望通过我们的仓库中的 issues 获得您的反馈——这将对改进体验至关重要。
请务必使用 VS Code Insiders 和 GitHub Copilot Chat 扩展的预发布版本,以获取所有最新功能和修复。了解更多关于如何安装扩展预发布版本的详细信息。
您可以阅读我们的完整 NES 文档,了解更多信息和场景,我们将不断扩展 NES 体验。
我们对 AI 的下一步发展感到兴奋,Copilot 将预测您接下来想做什么——最好的提示是您无需编写的提示。我们希望您也同样兴奋,并期待看到您的作品!
代理模式
截至上周发布的 VS Code Insiders,GitHub Copilot Edits 现已提供代理模式选项。
Copilot Edits 中的代理模式能够迭代其自身代码——自动识别并修复错误,执行完成所请求任务所需的任何终端命令,以及通过自修复能力解决运行时错误。GitHub Copilot 现在不仅可以执行用户请求的任务,还可以推断所有未指定但需要完成的其他任务,以使主要请求正常工作。
我们看到 GitHub Copilot 代理模式的巨大潜力。它每天都在变得更好,但我们希望尽快将其交到您手中。请关注此空间,在接下来的几周内,我们将不断改进体验,并期待您在试用时分享反馈(目前在 VS Code Insiders 中可用,很快将在 VS Code Stable 中推出)。
您可以在我们的文档中阅读更多关于代理模式的信息。
视觉
此版本的 VS Code Insiders 也为 GitHub Copilot 带来了视觉支持。
一遍又一遍地将您所看到的内容翻译成 Copilot 的描述可能会令人沮丧。在使用用户界面或询问如何在编辑器中配置某些内容时尤其如此。现在,您只需将屏幕截图附加到您的提示中,Copilot 就可以准确地看到您所看到的内容。您可以...
- 从剪贴板粘贴
- 从资源管理器视图拖放图像
- 附加当前 VS Code 窗口的屏幕截图(选择 附加 > 截图窗口)
这带来了各种场景...
- 向 Copilot 提供模型图,以便它可以生成 UI 代码。
- 提供不正确界面的屏幕截图,以便 Copilot 可以帮助您修复布局。
- 为 HTML 和 Markdown 中的图像生成替代文本
- 提供错误屏幕截图
视觉功能目前在 VS Code Insiders 中可用,并且向所有人开放。目前唯一支持的模型是 GPT 4o,对其他模型的支持正在开发中。目前支持的图像类型为 JPEG/JPG、PNG、GIF 和 WEBP。
新年,新 Copilot
我们对 Copilot 寄予厚望,它作为一名 AI 结对程序员,不仅向所有人免费提供,而且不断突破 AI 的界限,以显著提升您的生产力和幸福感。
我们从未停止改进 VS Code 本身,因此请查看我们最近的发布说明,了解所有全新的亮点。我们坚定不移地致力于确保您拥有最佳版本的代码编辑器和最佳的 AI 结对程序员。
我们知道 AI 世界发展迅速,因此请务必在 X/Bluesky/领英上关注我们,我们将让您轻松了解所有最新和最强大的 Copilot 功能。
编程愉快!
Brigit 和 Burke