本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

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

2025年2月12日 由 布里吉特·墨塔戈伯克·霍兰德

我们很高兴地宣布,在这次Visual Studio Code的发布中,GitHub Copilot有三个预览版本:

  1. 下一条编辑建议
  2. 代理模式 用于Copilot编辑
  3. 愿景

在这篇文章中,我们将深入探讨Next Edit Suggestions,并查看AI驱动的代码补全在你的编辑器中的下一次进化。

下一次编辑建议 (NES)

GitHub Copilot代码补全 - 也被称为幽灵文本 - 在自动补全方面非常出色。与GitHub Copilot合作时,最令人惊叹的感觉之一是它在你还没有要求的情况下就建议了你脑海中代码。但大多数编码活动涉及编辑现有代码,而不是编写新代码。完成现有代码是补全的自然下一步。

我们把这个叫做下一次编辑建议,或简称NES。没错 - 当我们看到这个缩写时,我们也感到对游戏机的怀旧之情。

开始使用 NES

要开始使用 Copilot NES,首先启用 VS Code 设置

github.copilot.nextEditSuggestions.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

就像完成一样,要开始从 NES 获取建议,你只需要开始编码!

当你收到一个编辑建议时,使用Tab键导航到该建议,然后再次使用Tab键接受它。无需手动搜索相关文件或参考文献。Copilot NES将跟踪你接下来的相关编辑!

在 gutter 中的箭头表示有可用的编辑建议。将鼠标悬停在箭头上以探索编辑建议菜单,其中包括键盘快捷键和设置配置:

NES 排版菜单展开

滚动到那个编辑建议的下面?箭头会提示你下一个编辑建议的位置,根据你在文件中的位置,箭头会向上或向下指:

NES 与箭头方向更改

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

注意

重新加载 VS Code 以使您的更新设置生效。

如果您是 Copilot 商业或企业用户,您的组织管理员必须选择启用 Copilot "Editor Preview Features",此外您还需要设置

github.copilot.nextEditSuggestions.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
在你的编辑器中。

您可以了解更多关于在您的组织中管理Copilot策略的信息。

示例场景

Copilot NES 是你的 AI 伴侣,当你对文件或项目进行更改时,它可以在各种情况下闪耀。

捕捉和更正错误:错误是编写代码的自然部分,而 Copilot NES 会帮助你捕捉它们(有时甚至在你意识到错误之前)。

NES 可以帮助处理小错误,比如拼写错误 - 也许你当时编码很快,进入了状态,你写下了输入:conts而不是常量输入:

NES 也可以帮助解决更具挑战性的逻辑错误,例如倒置的三元表达式:

我们的开发团队一直在自持 NES,并且我们的一位工程师在编写这个博客时,记得他的第一次“啊哈!”时刻与 NES 相关。他正在编写一个条件,类似于if (something !== 'a' || something !== 'b')NES 捕捉到这个语句总是评估为真(感谢德摩根定律!)并建议替换输入:||&&使代码有效:

更改意图: Copilot NES 建议的更改符合意图的更改。例如,更改类从 点3D导致一个建议来添加一个输入的文本为空,没有可翻译的内容。将变量添加到类定义和距离计算:

使用新增加的变量或逻辑: 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 编辑现在有一个代理模式选项。

在Copilot Edits中,Agent模式能够对自己的代码进行迭代——识别错误并自动修复,执行完成所请求任务所需的任何终端命令,并具有自我修复的运行时错误处理能力。GitHub Copilot不再仅仅执行用户请求的任务,现在可以推断出所有未指定但需要完成的其他任务,以便主要请求能够正常工作。

我们看到了 GitHub Copilot 代理模式的巨大潜力。它每天都在变得更好,但我们想尽快把它交到你手中。在未来几周内,我们将继续优化体验,并在此空间公布重大变化和改进,请分享你的反馈,并在试用过程中提供意见(今天在 VS Code Insiders 中可用,不久后在 VS Code 稳定版中可用)。

您可以在我们的文档中了解更多关于代理模式的信息。

愿景

此版本的 VS Code Insiders 还为 GitHub Copilot 带来了 Vision 支持。

反复将所看到的内容翻译成对 Copilot 的描述可能会令人感到沮丧。特别是在处理用户界面或询问如何在编辑器中配置某些内容时,更是如此。现在,您可以将屏幕截图附加到提示中,这样 Copilot 就能看到您所看到的内容。您可以...

  • 从剪贴板粘贴
  • 从资源管理器视图中拖放图像
  • 附加当前 VS Code Windows的截图(选择附加 > 截图Windows)

这使得各种场景成为可能……

  • 将模型交给Copilot,以便它可以生成用户界面代码。
  • 提供一个不正确的界面截图,以便 Copilot 帮助你修复布局。
  • 为HTML和Markdown中的图像生成替代文本
  • 提供错误的截图

Vision 今天在 VS Code Insiders 中可用,对所有人开放。目前唯一支持的模型是 GPT 4o,其他模型的支持正在筹备中。目前支持的图像类型有 JPEG/JPG、PNG、GIF 和 WEBP。

新年,新的Copilot

我们对Copilot作为一个人工智能配对程序员有宏大的计划,它不仅对每个人免费提供,而且不断推动人工智能的界限,以彻底加速你的生产力和幸福。

我们从未停止改进VS Code本身,所以请查看我们的最新发布说明,了解所有全新的功能。我们坚决确保您拥有最佳版本的代码编辑器和最佳的人工智能伴侣编程工具。

我们知道在AI领域事情进展迅速,所以请确保关注我们 X/Bluesky/LinkedIn,我们会让你轻松掌握所有最新的Copilot功能。

编码愉快!

布里吉特和伯克