Copilot Next Edit Suggestions(预览版)

devtools/2025/2/22 20:20:26/

作者:Brigit Murtaugh,Burke Holland
排版:Alan Wang

我们很高兴向你介绍在本次 Visual Studio Code 发布中,关于 GitHub Copilot 的三个预览功能:

  1. Next Edit Suggestions(NES
  2. Copilot Edits 的代理模式(Agent Mode)
  3. Vision

在这篇文章中,我们将深入探讨 Next Edit Suggestions,了解 AI 驱动的代码补全在编辑器中的最新发展。

NES_13">Next Edit Suggestions(NES

GitHub Copilot 的代码补全功能(也被称为“幽灵文本”)在自动补全方面表现出色。当它在无需明确请求的情况下,直接建议出你心中所想的代码时,那种感觉非常奇妙。然而,大多数编码活动不仅涉及编写新代码,还需编辑现有代码。因此,将补全功能扩展到现有代码的编辑是自然而然的下一步动作。

我们称之为 Next Edit Suggestions,简称 NES。是的,这个缩写也让我们想起了经典的游戏机。

Copilot NES video

NES_19">开始使用 NES

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

与代码补全类似,开始获取 NES 的建议,你只需开始编码即可!

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

代码行旁的箭头表示有可用的编辑建议。将鼠标悬停在箭头上,可以查看编辑建议菜单,其中包含键盘快捷键和设置配置:
在这里插入图片描述
如果你已经滚动过了该编辑建议,箭头会提示你下一个编辑建议的位置,在当前文件位置点击向上或向下即可:

开始使用 NES

建议的范围可以是单个符号、整行代码,甚至是多行代码,具体取决于潜在更改的范围。

注意
更新设置后,请重新加载 VS Code 以使其生效。 如果你是 Copilot Business 或 Enterprise 用户,除了在编辑器中设置 github.copilot.nextEditSuggestions.enabled 外,你所在组织的管理员还必须选择加入使用 Copilot 的“编辑器预览功能”。 你可以了解更多关于在组织中管理 Copilot 策略的信息。

示例场景

Copilot NES 是你在进行可能影响整个文件或项目的更改时的 AI 伙伴,以下是一些它表现出色的场景示例。

捕捉和纠正错误:错误是编写代码中的常见现象,Copilot NES 可以帮助捕捉它们(有时甚至在你意识到错误存在之前!)。

NES 可以帮助我们纠正小错误,如拼写错误——比如你在快速编码时,将 const 写成了 conts

NES fixing a typo

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

NES fix logic mistake

我们的开发团队一直在内部使用 NES,其中一位工程师在撰写这篇博客时回忆起他第一次使用 NES 的“顿悟”时刻。他写了一个类似 if (something !== 'a' || something !== 'b') 的条件语句。NES 发现该语句总是返回 true(感谢德摩根定律!),并建议将 || 替换为 && 以使代码有效:

NES fixi if statement mistake

更改意图:Copilot NES 会根据意图的变化提出相应的更改建议。例如,将类从 Point 更改为 Point3DNES 会建议在类定义中添加 z 变量,并更新距离计算:

NES updating Point to Point3D

使用新添加的变量或逻辑:Copilot NES 帮助你使用刚添加的新代码。这可能是一个小的更改,例如在方法中调用新的参数。

也可能是更复杂的情况:如果你在 VS Code 扩展的 extension.ts 中添加了新命令,NES 会首先建议在 extension.ts 中清理该命令。然后,当你打开 package.json 时,NES 会建议注册该命令:

NES updat extension project

重构:如果你使用了新的名称或命名模式,Copilot NES 会建议相应地更新后续代码:

Copilot NES 会建议相应地更新后续代码

阅读我们的完整 NES 文档,了解更多信息和场景,我们将不断扩展 NES 的体验。

分享你的反馈

Copilot NES 正在快速发展,我们期待你通过在我们的仓库中提交 issue 来提供反馈——这对改进体验至关重要。

请确保使用 VS Code Insiders 和 GitHub Copilot Chat 扩展的预发布版本,以获取所有最新功能和修复。了解如何安装扩展的预发布版本的更多详细信息。

你可以阅读我们的完整 NES 文档,了解更多信息和场景,我们将不断扩展 NES 的体验。

我们对 Copilot 在 AI 领域可预见的下一步发展感到非常兴奋——最好的提示是无需编写提示。我们希望你同样感到兴奋,期待看到你构建的内容!

Agent_Mode_80">代理模式(Agent Mode)

从上周的 VS Code Insiders 版本开始,GitHub Copilot Edits 现在有了代理模式选项。

Copilot Edits 的代理模式能够对其自身的代码进行迭代——识别错误并自动修复它们,执行完成请求任务所需的任何终端命令,以及通过自我修复功能解决运行时错误。GitHub Copilot 现在不仅可以执行用户请求的任务,还可以推断所有未明确指定但需要完成的其他任务。

Copilot agent mode video

我们认为 GitHub Copilot 的代理模式(Agent Mode)有着巨大的潜力。它每天都在变得更好,但我们希望尽快让你体验它。在接下来的几周内,我们将不断优化用户体验,带来重大改进。请持续关注,并在尝试时分享你的反馈(今天可在 VS Code Insiders 中使用,未来也将支持 VS Code Stable)。

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

Vision

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

在与 Copilot 交互时,不断重复将所见内容转换为描述可能会令人沮丧,尤其是在处理用户界面或询问如何配置编辑器时。现在,你可以直接附加截图,让 Copilot 看到你所看到的内容。

你可以通过以下方式提供图片:

  • 从剪贴板粘贴
  • 从 Explorer 视图中拖放图片
  • 附加当前 VS Code 窗口的截图(选择 Attach > Screenshot Window)

这项功能解锁了许多新场景,例如:

  • 提供 UI 设计稿,让 Copilot 生成 UI 代码
  • 提供界面截图,让 Copilot 帮助修复布局问题
  • 在 HTML 或 Markdown 中为图片生成替代文本
  • 提供错误截图,方便 Copilot 诊断问题

Vision 目前已在 VS Code Insiders 中可用,并对所有用户开放。目前仅支持 GPT-4o 模型,未来将添加对其他模型的支持。目前支持的图片格式包括 JPEG/JPG、PNG、GIF 和 WEBP。

新的一年,新的 Copilot

我们对 Copilot 作为 AI 编程助手的未来充满期待。我们的目标不仅是让它免费开放给所有人,还要不断突破 AI 的极限,极大地提升你的生产力和幸福感。

我们也在持续改进 VS Code,欢迎查看我们的最新发布说明了解所有新功能。我们致力于确保你拥有最好的代码编辑器和最智能的 AI 编程助手。

AI 领域发展迅速,想要随时掌握 Copilot 的最新动态?欢迎关注我们,第一时间了解最新功能。

祝编码愉快!


http://www.ppmy.cn/devtools/160627.html

相关文章

爬虫获取数据后的清洗与校验:完整指南

在使用爬虫获取数据后,数据清洗和校验是确保数据质量的关键步骤。以下是详细的清洗和校验方法,帮助你提升数据的准确性和可靠性。 一、数据清洗 (一)去除重复数据 爬取的数据中可能包含重复的记录,需要进行去重处理…

Linux系统编程之高级信号处理

概述 在前一篇文章中,我们介绍了signal函数、sigaction函数等基本的信号处理方法。在本篇中,我们将介绍信号处理的一些高级用法,包括:阻塞与解除阻塞、定时器等。 阻塞与解除阻塞 有时候,我们不希望某个信号立即被处理…

1688代采下单API接口使用指南:实现商品采集与自动化下单

在电商领域,1688平台作为阿里巴巴旗下的批发采购平台,为众多商家提供了丰富的货源选择。为了提升采购效率,许多商家选择通过API接口实现商品采集与自动化下单。本文将详细介绍如何使用1688代采下单API接口,帮助开发者快速上手并实…

pytorch cnn 实现猫狗分类

文章目录 [toc] 1. 导入必要的库2. 定义数据集类3. 数据预处理和加载4. 定义 CNN 模型5. 定义损失函数和优化器6. 训练模型7. 保存模型8. 使用模型进行预测9 完整代码10. 总结 1. 导入必要的库 import torch import torch.nn as nn import torch.optim as optim from torch.ut…

《养生》(二)

一、基础生活调整 1‌.作息规律‌ 固定每天7-8小时睡眠,尽量22:30前入睡,晨起后拉开窗帘晒太阳5分钟,调节生物钟‌ ‌2.饮食优化‌ 三餐定时,每餐细嚼慢咽20次以上,优先吃蔬菜和蛋白质(如鸡蛋、豆腐&#x…

使用DeepSeek+本地知识库,尝试从0到1搭建高度定制化工作流(数据分析篇)

7.3. 数据监控与生成本地知识库 目的:监控新生成的小红书文案,记录每一次生成的小红书文案风格。后续根据输入topic,检索与某一topic有关的文案,可以根据先前的文案风格,生成类似风格的文案。实现思路: 1.…

【Mpx】-环境搭建项目创建(一)

一.概述 官方文档:https://mpxjs.cn/guide/basic/start.html mpxjs/cli文档: https://github.com/mpx-ecology/mpx-cli 二.脚手架安装&创建项目 2.1项目创建 //脚手架安装 npm i -g mpxjs/cli //创建Mpx项目 mpx create mpx-demo(项目名称) //安装依赖 np…

如何清理cache-loader生成的缓存目录?

清理 cache-loader 生成的缓存目录可以帮助避免潜在的缓存问题和不必要的磁盘占用。以下是几种清理缓存的有效方法: 一、手动清理 1. 定位缓存目录 在 Webpack 配置中,你可以指定 cache-loader 的缓存目录。默认情况下,缓存目录可能位于项…