GitHub Copilot的免费平替 通义灵码使用教程
在如今这个人工智能高速发展的时代,每个行业都在被AI技术影响而改变。层出不穷的AI辅助工具,让我们看到了机器正在取代一部分基础的日常工作。对于我们开发者而言,当前最炙手可热的就是GitHub Copilot,市面上最好的开发者辅助工具。GitHub Copilot所提供的代码补全、建议、解释等能力非常强大,可以有效地提高编程速度。但是,GitHub Copilot是基于OpenAI所构建,后者的成本并不小,所以GitHub Copilot成为一款付费工具是非常自然的。
那么,对于预算有限的开发者而言,是否有合适的免费平替呢?答案是肯定的!今天,就给大家推荐最近我一直在用,且觉得还不错的插件:通义灵码。推荐的理由,我总结为以下几点:
极低的上手门槛 强大的代码补全和编码提示 快捷好用的智能问答极低的上手门槛
一些众所周知的原因,相信体验过GitHub Copilot的开发者一定都是经过一番折腾才用上其强大能力的。这对于一些初学者用户来说门槛非常高,同时对于一些有审查要求的环境更是不可能使用。
与此相比,通义灵码的上手门槛极低:
安装简单:用户只需要在JetBrains系IDE或VS Code的插件市场里搜索:TONGYI Lingma,就能完成一键安装
极易上手:无需配置,自动提示。插件在开发者编码过程中会自动根据上下文做出提示建议,如提示建议不错,直接按Tab采纳即可。如果需要手动唤出提示,也只需要通过快捷键⌥+P快速弹出提示(Windows快捷键:Alt + P)。除了这两个最常用的操作之后,还有一些操作可参见下表:
强大的代码补全和编码提示
代码补全是开发者日常工作最高频的操作,虽然很多强大IDE工具都自带了代码补全的能力,但这也仅限于一些语法层面的简单补全,不包含联系编码上下文所推理出的,更有贴近用户编码意图的智能补全和提示。所以,这也是现在很多AI辅助工具吸引人的地方,它们可以提供更为出色的,甚至惊艳的补全效果。
那么通义灵码在代码补全方面,是否可以平替GitHub Copilot呢?这里DD根据很多博主介绍GitHub Copilot的场景来测试了一下,供大家参考:
行级补全
之前讲过,行级补全在大部分IDE中已经包含,但AI工具的行级补全更为强大,它的强大之处在于能够根据你的输入来推理逻辑补全。
比如:我要定义一个B站视频的URL,只要参数名中含有B站视频URL相关的描述,就会直接给出模版。这样的能力是完全不同于IDE所提供的行级补全的。
函数级补全
函数级补全是DD看到GitHub Copilot演示案例中最常见的强大能力,开发者只需要输入有含义的函数名称,具体的实现就自动提示了:
所以,必须在通义灵码中也尝试一下!先尝试了一下简单的冒泡排序:
轻松完成!
再尝试一下稍微有点难度的快排算法:
似乎失败了?只给出了一些简单提示,并没能得到完整的逻辑。后面,DD又尝试了几次,最终获得了一个完整结果,具体如下:
所以,在函数级补全这个功能上,可能还存在一些差距,有待后续提高吧。
自然语言补全
自然语言补全的主要场景就是写注释,AI工具自动生成代码。
这里DD也找了个场景测试了一下。比如下面是Spring Boot中一个文件上传的后端处理逻辑,我尝试通过自然语言的方式来描述逻辑,通义灵码迅速补全了与注释相关的代码:
上下文感知能力
对于上下文的感知是AI工具的重要特色,也是这类工具时不时惊艳到我们的核心。
比如,下面这种场景,在我第一碰到时,还是有被AI的理解能力所吓到:
可以看到,当我要为这个Controller添加Swagger的API说明时,它居然理解了这个Controller内做的都是微信支付的操作,所以给出了tags="微信支付"的提示。
随着这段时间的使用,出现过很多惊艳到我的补全提示,比如当我要写一个操作FTP的API时,出现了这样一幕:
可以看到,在我创建了FtpController之后,通义灵码自动找到了同项目中的FtpService,并给出了依赖提示,这一操作非常符合预期。之后,通过换行操作,通义灵码又给出了进一步的提示,这步提示也非常神奇,因为它的内容已经不仅仅是对当前上下文的理解,而是结合上下文与依赖内容的理解,并给出了调用依赖内容的提示。
通过这段时间的实践,我认为通义灵码的感知能力已经非常不错,它可以很好的理解项目中的各个元素,并找到它们之间的关系,然后在开发者编码过程中给出一些可能需要的提示。同时,我也发现养成良好编码习惯的优势也在这里有所体现。因为在拥有良好项目结构和命名规范的工程下编码时,此类AI工具给出的提示就相当有水准,也许这样更有助于AI理解我们的工程吧。
快捷好用的智能问答
通义灵码插件在IDE中自带一个智能问答的窗口,具体位置和基本使用方法如下:
图中我还问了一个问题:让通义灵码帮我写一个文件操作类,它就给了我一个不错的代码封装和使用案例。如果你觉得不错的话,就可以通过回答右上方的按钮,以不同的方式添加到工程中:
是不是很棒呢?要知道GitHub的Chat可不是直接可以用的,相信还有不少小伙伴还在排队吧?
通义灵码的智能问答窗口除了处理基本问答之外,其实还有一些更有意思的功能,比如:解释代码和生成单元测试
上面我们体验了代码补全能力,但是它补全的内容到底对不对呢?必须赶紧验证一下,顺便再体验一下通义灵码的另外2个实用功能:
解释代码 生成单元测试下面就来看看上面生成的能否经受住它自己的考验 。操作很简单,只需要选中上面生成的代码片段,点击鼠标右键,可以看到解释代码和生成单元测试:
先来试试解释代码,点击之后会在IDE右侧弹出问答框,具体如下:
没啥问题,通过第一关考验!下面再尝试一下:生成单元测试。马上就获得了如下代码:
直接添加文件之后,运行起来。成功通过测试!上面自动补全的代码是正确的!
总结
最后,聊聊这段时间使用通义灵码的感受。其实,刚开始尝试的时候也是碰到一些问题,尤其对于关于AI辅助的补全能力,会有一些不太适应。可能补全能力与项目内容和自己日常的编码习惯有关,随着每天不断的使用,插件似乎在理解项目内容和我的习惯,并不断给出更让我满意的提示内容。所以,这个使用过程是越用越顺的。现在已经是我必不可少的效率神器了。
虽然,通义灵码总体能力上离GitHub Copilot还有一些差距,但大部分辅助编码能力已经非常接近GitHub Copilot。同时,它的生成速度很快,而且跟IDE适配很好,ide里直接chat也很爽,加之阿里通义千问模型的支持。在一众免费的AI编码辅助工具之中脱颖而出,可以说是GitHub Copilot的最佳平替了。
如果您正在寻找AI辅助编码工具,但又觉得GitHub Copilot上手折腾麻烦或者觉得太贵,那么建议免费尝试一下通义灵码,相信不会让你失望。另外,DD看到社区有其他开发者反馈初学者使用非常丝滑,尤其是对于Python。所以,如果你是初学者或者Pyhon开发,那么也推荐试试。
更新于:4个月前相关文章
- 使用shields.io来实时显示GitHub项目star、watch和fork的数量
- GitHub上开源许可证License含义说明
- Docsify | 轻量级无静态构建文档站点生成器
- IIS使用Certify安装Let's Encrypt免费SSL证书
- Visual Studio使用GitHub Copilot教程
- 免费使用GitHub Copilot X的方法
- 免费前端图标框架有哪些?
- 国内免费图标库分享
- 免费开源的开发工具DevToys
- 免费开源的远程桌面软件RustDesk官网下载
- github copilot 免费使用的途径有哪些?
- 基于Vue的免费开源admin管理后台框架
- 免费开源WinForm UI控件库ReaLTaiizor
- GitHub Copilot 已沦为编程考试作弊的神器,正在“摧毁”初级开发者?
- 类似copilot的免费AI代码生成工具CodeGeeX
- Reshot 免费商用图标插画素材网站
- 分享10个免费AI工具网站
- Github的各种license许可证说明
- 480亿元!微软正式收购开源代码共享社区GitHub
- 微软发布ChatGPT-4 Office365 Copilot全家桶 功能演示