Copilot Next Edit Suggestions(预览版)
作者:Brigit Murtaugh,Burke Holland
排版:Alan Wang
我们很高兴向你介绍在本次 Visual Studio Code 发布中,关于 GitHub Copilot 的三个预览功能:
- Next Edit Suggestions(NES)
- Copilot Edits 的代理模式(Agent Mode)
- Vision
在这篇文章中,我们将深入探讨 Next Edit Suggestions,了解 AI 驱动的代码补全在编辑器中的最新发展。
Next Edit Suggestions(NES)
GitHub Copilot 的代码补全功能(也被称为“幽灵文本”)在自动补全方面表现出色。当它在无需明确请求的情况下,直接建议出你心中所想的代码时,那种感觉非常奇妙。然而,大多数编码活动不仅涉及编写新代码,还需编辑现有代码。因此,将补全功能扩展到现有代码的编辑是自然而然的下一步动作。
我们称之为 Next Edit Suggestions,简称 NES。是的,这个缩写也让我们想起了经典的游戏机。
Copilot NES video
开始使用 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
更改为 Point3D
,NES 会建议在类定义中添加 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)
从上周的 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 的最新动态?欢迎关注我们,第一时间了解最新功能。
祝编码愉快!
相关文章:
Copilot Next Edit Suggestions(预览版)
作者:Brigit Murtaugh,Burke Holland 排版:Alan Wang 我们很高兴向你介绍在本次 Visual Studio Code 发布中,关于 GitHub Copilot 的三个预览功能: Next Edit Suggestions(NES)Copilot Edits 的…...
LeetCode - 18 四数之和
题目来源 18. 四数之和 - 力扣(LeetCode) 题目描述 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一…...
汽车零部件开发应该具备哪些编程思维?
目录 1、功能安全思维 2、实时性与确定性思维 3、可靠性和冗余思维 4、硬件软件协同思维 5、CAN总线通信思维 6、故障诊断和自诊断思维 7、功耗优化思维 8、软件更新和版本管理思维 9、用户体验与安全性思维 汽车零部件开发中,嵌入式软件在车辆系统中的作用…...
在Windows系统中安装Open WebUI并连接Ollama
Open WebUI是一个开源的大语言模型(LLM)交互界面,支持本地部署与离线运行。通过它,用户可以在类似ChatGPT的网页界面中,直接操作本地运行的Ollama等大语言模型工具。 安装前的核心要求: Python 3.11&#…...
React 与 Vue 对比指南 - 上
React 与 Vue 对比指南 - 上 本文将展示如何在 React 和 Vue 中实现常见功能,从基础渲染到高级状态管理 Hello 分别使用 react 和 vue 写一个 Hello World! react export default () > {return <div>Hello World!</div>; }vue <…...
自动化办公|通过xlwings进行excel格式设置
1. 介绍 xlwings 是一个强大的 Python 库,可以用来操作 Excel,包括设置单元格格式、调整行高列宽、应用条件格式以及使用内置样式。本文将详细介绍如何使用 xlwings 进行 Excel 格式化操作,并附带代码示例。 2. 基础格式设置(字…...
c# -01新属性-模式匹配、弃元、析构元组和其他类型
文章目录 **学习摘抄分享**模式匹配概述Null 检查类型测试比较离散值关系模型多个输入ObServation列表模式弃元元组和对象析构利用switch的模式进行匹配对于out的方法调用独立弃元析构元组和其他类型元组方法一方法二方法三方法四使用弃元元组的元素使用弃元的用户定义类型解构…...
银河麒麟V10SP1下qt5-12-12编译环境配置
下面的脚本在兆芯版kylin上试过,如果是本地编译,arm版应该也没有问题 a. 如果执行脚本安装有问题,读者可以拷贝命令多次安装 b. 建议在虚拟机环境下进行 #!/bin/bashsudo apt updatesudo apt-get install g gcc make cmake gperf bison flex libdrm-dev libxcompos…...
轻松搭建本地大语言模型(一)Ollama安装与使用
Ollama 是一款开源的本地大语言模型运行框架,支持在 Windows、macOS 和 Linux 系统上运行,能够帮助用户轻松下载和使用各种大语言模型(例如deepseek、llama、qwen)。本文将详细介绍 Ollama 的安装步骤,帮助你快速搭建本…...
【深度学习】Transformer入门:通俗易懂的介绍
【深度学习】Transformer入门:通俗易懂的介绍 一、引言二、从前的“读句子”方式三、Transformer的“超级阅读能力”四、Transformer是怎么做到的?五、Transformer的“多视角”能力六、Transformer的“位置记忆”七、Transformer的“翻译流程”八、Trans…...
浅识Linux高阶用法
(前记:内容有点多,先看目录再挑着看。) 问题:在Java面试中,当被提问到Linux的高阶用法以及如何使用Linux将程序、数据库、中间件等部署在云上时,可以从以下几个方面进行回答: Li…...
I²C简介
前言 IC(Inter-Integrated Circuit, 内置集成电路)总线是由Philips公司(现属于恩智浦)在上世纪80年代开发的两线式串行通信总线,用于连接微控制器及其外围设备,控制设备之间的通信。 IC总线的物理拓扑示意…...
Linux定时静默执行桌面/前台程序
Linux服务器上的程序大都在后台默默的执行,但有些需要在前台或桌面上运行的程序该怎么办呢?这就要借助虚拟显示技术,也就是在后台运行时提供虚拟的显示,使前台运行的程序也能默默的在后台运行,这就是所谓的以“无头模式…...
Redux中间件redux-thunk和redux-saga的具体区别是什么?
Redux 中间件是增强 Redux 功能的重要工具,redux-thunk 和 redux-saga 是两个常用的中间件,它们在处理异步操作和副作用时提供了不同的方式和理念。以下是两者的具体区别: 1. 概念与设计理念 redux-thunk 简洁:redux-thunk 是一…...
【STM32】DRV8833驱动电机
1.电机如何转动 只需要给电机两个端子加一正一负的极性就会转起来了,但是要注意的是不要将电机两端直接接在5v和gnd之间,这种电机一般要提供几百毫安的电流,而GPIO口只能提供几毫安,所以我们使用一个DRV8833来驱动 DRV8833输入口…...
【go语言规范】 使用函数式选项 Functional Options 模式处理可选配置
如何处理可选配置? Config Struct 方式 (config-struct/main.go) 这是最简单的方式,使用一个配置结构体: 定义了一个简单的 Config 结构体,包含 Port 字段创建服务器时直接传入配置对象优点:简单直接缺点:…...
vue中为组建添加样式的方式
在 Vue 中,可以通过多种方式为 view 添加样式,并且支持动态绑定样式。以下是几种常见的方式: 1. 内联样式 直接在模板中使用 style 属性来添加样式。 <template><div style"color: red; font-size: 14px;">这是一个…...
如何简单的去使用jconsloe 查看线程 (多线程编程篇1)
目录 前言 1.进程和线程 进程 PCB 的作用 并发编程和并行编程 线程 为什么选择多线程编程 2.在IDEA中如何简单创建一个线程 1. 通过继承Thread类 2. 通过实现 Runnable 接口 3. 使用 Lambda 表达式 3.如何简单使用jconsloe去查看创建好的线程 前言 2025来了,这是第…...
机器学习·最近邻方法(k-NN)
前言 上一篇简单介绍了决策树,而本篇讲解与决策树相近的 最近邻方法k-NN。 机器学习决策树-CSDN博客 一、算法原理对比 特性决策树最近邻方法(k-NN)核心思想通过特征分割构建树结构,递归划分数据基于距离度量,用最近…...
网络安全试题
ciw网络安全试题 (1)(单选题)使网络服务器中充斥着大量要求回复的信息,消耗带宽,导致网络或系统停止正常服务,这属于什么攻击类型? A、拒绝服务 B、文件共享 C、BIND漏洞 D、远程过程调用 &a…...
沃丰科技大模型标杆案例 | 索尼大模型智能营销机器人建设实践
AI大模型发展日新月异,国内外主流大模型每月必会升级。海外AI大模型市场由美国主导, 各模型已形成“多强竞合”的局面。中国积极响应全球大模型技术的发展趋势,高校、研究院所等科研机构、互联网企业,人工智能企业均不同程度地投入…...
rust学习四、控制语句
rust的控制语句和大部分语言没有什么区别,都是熟悉的for,while,loop,if。 比较不同的是,在绝大部分非常流行的语言中都有的switch,rust是没有的。 诸如c/c,java,javascript,c#。连PL/SQL都有case when语句。 一、基本的for、while、if&…...
会员购交易系统架构演进
本期作者 1.背景 会员购是B站2017年推出的IP消费体验服务平台,在售商品以手办、漫画、JK制服等贴合平台生态的商品为主。随着业务发展,会员购从最开始的预售,现货拓展到全款预售,盲盒,众筹等多种售卖方式,销…...
在Linux系统下修改Docker的默认存储路径
在Linux系统下修改Docker的默认存储路径可以通过多种方法实现,下边是通过修改daemon.json文件方式实现 查看当前Docker存储路径 使用命令 docker info | grep "Docker Root Dir" 查看当前Docker的存储路径,默认为 /var/lib/docker 停止Docker…...
【人工智能】释放数据潜能:使用Featuretools进行自动化特征工程
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 特征工程是机器学习流程中至关重要的一步,它直接影响模型的性能。然而,手动特征工程既耗时又需要领域专业知识。Featuretools是一个强大的…...
shell脚本备份PostgreSQL数据库和库下表
注意: 以下为对PostgreSQL13.16版本数据库备份shell脚本参考请确认备份节点上psql和pgdump的版本不至于太低,建议>13.16该脚本目前是对于整库、(默认针对public这个schema,如果有其他schema,请自行添加一层循环&am…...
java面试笔记(一)
1. 一万个string类型的数据,设计一个算法如何按照String长度来排序 以使用 Arrays.sort() 方法,并结合一个自定义的比较器。以下是实现的示例代码: public class StringLengthSort {public static void main(String[] args) {// 定义一万个字符串的示例…...
网络分析仪E5071C的回波损耗测量
回波损耗(Return Loss)是评估射频/微波元件(如滤波器、天线、电缆等)信号反射特性的关键参数,反映端口阻抗匹配性能。E5071C矢量网络分析仪(VNA)通过以下步骤实现高精度回波损耗测量:…...
sql注入中,如果information_schema被过滤,该怎么绕过
目录 一、sys.schema_auto_increment_columns 1.功能 2.利用思路 二、sys.schema_table_statistics_with_buffer 1.功能 2.利用思路 三、mysql.innodb_table_stats和mysql.innodb_index_stats 1.mysql.innodb_table_stats 1.1功能 2.mysql.innodb_index_stats 2.1功…...
若依Flowable工作流版本监听器使用方法
1.前言 本文详细介绍如何在若依Flowable工作流版本(RuoYi-Vue-Flowable)中配置执行监听器和任务监听器。是以我二次开发的代码为基础,介绍如何配置监听器,已解决源码在新增或删除监听器出现的问题,如果需要二次开发的…...
Linux(Centos 7.6)命令详解:cat
1.命令作用 将文件或标准输入连接到标准输出(Concatenate FILE(s), or standard input, to standard output), 即将文件内容输出到屏幕上,或者将多个文件合并成一个文件。 2.命令语法 Usage: cat [OPTION]... [FILE]... 3.参数详解 OPTION: -A, -…...
使用DeepSeek+本地知识库,尝试从0到1搭建高度定制化工作流(自动化篇)
7.5. 配图生成 目的:由于小红书发布文章要求图文格式,因此在生成文案的基础上,我们还需要生成图文搭配文案进行发布。 原实现思路: 起初我打算使用deepseek的文生图模型Janus进行本地部署生成,参考博客:De…...
罗德与施瓦茨ZNB20,矢量网络分析仪9KHz-20GHz
罗德与施瓦茨ZNB20矢量网络分析仪9KHz-20GHz R&SZNB20矢量网络分析仪 产品型号: ZNB20 产品品牌:罗德与施瓦茨 R&S 产品名称: 矢量网络分析仪 频率范围:9kHz - 20GHz R&S ZNB 矢量网络分析仪 良好的测量速度、动态范围和操作方便性&am…...
Linux 固定 IP 地址和网关
Linux 固定 IP 地址和网关 查看 IP ifconfig ifconfig eth0 ip addr ip addr show eth0 查看网关 ip route show route -n netstat -rn 设置固定 IP // 配置静态IP文件/etc/network/interfaces $ vi /etc/network/interfacesauto eth0 iface eth0 inet static addre…...
C++ ——const关键字
const关键字通常表示只读,不可修改,可以保证数据的安全性 1、修饰局部变量 const修饰的局部变量,叫做常局部变量,表示该局部变量不可被修改,这种用法常用于引用参数 2、修饰成员变量 const修饰的成员变量…...
MySQL:MySQL8.0 JSON类型使用整理,基于用户画像的案例
摘要:MySQL,JSON类型,多值索引, 用户画像 MySQL是结构化数据存储,JSON是非结构化格式,在MySQL中使用JSON类型可以打通关系型和非关系型数据的存储之间的界限,为业务提供更好的架构选择ÿ…...
Python MoviePy 视频处理全攻略:从入门到实战案例
第1章 环境安装与配置 # 案例1:安装MoviePy及FFmpeg !pip install moviepy # Windows安装FFmpeg:https://ffmpeg.org/download.html # Linux: sudo apt-get install ffmpeg# 验证安装 from moviepy.editor import * print("MoviePy版本:", __…...
30道Qt面试题(答案公布)
前五个答案 ✦ 1. Qt中常用的五大模块是哪些? Qt中常用的五大模块包括: • Qt Core:提供核心非GUI功能,如数据结构、文件操作、国际化等。 • Qt GUI:提供与平台无关的图形和基本窗口功能。 • Qt Widgets:提供用于创建传统桌面应用程序的UI组件。 • Qt Netw…...
深入解析 MySQL 数据删除操作:DELETE、TRUNCATE 与 DROP 的原理与选择
引言 在 MySQL 中,删除数据或表结构的操作看似简单,但不同操作(如 DELETE、TRUNCATE、DROP)背后的原理和适用场景差异巨大。错误选择可能导致性能问题或数据丢失!本文通过通俗的比喻、流程图和表格,带你深入理解它们的原理与差异。 DELETE 操作的原理 DELETE … IN 执…...
spring cloud gateway限流常见算法
目录 一、网关限流 1、限流的作用 1. 保护后端服务 2. 保证服务质量 (QoS) 3. 避免滥用和恶意攻击 4. 减少资源浪费 5. 提高系统可扩展性和稳定性 6. 控制不同用户的访问频率 7. 提升用户体验 8. 避免API滥用和负载过高 9. 监控与分析 10. 避免系统崩溃 2、网关限…...
华为FusionCompute虚拟化平台
一、华为FusionCompute虚拟化套件介绍 华为FusionCompute虚拟化套件是业界领先的虚拟化解决方案,能够帮助客户带来如下的价值,从而大幅提升数据中心基础设施的效率。 帮助客户提升数据中心基础设施的资源利用率;帮助客户成倍缩短业务上线周期…...
自然语言处理入门1——单词的表示和距离
随着DeepSeek的火爆,AI大模型越来越被大众所接受,我们在日常生活和工作学习中也开始越来越频繁的使用豆包、通义千问、Kimi、DeepSeek、文心一言等大模型工具了。这些大模型底层技术都是Transformer模型,属于自然语言处理范畴。 今天开始&am…...
UART(一)——UART基础
一、定义 UART(Universal Asynchronous Receiver/Transmitter)是一种广泛使用的串行通信协议,用于在设备间通过异步方式传输数据。它无需共享时钟信号,而是依赖双方预先约定的参数(如波特率)完成通信。 功能和特点 基本的 UART 系统只需三个信号即可提供稳健的中速全双工…...
【数据结构初阶第十节】队列(详解+附源码)
好久不见。。。别不开心了,听听喜欢的歌吧 必须有为成功付出代价的决心,然后想办法付出这个代价。云边有个稻草人-CSDN博客 目录 一、概念和结构 二、队列的实现 Queue.h Queue.c test.c Relaxing Time! ————————————《有没…...
确保设备始终处于最佳运行状态,延长设备的使用寿命,保障系统的稳定运行的智慧地产开源了
智慧地产视觉监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。通过计算机视觉和…...
SP字体UI放大代码
代码: echo off set QT_SCALE_FACTOR放大倍数 start "" "你的SP.exe启动路径"...
信息安全之网络安全防护
信息安全之网络安全防护 先来看看计算机网络通信面临的威胁: 截获——从网络上窃听他人的通信内容中断——有意中断他人在网络上的通信篡改——故意篡改网络上传送的报文伪造——伪造信息在网络上传送 截获信息的攻击称为被动攻击,而更改信息和拒绝用…...
idea无法联网,离线安装插件
插件地址:https://plugins.jetbrains.com/ JetBrains Marketplace 如果无法进入,可以试试 配置hosts 3.163.125.103 plugins.jetbrains.com ip 变了,可以查询个最新的: https://tool.chinaz.com/speedtest/plugins.jetbrai…...
数据结构——哈希表
一、哈希表 1.1 哈希表的概念 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函…...
学习查看 linux 关于进程的文件信息 cat /proc/968/status
(1) 在 Linux 系统中,/proc 文件系统是一个伪文件系统,提供了一个接口来访问内核数据结构。/proc/[pid]/status 文件包含了关于特定进程的状态信息。当你运行 cat /proc/968/status 时,它会输出与进程 ID 为 968 的进程…...