用自然语言进行编程的时代真的要来了

2023-11-05

用自然语言进行编程的时代真的要来了——

GitHub CEO托马斯·多姆克在官方博客上宣布:

代码辅助工具Copilot进行重大升级,接入GPT-4,更名Copilot X

图片

因此,原来只能帮你补全代码的它,现在通过打字聊聊天甚至语音就能:

  • 直接写代码
  • 解释一段你看不懂的代码
  • 理解报错信息、修改bug
  • 甚至是进行单元测试……

多姆克表示:

有了GPT-4加持的Copilot X,将让AI能力存在于代码生命周期的每一步,从根本上影响开发人员的体验。

这究竟是程序员的福音还是噩梦?

我们很快就能知道了(狗头)

——新功能将很快上线,现在已经可以开始排队申请。

图片

以及不得不说,巨头之间的竞争真是分秒必争:

昨天谷歌前脚才宣布开启Bard公测,今儿微软就立马又放一招。

尤其后者,简直是高产似xx啊。

解读代码找bug写测试,样样通

先来跟着多姆克的介绍,一起对新功能先睹为快。

接入GPT-4之后,Copilot机器人将被安排在IDE界面的左边

如果你刚好接手了一个新项目,里面有看不懂的代码(比如下图中的一段正则表达式),直接选中它,然后去左边对Copilot说“解释一下选中代码”就ok了。

图片

尤其利好那种陈年老项目,尤其是连开发文档都没有了的时候。

图片

找Bug并修复也成为Copilot的拿手项。

照例,选中被报错的代码,输入命令“帮我debug下这段”,它就开始工作了。

先是1234列出你哪里写的不对,然后直接上手把正确写法也给你摆出来了。

修改也不用你再麻烦了,只需轻点一下右上角最右边的那个按钮,直接就帮你替换好。

图片

程序员看了是不是爆哭:以后再也不会为了一个小符号搭上一天的时间了?

接下来,代码完成后,检验一下质量吧?

呐,Copilot可以迅速帮你搞定一段单元测试:

图片

这还没完,既然Copilot可以聊天还无所不知,编程过程中有什么知识性的问题也可以直接问它,比如:

Python中的变量可见性是什么意思?

图片

再也不用切换到浏览器去问搜索引擎了。

总而言之一句话:程序员们在工作中有任何问题,Copilot都随时恭候。

更厉害的是,除了文字,新Copilot可以进行语音交互。

你只需说一句**“Hey,GitHub”就能开启用嘴编程**。

其背后,召唤的还是基于GPT-4的Copilot机器人。。

另外,多姆克也提到,原本的Codex模式也没有丢弃。

当你正在编辑器中输入代码时,希望每次击键都能得到非常快速的响应,系统还是用规模更小的Codex帮你补全代码,因为此时你需要的是速度;聊天的时候需要准确性,调用的就是GPT-4了。

可谓是速度和质量两手抓。

还有三大更新

GPT-4带来的革新还不止于此,还有这三大新功能。

首先是Copilot for Pull Requests

每当你完成一段代码修改要提交到分支上去的时候,GPT-4可以自动读取你的改动内容,生成描述。

如果写的不准确,可以修改。

非常利好那种每次提交就只愿写“修复了一个bug”的“懒蛋”程序员,你再也不会被同事和领导提醒和数落了~

此外,官方还在考虑在这里酝酿这样一个新功能:如果发现你Pull Request时还没有完成足够的测试,它会警告你,并且协助你完成。

其次是Copilot for Docs

这也是一个实验性的功能。当你在学习一个新的框架或者编程语言,不知道怎么使用某个函数或API,不用再去官方文档查阅了。

直接用聊天的方式让GPT-4去帮你查,效率直接飞升~

目前,已经安排的有React、Azure Docs和MDN这三。后续官方还考虑加入一些第三方文档,比如公司内部的,或者某人自己写的公共的。

最后是Copilot for CLI

终端/命令行是程序员们每天打交道最多的地方之一。

那么多命令相信很多人都记不住,此功能就是专门用来帮你解决这个问题的。你只需敲个开头,它就能给出联想,省得你自己再去查了。

图片

看完这些,是不是坐不住了?是不是已经迫不及待想上手试试了?

如开头所说,功能虽然还没正式推出,但已经可以去预约试用资格了(提醒:每一项功能都需要单独排队)。

届时,这些功能将率先在Visual Studio和Visual Studio Code中提供,再逐步扩大到其它IDE中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用自然语言进行编程的时代真的要来了 的相关文章

  • PicList 文件上传+云存储管理工具

    前言 PicGo是一个非常好的图片上传工具 对于写博客的人来说十分实用 但我在使用的时候 发现了一些痛点 比如图片上传后 无法在相册内云同步删除 这样需要更换图片的时候就比较麻烦 另外PicGo不能获取使用软件前上传的图片列表 也不太方便
  • intelliJ IDEA 2019 JDK配置错误导致:java.lang.NoClassDefFoundError

    项目场景 首次构建Maven 项目 出现Build错误 问题描述 intelliJ IDEA 2019 运行错误 java lang NoClassDefFoundError Error Internal error java lang N
  • element-ui中文官方文档入口

    点击下面链接 element ui点我跳转中文文档链接
  • 聊聊项目测试时间不足怎么办

    这是鼎叔的第十九篇原创文章 行业大牛和刚毕业的小白 都可以进来聊聊 欢迎关注本人专栏和微信公众号 敏捷测试转型 大量原创思考文章陆续推出 4月23日周日 鼎叔返场再次参与小道消息播客 和主持人老徐和兔子继续畅谈 本文是返场直播的第一部分 重
  • Scrum敏捷开发:适应变化的核心能力

    在当今高度变化的时代 软件开发的环境和要求也在不断变化 传统的开发方法往往难以适应这种快速变化 因此 一种新的软件开发方法 敏捷开发逐渐得到了广泛的关注和应用 本文将介绍敏捷开发的概念 优势 实践经验 敏捷开发工具以及注意事项 帮助您更好地
  • WSL 2 环境配置

    WSL 2 环境配置 wsl2是windows内置的linux子系统 安装步骤如下 Win10 版本号为 2004 内部版本19041或更高 即可 如果低于此版本可使用 Windows 10 易升工具手动升级 下载 Windows 10 易
  • 计算机视觉中自注意力构建块的PyTorch实现

    作者 AI Summer 编译 ronghuaiyang 导读 一个非常好用的git仓库 封装了非常全面的计算机视觉中的自注意力构建块 直接调用 无需重复造轮子了 git仓库地址 https github com The AI Summer
  • 什么是Scrum?如何实施Scrum(敏捷开发)以及敏捷工具

    什么是Scrum Scrum是一个敏捷开发框架 它是一个增量的 迭代的开发过程 它被广泛应用于敏捷软件开发 在Scrum中 开发过程由若干个短的迭代周期组成 每个迭代周期称为一个Sprint 那么Scrum如何实施呢 Scrum实施过程可分
  • 假如我是超级卷王。。。

    我最喜欢我的发型 因为它天生自然卷 而且是内卷 公司在十八层 为了能坐上电梯 我每次走到三层去等往下的电梯 先坐到1楼再上去 为了能带薪拉屎 我每次提前半个小时占坑 一边等shi意一边刷抖音 外面兄弟急的满头大汗 我静静享受这片刻悠闲 我的
  • 什么是 Scrum 工件?

    What is Scrum Artifacts 随着我们的技术系统和项目在规模和复杂性方面不断发展 Scrum 会议和敏捷方法已成为许多公司开发过程中不可或缺的一部分 Scrum 会议是团队成员协作的好方法 可确保队列中的所有项目和任务都得
  • 小程序开发总结日记(一)——云开发数据库查询、加载、更新(不使用云函数)

    项目背景 个人开发者出于节约成本的目的 可能会选择小程序的云开发功能 从而节省服务器购买的费用 也省去了服务器搭建 配置 维护等开发成本 使用小程序云开发功能最基础的版本是19 9 月 数据库调用配额是20万次 月 云函数配额是2GB 月
  • 敏捷子弹(摘自《代码之道》第二章)

    最近面试了几家公司 感觉大家对采纳Scrum流程还是挺感兴趣的 5年前 我翻译了 代码之道 这本书 其中 第二章有一篇文章谈到了敏捷方法 文章的后半部分还对Scrum做了重点介绍 作者原是微软员工 他的一些观点和建议难免会结合微软公司的实践
  • 去银行写代码是什么体验?

    最近在知乎上的一个回答火了 关于如何学习操作系统的 分享给大家 如何学会操作系统这门课程 一线互联网岗位和银行 国企还是有点区别的 这篇文章 讲详细讲一讲银行或者金融科技的相关问题 包括面试 待遇等等 虽然前阵子网传几大互联网公司都去掉了大
  • Smart Tools 网站的架构之美

    本文将简要介绍Smart Tools工具箱网站的架构设计 带领大家一起领略架构之美 Smart Tools是一款实用的在线工具箱网站 地址 https smart tools cn 总体架构 Smart Tools工具箱网站是采用前后端分离
  • 每日站会是在浪费时间...吗?

    原文链接作者 Mark Levison 又要开站会 实在是浪费时间 打断我的工作啦 每日站会只是为ScrumMaster刷存在感而设计的 便于他微观管理 每日站会上就是汇报一下状态 而我写个邮件就行了啊 你以前听说过这些抱怨吗 我听过 不过
  • 评论送书:一本书讲透Java线程:原理与实践

    摘要 互联网的每一个角落 无论是大型电商平台的秒杀活动 社交平台的实时消息推送 还是在线视频平台的流量洪峰 背后都离不开多线程技术的支持 在数字化转型的过程中 高并发 高性能是衡量系统性能的核心指标 越来越多的公司对从业人员的多线程编程能力
  • Scrum - 您何时估计产品待办事项的工作量? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 您的团队在 Scrum 流程的哪一部分对完成给定产品积压项目所需的工作量进行了有根据的估计 例如 假设您有一个产品待办事项列表项 内容为 Sprint
  • 您如何实施 SCRUM 来单独工作? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在一个大型开源项目的开始阶段独自工作 希望利用 Scrum 的一些核心思想 方法来帮助管理我的时间 并继续专注于开发和部署早期的 可演示
  • 如何融合CMMI和Scrum? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我在一家获得 CMMI 5 级认证的商店工作 该认证很重要 因为它使我们能够接触到某些客户和合同 我正在研究如何将 Scrum 与 CMMI 结合起来
  • 敏捷环境中的需求、规格和管理[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我的公司尝试采用 Scrum 方法 但取得了不同程度的成功 这些是我们遇到问题的一些领域 你如何处理这些 跟踪要求来自 产品营销贯穿于产品 我们

随机推荐

  • pppoe流程

    转载自http blog sina com cn s blog 4db83b6f01000apg html PPPoE的数据报文是被封装在以太网帧的数据域内的 以太网帧头包括 目的MAC地址 该阶段为ffffffffffff的广播地址 源M
  • LeetCode刷题总结 - 面试经典 150 题 -持续更新

    LeetCode刷题总结 面试经典 150 题 持续更新 其他系列 数组 字符串 88 合并两个有序数组 27 移除元素 26 删除有序数组中的重复项 80 删除有序数组中的重复项 II 169 多数元素 189 轮转数组 121 买卖股票
  • 计算机系统盘没用的东西怎么删除,怎么删除c盘没用的文件 方法有哪些【图文】...

    近几年我国的发展可是非常的迅速 现在的电脑已经不是稀罕的东西了 台式电脑和 笔记本电脑 很多家庭都有 使用电脑我们大家都知道 电脑是一个大工程 我们的每一步操作都会在电脑上留下痕迹 尤其是我们浏览一些网页或者下载一些视频 这些垃圾就会积存在
  • 正射影像、倾斜摄影测量相关软件汇总

    从事倾斜摄影测量相关工作的同事经常会用到一些三维建模软件 使用过程中会发现不同软件的优劣势也有一定的区别 以下列举的软件排名不分先后 大家可以根据自己的工作和学习要求进行选择 1 Pix4D Mapper Pix4Dmapper是一款专门用
  • js数组队列,算法

    后面添加 let arr1 1 2 3 4 5 6 7 8 arr1 push 9 console log arr1 前面添加 arr1 unshift 0 console log arr1 前面删除 arr1 shift console
  • vscode jupyter找不到系统默认的python解释器

    今天zaivscode上使用jupyter时 select kernel发现找不到我系统的默认python解释器了 只有两个conda环境 我的系统默认的是Anaconda 而且之前已经在vscode里配置过了 今天就发现在vscode里怎
  • Windows与Linux动态库的两种加载方式

    Windows上的动态库 dll 加载方式有两种 1 静态加载 运用 pargma comment lib xxx lib 方式 这种方式需要 头文件 lib文件和dll文件配合使用 运行时是直接将动态库加载到内存中的 运用起来也比较方便
  • linux下面用C语言设计实现一个计算器

    我们对于计算器的功能已经非常熟悉了 这个计算器包括 二进制 八进制 十进制 十六进制 四种格式 格式之间可以相互切换 能够实现的的运算有 加减乘除 最基本的功能 还有比如 tan sin cos Exp x y x 3 x 2 n log
  • Java 中String类型变量的使用

    博主前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住也分享一下给大家 点击跳转到网站 理解 String属于引用数据类型 翻译为 字符串 声明String类型变量时 使用一对 String可以和八种基本数据类型变量做运算
  • UDP协议全面实验分析详解

    Thank For LYJ 目录 一 实验目的 二 实验环境 三 实验原理 四 实验内容 练习1 编辑并发送UDP数据报 练习2 UDP单播通信 练习3 UDP广播通信 五 实验结果 练习1 练习2 练习3 六 思考题 1 UDP协议的 校
  • Azure虚拟网络基础

    文章目录 Azure虚拟网络基础 什么是 Azure 虚拟网络 为何要使用 Azure 虚拟网络 如何创建虚拟网络 登录 Azure 创建虚拟网络 连接到VM并测试是否能够ping通 Azure虚拟网络基础 什么是 Azure 虚拟网络 A
  • Flutter 列表踩坑2

    今天遇到一个列表item 的model 更新了以后 但是list 的model没更新的问题 问题解决了 来发下心得 最后找到原因 原来是页面刷新了 以后得注意以下问题 1 我已经使用了PageControler 但是 pageControl
  • 腾讯云域名解析DNS免费版线路、DNS节点及TTL值说明

    腾讯云域名提供免费版DNS解析和付费版DNS解析 腾讯云百科来详细说下DNS解析DNSPod免费版解析配置说明 包括解析线路 DNS节点分布 域名防护 最低TTL等配置参数 腾讯云域名DNS解析DNSPod免费版 腾讯云域名可以免费试用DN
  • 《ANSYS FLUENT 16.0超级学习手册》——第2章 FLUENT软件介绍2.1 FLUENT软件特点简介...

    本节书摘来自异步社区 ANSYS FLUENT 16 0超级学习手册 一书中的第2章 第2 1节 作者 唐家鹏 更多章节内容可以访问云栖社区 异步社区 公众号查看 第2章 FLUENT软件介绍 CFD商业软件FLUENT是通用CFD软件包
  • mysql 浮点型详解 简书_8-MySQL数据类型

    下面正式开始mysql操作学习了 基础知识点会枯燥 会无味 会焦虑 但是相信当你熟练掌握后会无比的兴奋 因为你在见证数据给这个时代带来的伟大变革 你正在见证由数据库驱动的信息革命 可以W3C菜鸟教程中查看mysql中关于数据类型的部分 im
  • 数据库杂记

    数据库杂记 1 PostgreSQL 1 1 安装 UUID 生成扩展 1 2 根据多个字段去重 并删除重复数据 保留一条 1 3 表字段更新 1 3 1 同一张表用一个字段更新另一个字段 1 3 2 两张表关联更新 1 3 3 多张表关联
  • 图数据库突然爆火,但数字化仍然道阻且长

    短则两三年 多则五六年 图数据库市场会角逐出最终赢家 而目前许多公司都处于秣马厉兵的状态之中 数科星球 原创 作者丨科科 编辑丨十里香 图数据库的出现犹如大数据行业的一抹绿色 在日新月异的场景中 图数据库发挥了不可取代的作用 现在 该行业走
  • 前端数组对象去重的几种方法,拿来即用

    工作中有许多地方地方需要前端处理数据 总结了几种数据去重的方法都实验过 可以使用 初始数据 id有相同的需要去重 let person id 0 name 小明 id 1 name 小张 id 2 name 小李 id 3 name 小孙
  • SpringBoot2 升级到 SpringBoot3遇到的问题

    版本 JDK 11 gt 17 Gradle 6 0 gt 8 2 1 SpringBoot 2 2 gt 3 1 2 JDK升级 下载安装JDK17并修改JAVA HOME Gradle升级 下载 https services gradl
  • 用自然语言进行编程的时代真的要来了

    用自然语言进行编程的时代真的要来了 GitHub CEO托马斯 多姆克在官方博客上宣布 代码辅助工具Copilot进行重大升级 接入GPT 4 更名Copilot X 因此 原来只能帮你补全代码的它 现在通过打字聊聊天甚至语音就能 直接写代