在 VS Code 中试用

Copilot 下一步编辑建议(预览)

2025年2月12日,作者:Brigit MurtaughBurke Holland

我们很高兴地宣布,在 Visual Studio Code 的此版本中,GitHub Copilot 将推出三项预览功能

  1. 下一步编辑建议
  2. 适用于 Copilot Edits 的代理模式
  3. 视觉

在这篇文章中,我们将深入探讨下一步编辑建议,并了解编辑器中 AI 驱动代码补全的下一次演进。

下一步编辑建议 (NES)

GitHub Copilot 代码补全——也被称为幽灵文本——在自动补全方面表现出色。使用 GitHub Copilot 时最令人惊叹的感受之一是,它能在您甚至无需提出要求的情况下,便能建议您脑海中的代码。然而,大多数编码活动都涉及编辑现有代码,这与编写新行代码同样重要。因此,让补全功能也能作用于现有代码,是水到渠成的一步。

我们称之为下一步编辑建议,简称 NES。是的——当我们看到这个缩写时,也会感受到游戏机带来的怀旧之情。

开始使用 NES

要开始使用 Copilot NES,首先请启用 VS Code 设置 github.copilot.nextEditSuggestions.enabled

与代码补全类似,要开始从 NES 获取建议,您只需开始编写代码!

当您收到编辑建议时,使用 Tab 键导航到它,然后再次使用 Tab 键接受它。忘掉手动搜索相关文件或引用吧。Copilot NES 将密切关注您的下一个相关编辑!

行号边栏中的箭头表示有可用的编辑建议。将鼠标悬停在箭头上,可以查看编辑建议菜单,其中包括键盘快捷键和设置配置。

NES gutter menu expanded

已经滚动过了该编辑建议?箭头会提示您下一个编辑建议的位置,根据您在文件中的位置向上或向下指向。

NES with arrow directions changing

建议可以涵盖单个符号、整行或多行,具体取决于潜在更改的范围。

注意

重新加载 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 InsidersGitHub 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