用了一下AI代码补全工具,真爽!

前言

ChatGPT把AI带火了,我就在想,能用它做点什么呢,总不能只让它给我们带来焦虑,也要让我们从科技浪潮中分得一点红利吧。一番查找下来,有个功能对我们程序员来说比较实用,就是AI的代码提示补全功能。最先找到的是GitHub Copilot。不幸的是GitHub Copilot 从2022年8月22日之后,开始收费。正式版定价10美元/月(人民币约67元),年付有优惠100美元/年(人民币约669元),每月 67 元还是有些小贵。经验告诉我,如果市场上存在一块大蛋糕,不可能只被一家公司看到,肯定有许多公司都在研究开发,有替代品。沿着这个思路,我找到了今天的主角CodeGeeX。

CodeGeex简介

CodeGeeX是一个具有130亿参数的多编程语言代码生成预训练模型。CodeGeeX采用华为MindSpore框架实现,在鹏城实验室“鹏城云脑II”中的192个节点(共1536个国产昇腾910 AI处理器)上训练而成。截至2022年6月22日,CodeGeeX历时两个月在20多种编程语言的代码语料库(>8500亿Token )上预训练得到。CodeGeeX有以下特点:

  • 高精度代码生成:支持生成Python、C++、Java、JavaScript和Go等多种主流编程语言的代码,在多语言代码生成基准HumanEval-X代码生成任务上取得47%~60%求解率,较其他开源基线模型有更佳的平均性能。
  • 跨语言代码翻译:支持代码片段在不同编程语言间进行自动翻译转换,翻译结果正确率高,在HumanEval-X代码翻译任务上超越了其它基线模型。
  • 自动编程插件:CodeGeeX插件现已上架VSCode插件市场(完全免费),用户可以通过其强大的少样本生成能力,自定义代码生成风格和能力,更好辅助代码编写。
  • 模型跨平台开源: 所有代码和模型权重开源开放,用作研究用途。CodeGeeX同时支持昇腾和英伟达平台,可在单张昇腾910或英伟达V100/A100上实现推理。

我使用下来,觉得CodeGeeX的主要功能是通过解读你的代码注释生成对应功能的代码,或者基于你前面/以前的代码给出后面/下一代码片段的补全建议。

刚开始装完VSCode CodeGeeX插件,写代码的时候,看不到任何反应,大概过了3秒钟之后,神奇的事情发生了,终于看到了代码提示内容。

我看网上的介绍,千篇一律使用的都是英文函数注释生成代码,国内程序员平常写代码,大多写的都是中文注释。为了使着顺手,测试一下,看它支不支持根据中文注释,生成代码片段,不支持的话就继续找。咱不整虚头巴脑,中看不中用的测试用例,写一个实实在在,能提高编码生产力的示例。用项目中实际用到的功能测试一下CodeGeeX的代码补全功能。

代码补全功能

写一个生成饼图的中文注释,不负期望,一会儿CodeGeeX就把用ECharts生成饼图的主体功能实现了, 微调一下就可以投入实际使用。不敢相信,免费的AI代码补全工具,功能都这么强大了。我本来还以为,免费的AI代码补全工具,都和TabNine一样,只能提示一行代码,现在看来,自己就是井底之蛙。果断卸载了TabNine。

用了一下AI代码补全工具,真爽! 2

CodeGeex 有三种模式:

自动模式

这是默认的模式,查看用户以前的代码或代码注释,为用户生成下一行代码。它不会干扰用户写代码。仅在用户输入3秒钟之后给出建议代码,而建议的代码在你按 Tab 键时才生效。之所以需要等待3s,是因为要和服务器通信,获取补全建议。存在多个候选的情况下,可以使用Alt/Option + [ 或 ] 在几个候选间进行切换。用户也可以在设置中改变”Candidate Num:。如果对现有建议不满意,可使用Alt/Option + N获得新的候选。

交互模式

按下 Control+Enter 会进入交互模式,VSCode 会分成两个版面。一个版面正常编写代码,另一个版面显示建议的代码片段。点击使用代码的时候会将提示代码填充到正常编写的代码中。在自动模式不工作的时候,可以按下Ctrl+Enter 组合键进入交互模式,继续获得提示,每按一次Ctrl+Enter, 产生一次提示。

用了一下AI代码补全工具,真爽! 4

提示模式

按下 ALT+T 进入提示模式,会给你提供一些代码解释,代码总结。使用提示 (Prompt) 模式,需要选中想要获得解释的代码,过一会儿,代码下方就会出现英文功能解释。这个模式只支持按照Java和Python两种语言的代码风格解释代码功能,个人觉得用处不大。

用了一下AI代码补全工具,真爽! 6

代码转换功能

CodeGeeX的另外一个功能是转换不同编程语言之间的代码。这个功能一般情况下用不上,如果能提供一个React和Vue代码互转的功能,那我们公司的项目就用得上。

用了一下AI代码补全工具,真爽! 8

有一个细节要注意,安装完CodeGeeX插件后,会弹出一个问询窗口,询问是否愿意将自己的代码共享到AI平台当做训练数据使用,记得点击拒绝,免得带来一些不必要的麻烦。 用了一下AI代码补全工具,真爽! 10

本以为这么好用又免费的AI代码补全工具可能比较稀缺,网上找了找,VSCode AI代码补全功能扩展还蛮多:

  • Codeium 是一个人工智能驱动的代码完成工具。它支持超过20种语言,并与常用的IDE集成,个人用户永久免费。需要注册登陆后才能使用。
  • Codiga 是一个平台,使开发人员能够更快地编写更好的代码。 开发人员可以使用Codiga编码助手直接从他们的 IDE 生成、分发和重用代码片段。
  • CodeWhisperer 亚马逊的CodeWhisperer通过基于自然语言注释和集成开发环境 (IDE) 中的代码生成代码建议来提高开发人员的工作效率。
  • Kite 是另外一种基于机器学习的代码自动补全插件。它的目标是帮助开发者更快地编写高质量的代码, Kite 支持超过16种语言以及16种代码编辑器。
  • Captain Stack 它使用 Google传输用户的搜索查询,然后从 StackOverFlow 和 Github Gist 收集答案,为用户自动完成填充,这个过程中不使用 AI。
  • IntelliCode 是一种在 GitHub 項目样本上训练的实验性AI编码辅助工具。

先收藏备用着,哪个以后收费了不能用了,就换成其它的。

后记

现在看来,中国媒体以前吹嘘的中国新四大发明, 美国媒体吹嘘的Web3.0-元宇宙都是噱头,ChatGPT掀起的这股科技浪潮,才是一次划时代的科技变革,必将影响深远。ChatGPT3.5的调试参数是1750亿个左右,ChatGPT4.0的调试参数已经骤升至100万亿左右,人的大脑皮层神经元数量是140-160亿之间,到达这个级别,智慧就会涌现。看到这么强大的工具,我不禁感慨,不是前端已死,而是程序员已死,程序员自己革了自己的命,以后编程的门槛会大幅降低,程序员的护城河将不复存在。百年未有之大变局。不过现在还能苟且一段时间,因为我发现ChatGPT3.5的数据是有滞后性的。问它有些问题,它就回答不了。如下图所示: 用了一下AI代码补全工具,真爽! 12 ChatGPT4.0应该做了改进。另外AI补全代码的功能虽然强大,但只适合通用场景,要是开发一些定制化很强的业务代码,也很难给它描述清楚。此外,补全的代码仍旧需要人工Code Review和调试,现阶段AI还不能完全替代程序员。

 

作者:去伪存真
链接:https://juejin.cn/post/7216992973418217533
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。商机网仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 tenspace2022@163.com 举报,一经查实,本站将立刻删除。 本文链接:https://www.315965.com/n/54223.html 聚才发 母婴好物

(0)
上一篇 2023年6月7日 上午12:49
下一篇 2023年5月30日 上午3:24

相关推荐

  • 毛衣编织教程完整版(毛衣编织教程完整版图解)

    秋 露 』 用线:羊毛兔毛混纺2股 用量:270 克 用针:3.25mm、3.5mm、4mm 尺寸:胸围110cm,衣长57cm,领口到袖口60cm,腋下袖长32cm 作品秀: 毛线具体多少支,记不得了,是囤了10年以上的线,当时买了这个浅桃红,还买了白色和天蓝色,去年用白色3股织了《紫芊》,用量也是很省。还是比较柔软的,虽然含了兔毛,但是也不掉毛,可能还是…

    2023年6月7日 上午12:50
    7
  • 科目二练车全程步骤(科目二初学者基本知识)

    当我们交钱进了驾校之后,就可以去练习科目二了。科目一是电脑做题,自己有空看看就行。白天我们要去驾校开始学习科目二。对于我们新手来说,这可能是第一次摸车。因此有很多问题。下面我们就分享新手如何开始学车,科目二新手学车步骤。 刚学车的步骤新手必看 工具/原料 驾校汽车:雪铁龙 方法/步骤 1、科目二考试全程是用一档,脚下要踩的只有离合和刹车。 因此,我们首先要学…

    2023年6月7日 上午12:50
    7
  • 最新版五笔打字口诀表(快速学五笔打字技巧口诀及方法)

    五笔打字法对于没有学习五笔的人来说是比较难学的,比较五笔打字法的规则有很多,想要学会也不容易。 在这个过程当中,五笔打字法是有相应的口诀和技巧的,一般通过理解记忆就能够基本掌握五笔打字法的基本要求。 从而能够在未来的生活、工作当中正常使用五笔打字法。 我认为五笔打字法有如下几个方面的打字口诀,具体如下: Y键:王旁三点水和清,D键:记住要把下匡紧。 G键:土…

    2023年6月7日 上午12:50
    7
  • 小程序开发流程详细(小程序开发入门教程)

    数据绑定 微信小程序页面渲染时,框架会将WXML文件同对应的Page的data进行绑定,在页面中我们可以直接使用data的属性,其使用的语法是Mustache语法,也就是使用双大括号将变量或简单的运算规则包裹起来,实现的主要渲染方式有以下几种: 简单绑定 简单绑定就是使用Mustache语法(双大括号)将变量包起来,在模版中直接作为字符串输出使用,可以用于内…

    2023年6月7日 上午12:50
    7
  • 挑起价格战或将自伤利润率?特斯拉股价大跌6% 市值蒸发401亿美元

    新浪科技讯 北京时间4月4日早间消息,据报道,之前,特斯拉进行了大幅降价,但是最新公布的季度新车交付量数据显示,降价只带来交付量的小幅增长,投资人担心特斯拉这样的做法只会影响到未来的利润率。受此影响,当地时间周一,特斯拉股价大幅下跌了6%。 今年1月,特斯拉对于全线电动车进行大幅降价,有的车型降幅高达两成。最新公布的报告显示,今年一季度,特斯拉新车交付量为4…

    2023年6月7日 上午12:50
    7
  • 剪纸教程图解步骤(剪纸教程图解步骤简单)

    今天给大家带来的是——简单枫叶剪纸教程。有多简单呢?只需要一张纸,一把剪刀,而且只需要剪一下就可以了。有没有一丝心动,感兴趣的话就快来试试吧!这个枫叶剪纸作为装饰非常不错哦! 枫叶剪纸教程图解 先上图 我们需要准备的材料有:一张正方形的纸,我用的是10厘米正方形纸,供大家参考。除此之外还有剪刀。 取出正方形纸,沿着中间对折。 然后按如图所示,再次向中间折叠。…

    2023年6月7日 上午12:50
    7
  • 尤克里里零基础入门(尤克里里零基础入门自学)

    尤克里里入门很容易,但学精髓还是很难。至于手指不灵活的问题,因为四弦琴很小,跨度很小,我觉得不是问题。网上有很多教学视频,很容易找到。 最重要的是养成拿起钢琴的好习惯。首先要做的是使用调谐器。如果你将来熟练了,你可以用耳朵听。但是,为了准确起见,建议初学者始终使用调谐器。应该有一些理论方面的,比如钢琴的作曲,每根弦的标准音高,各个部分的名称,弹钢琴时握琴的姿…

    2023年6月7日 上午12:50
    7
  • java入门基础知识(java语言基础知识总结)

    经常在知乎看到一个问题:Java学到什么程度可以算是精通? 今天就围绕这个问题,其实学习 Java 学到什么程度算是精通,这个其实没有盖棺定论的,也不是说你拿个年薪几十万的 offer 就可以自诩精通了。 我认为,如果市面上这些资料、书籍你都啃的差不多,你能在所有的 Java 程序员中跻身前 0.1% 的话,你就可以达到”精通” 这个…

    2023年6月7日 上午12:50
    7
  • 插花教程图解 初学者(简单易学的插花教程图解)

    居家插花零基础不用担心,高手的秘诀是画几条线,你肯定会 2020-03-27 17:13·花艺师Olivia 居家零基础插花,不要怕,来,跟着我画几条线,轻松学插花。 一、醒花 ​醒花,就是让花先吸饱水,恢复到鲜艳饱满的抬头状态。 拆开包装后,花的叶子先保留,可以帮助吸水。花枝用剪刀45度斜剪(3-5cm),放到桶里,用水浸泡到只露出花头,泡4个小时。 醒了…

    2023年6月7日 上午12:50
    7
  • 盘发教程简单好看(各种盘发教程)

    换发型如换脸,不少姑娘都深谙其中的道理。所以在换发型这件事情上都是非常的慎重,既然不能经常换发型,却不影响我们在原本的发型之上做出一些改变。比如说俏皮甜美的盘发,既有着优雅的姿态,又更加清爽大方,早就是姑娘们喜欢的风格了。 那么你知道怎么盘头发简单又好看呢?很多姑娘看到别人的盘发非常美,却有自己的不敢动手,其实盘头发没有那么难,今天小疯给大家分享四款俏皮甜美…

    2023年6月7日 上午12:50
    7