📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗
🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数,欢迎多多交流。👍
文章目录
- 写在前面的话
- 技术简介
- 安装使用
- 功能介绍
- 代码生成和智能不全
- 为选中代码生成注释
- 代码翻译其他语言
- 智能问答功能
- 其他功能说明
- 产品比对
- 总结陈词
写在前面的话
提起 Github Copilot,相信很多人都听说过甚至使用过,作为 Github 研发的一款先进的编程辅助插件,它可以在我们日常编写代码的过程中,根据代码的上下文内容、注释等信息自动推断生成高质量的代码,很大程度上提升我们的代码编写效率。而自从去年8月 Github Copilot 公测结束开始收费后,很多同类型且面向个人免费的智能辅助插件就如雨后春笋般纷纷冒了出来。
作为白嫖党,可以选择 Github Copilot 的免费平替,例如:Amazon CodeWhisperer、Codeium、CodeGeeX,本篇博文主要分享一下 CodeGeeX。
技术简介
技术简介
CodeGeeX 是清华和智谱AI联合打造的多语言代码生成模型,它可以实现代码的生成与补全、自动添加注释、代码翻译以及智能问答等功能,能够帮助开发者显著提高工作效率。CodeGeeX支持多种主流的编程语言,并适配多种主流IDE。
官网:codegeex.cn/zh-CN
GitHub地址:github.com/THUDM/CodeGeeX2
CodeGeeX 作为一款国产AI编程工具,目前对于个人开发者完全免费,你可以像使用 ChatGPT 和 Copilot 一样,让它协助你完成项目的开发。由于是国内开发,所以我们可以直接使用它,而不需要额外连接VPN。
作为辅助编程工具,肯定是不能完全代替人,目前对于复杂的场景,AI工具也会提供一些错误的答案,但还是能大大减少我们去搜索引擎中检索信息的时间,具体效果大家可以自行去体验。
注意:首次使用 Ask CodeGeeX 需要登录账号,点击 Login your CodeGeeX… 按钮跳转到登录页面。
安装使用
由于日常开发都使用 IDEA,这边也介绍 IDEA 中的安装使用,其他 IDE 大同小异。
最低版本要求:IDEA 2021.1
很简单,插件库里面搜CodeGeex
,安装一下,重启即可。
安装后,侧边栏会多一个 CodeGeex(就在Maven附近),效果如下图:
【模型选项】
在IDEA的CodeGeeX插件中,扦设置项,可以针对代码补全的模型,选择Pro版或Lite版的模型。 Lite版的响应
速度更快,Pro版则在代码补全的准确性上,有大幅提升。
Tips:个人没发现什么差别。
功能介绍
代码生成和智能不全
只需写出注释后按回车,CodeGeeX 会自动帮你续写相应的功能代码,之后按下 Tab 键即可填充代码。
操作示例大概是:
Step1、输入一段注释,如下:
// 获取随机数,1-100
Step2、按下回车键,下方将显示推荐的代码
Step3、按Tab键直接采用,也可以忽略他的提示,自己编写
【点评】
1、有时候依靠注释,给出的提示不是那么准确,即可能不适用你的业务逻辑,请自行选择;
2、官网介绍,还具备不靠注释,生成单行代码和多行代码,但个人感觉不太准备,经常给一些乱七八糟的东西;
为选中代码生成注释
在编辑器中选中一段代码,点击鼠标右键。在右键菜单"CodeGeeX Tool”中,点击下一级菜单“生成注释”,
即可生成注释。此时,右下角CodeGeeX图标转圈表示正在生成。
生成效果如下图:
【点评】
1、生成的注释有的会比较乱,并且可能是中文注释,解释太冗余;
2、不要点右侧的插入,会一大堆报错;
代码翻译其他语言
在CodeGeeX的侧边栏中,击"Translation’标签,进入翻译界面。
操作效果如下图:
【点评】
1、平时需要的翻译场景不多,生成的代码还可以,还没有深入尝试;
智能问答功能
右侧直接提问对话,类似 ChatGpt,就不展开赘述了。
【点评】
1、生成代码质量和专业性可能稍逊 ChatGpt,不过速度快而且免费,还有什么好说的。
其他功能说明
还支持解释代码段、自动修复BUG、生成单元测试、附带工具箱等功能,操作都很简单,就不赘述了,有兴趣的直接体验一下,或者参考官网手册。
产品比对
【关于 Copilot】
生成的一段优缺点对比,可以参考一下。
其实总结一下就一句话:Copilot 质量更高但要钱,CodeGeeX稍逊但是可以白嫖。
CodeGeeX的优缺点:
优点:
速度快:能够快速生成代码片段,提高开发效率。
易于上手:对于初学者来说,使用Code GeeX可以更快地掌握编程技能。
多语言支持:支持多种编程语言,适用范围广泛。
缺点:
生成代码的质量参差不齐,有时候需要人工调整。
对于复杂逻辑的代码生成能力有限,可能无法满足一些特定需求。
Copilot的优缺点:
优点:
智能程度高:通过学习大量代码库,Copilot能够提供高质量的代码建议。
实时性强:在编写代码的过程中,能够实时为开发者提供代码补全和建议。
社区支持:GitHub上有庞大的开发者社区,可以共享和交流代码片段。
缺点:
对于特定领域的代码建议可能不准确。
依赖于大量的数据训练,可能存在数据偏差导致的问题。
Tips:其实说这么多,就是贵。
【关于 ChatGpt】
有人要问 ChatGpt 不是也能做这些事情,范围还更广,那使用 CodeGeeX 有什么优势?
1、可以插件形式整合到 IDEA,操作更方便;
2、不需要翻墙或付费就可以使用;
3、ChatGpt 适合更大范围的通用类问答形式,CodeGeeX 专门用于代码层面(惭愧);
但这边经过测试,无论ChatGpt 还是 Copilot,一些回应质量还是高于 CodeGeeX 的,下面一个问话对比,很明显 ChatGpt 对提问者本意的揣测以及生成回答的详细程度,是更具备优势的。
【CodeGeeX 的回答】
【ChatGpt 的回答】
总结陈词
整体对于白嫖党,还是挺不错的,对于日常经常与IDEA开发的程序猿,增加这么多功能何乐而不为呢。
虽然质量可能不是最好,但免费而且不用翻墙,还想怎么样呢,哈哈。
如果生成的全部是能用的,程序猿价值不是更低了,还是要人为把控一下。
Tips:那么,AI最终是否取代程序猿?
💗 后续会逐步分享企业实际开发中的实战经验,有需要交流的可以联系博主。