在之前我写过自动生成代码的工具Copilot,它是由Github根据大量的仓库代码进行预训练生成的。如果感兴趣可以具体看回我之前写过的文章。里面由包括安装、使用方法等。
由于Copilot已经需要收费,因此为了找到更加合理(免费好用)的生成代码工具,帮助我把重复枯燥的代码进行补全。最近又使用了几个类似的工具,下面是我根据这些工具的一些使用体验。
(PS:更多详细的内容,可以查看这个github网页:https://github.com/llq20133100095/AICodeGeneration)
Name | 收费情况 | Tags | 官方网站 |
---|---|---|---|
Copilot | 收费 | 主要是由Github和OpenAI联合开发的模型框架 | https://github.com/features/copilot/ |
Tabnine | 两渠道:免费 + 收费 | - | https://www.tabnine.com/ |
Mutable AI | 免费 | - | https://mutable.ai/ |
cheat.sh | 免费 | - | https://github.com/chubin/cheat.sh#visual-studio-code |
CodeGeeX | 免费 | 清华大学知识工程实验室开源 | https://models.aminer.cn/codegeex/ |
CodeWhisperer | 需要加入waitlist | Amazon发布的对标Copilot竞品 | https://aws.amazon.com/cn/codewhisperer/ |
PanGu-Coder | 还没有内测 | 华为诺亚方舟实验室研发 | - |
- **安装:**在vscode软件中,找到github copilot进行安装即可
- 使用方法
自动生成
在python代码自动生成中,只需要输入"函数名称" + "英文描述",copilot就可以根据对应的英文描述,给出代码建议:
如果对上面的代码不满意,copilet还可以利用快捷键进行替换:
得到更详细的意见
可以通过快捷键 Ctrl+Enter来得到copilot的更多详细的辅助编程信息:
- 安装:在vscode软件中,找到Tabnine进行安装即可
- 使用方法
tabnine分为免费版本和收费版本
其中免费版本只能够帮你补全你想要的代码:
而付费版本则可以生成更多行代码,且理解你的上下文需求
- 安装:在vscode软件中,找到Mutable AI进行安装
然后它会提示你,需要在官方网站上获取API key,登录后就可以获取:
然后回到vscode上,输入key就可以了
- 使用方法
给定coding指导
选择MutableAI:Give a coding instruction
输入需要指导的内容:
该插件会生成相应的代码进行参考:
代码补全和生成
代码文档生成
- 安装:在vscode软件中,找到进行安装Snippet
- 使用方法
打开命令行,找到snippet输入即可:
- 安装:在vscode软件中,找到进行安装CodeGeeX
- 使用方法:
隐匿模式
在该模式中,CodeGeeX将在您停止输入时,从光标处开始生成(右下角CodeGeeX图标转圈表示正在生成)。生成完毕之后会以灰色显示,按Tab即可插入生成结果。
交互模式
在该模式中,按Ctrl+Enter激活交互模式,CodeGeeX将生成X个候选,并显示在右侧窗口中。
翻译模式
在当前的语言的文本编辑器中输入或者粘贴其他语言的代码,您用鼠标选择这些代码,然后按下Ctrl+Alt+T激活翻译模式,您根据提示选择该代码的语言,然后CodeGeeX会帮您把该代码翻译成匹配您当前编辑器语言的代码。点击翻译结果上方的use code即可插入。您还可以在设置中选择您希望插入的时候如何处理被翻译的代码,您可以选择注释它们或者覆盖它们。
提示模式(实验功能)
在该模式中,您可以在输入中添加额外的提示来实现一些有趣的功能,包括并不限于代码解释、概括、以特定风格生成等。该模式的原理是利用了CodeGeeX强大的少样本生成能力。当您在输入中提供一些例子时,CodeGeeX会模仿这些例子并实现相应的功能。比如,您可以自定义模板中提供一段逐行解释代码的例子。选择您想要解释的代码,按Alt/Option+t触发提示模式,选择您写好的模板(如explanation),CodeGeeX就会解释您输入的代码。
- 安装
目前还没有放出面向大众的版本,但是可以去到官网加入waitlist进行内测。
- 使用方法:
制订现成的代码
检测代码中的漏洞,并给出参考意见
Copilot: 有网友开始在CF平台发声,呼吁不让把共享代码作为数据进行机器学习:
侵害到程序员在GitHub开源共享的精神:
Tabnine:
Mutable AI
- 补全代码的参数
Cheat.sh:
Name | 优点 | 缺点 | 综合打分(最高5星) |
---|---|---|---|
Copilot | 1. 学生和对github仓库有贡献的开发者,可以免费使用 2. 有一定的中文识别能力 3. 代码生成功能较完整 4. 基于大量的github仓库训练,可以大佬们优秀的代码写法 |
1. 收费 2. 用的是Github仓库的代码进行训练,违法开源免费的标准,面临集体起诉 |
⭐⭐⭐⭐⭐ |
Tabnine | 1. 免费版本可以有一定的代码提示功能 2. 有较长的代码生成效果 |
1. 免费版功能较少 2.专业版需要收费 |
⭐⭐⭐⭐⭐ |
Mutable AI | 1. 免费 2. 可以制定代码文档生成 |
- | ⭐⭐⭐⭐⭐ |
cheat.sh | 1.免费 2.支持多种不同的语言 |
- | ⭐⭐⭐ |
CodeGeeX | 1.免费 2.支持自定义代码模板 3.支持自己训练模型 |
- | ⭐⭐⭐⭐ |
CodeWhisperer | 1. 检测代码中的漏洞,并给出参考意见 | 1. 需要加入waitlist | ⭐⭐⭐ |
PanGu-Coder | 1. 支持更加复杂的数学计算函数等功能 2. 支持中文识别 |
1. 还没有开始内测,普通开发者不能够使用 | ⭐⭐⭐⭐ |
试用GitHub Copilot一周后,我给出了3点不建议你使用它的理由
copilot与tabnine相比,我还是觉得我们tabnine比较便利
杀手级AI补代码工具问世,支持23种语言及5种主流编辑器,程序员沸腾了
MutableAI. AI Accelerated Software Development.
https://marketplace.visualstudio.com/items?itemName=mutable-ai.mutable-ai
ML-powered coding companion – Amazon CodeWhisperer – Amazon Web Services
现已推出预览版 – Amazon CodeWhisperer – 机器学习助力的编码助手 | Amazon Web Services
简化开发任务,AWS推出Amazon CodeWhisperer AI编码服务
PanGu-Coder: 函数级的代码生成模型-云社区-华为云
华为发布「国产Copilot内核」PanGu-Coder,而且真的能用中文哦!
微信群:可以加入群中进行软件交流
以上就是本期的所有内容,我是leo,欢迎关注我的知乎/公众号"算法一只狗",我们下期再见~