📑前言
本文主要是ai工具copilot解读文章,如果有什么需要改进的地方还请大佬指出⛺️
目录
文章目录
1.copilot是什么
copilot (https://copilot.github.com/) 是由 github 提供的ai编码辅助工具,它可以在编码过程中提供基于 ai 学习的编码建议。在很多情况下,只需要有注释或者函数名称,copilot就可以实例完整的代码。
目前 copilot 还没有全量开放,需要申请开通权限。访问它的官方网站https://copilot.github.com/,点击“sign up“按钮即可申请开通。当获得开通权限后,就可以在 github 上使用 copilot。
2.idea安装copilot
要求:idea版本应不低于2021.2,否则无法搜到copilot插件
重启idea之后便可使用
3.idea使用copilot
安装后重启,点击tools->copilot登录到github之后来获取使用资格
点击cop and open
将设备码复制到此处 ,进行授权
3.1 代码补全
copilot能将整行进行补全,并且自可以自动填充到参数
copilot也能自动识别到上文中出现过的workbook变量及其getsheetat方法,没有发生语法错误的问题。
虽然在上一个例子中补全效果较好,没有出现语法错误的问题,但是copilot依然会在很多情况下生成存在语法错误的代码片段。如下图所示,stringutils类是在本地工程中创建的,类下面只有一个readtestfile方法,然而copilot却生成了print方法,因为copilot是根据数亿的开源代码学习到的,不能及时的去学习本地工程的代码信息,所以本质上跟tabnine一样是会存在语法错误的问题,只是由于模型更强大,所以错误的概率更小,但是一旦涉及到本地工程的代码,错误的概率就会非常高。
4.快捷键
copilot 也提供了一些快捷键,可以很方便地使用。
jetbrains ide
macos 的键盘快捷键
行动 | 捷径 |
---|---|
接受内联建议 | tab |
拒绝内联建议 | esc |
显示下一个内联建议 | option (⌥) or alt+] |
显示上一个内联建议 | option (⌥) or alt+[ |
触发内联建议 | option (⌥)+\ |
打开 github copilot(其他建议在单独的窗格中) | option (⌥) or alt+return |
适用于 windows 的键盘快捷键
行动 | 捷径 |
---|---|
接受内联建议 | tab |
拒绝内联建议 | esc |
显示下一个内联建议 | alt+] |
显示上一个内联建议 | alt+[ |
触发内联建议 | alt+\ |
打开 github copilot(其他建议在单独的窗格中) | alt+enter |
linux 的键盘快捷键
行动 | 捷径 |
---|---|
接受内联建议 | tab |
拒绝内联建议 | esc |
显示下一个内联建议 | alt+] |
显示上一个内联建议 | alt+[ |
触发内联建议 | alt+\ |
打开 github copilot(其他建议在单独的窗格中) | alt+enter |
visual studio code ide
macos 的键盘快捷键
行动 | 捷径 | 命令名称 |
---|---|---|
接受内联建议 | tab | 编辑器.action.inlinesuggest.commit |
拒绝内联建议 | esc | editor.action.inlinesuggest.hide |
显示下一个内联建议 | option (⌥)+] | editor.action.inlinesuggest.shownext |
显示上一个内联建议 | option (⌥)+[ | editor.action.inlinesuggest.showprevious |
触发内联建议 | option (⌥)+\ | 编辑器.action.inlinesuggest.trigger |
打开 github copilot(其他建议在单独的窗格中) | ctrl+return | github.copilot.generate |
打开/关闭 github copilot | 没有默认快捷方式 | github.copilot.togglecopilot |
适用于 windows 的键盘快捷键
行动 | 捷径 | 命令名称 |
---|---|---|
接受内联建议 | tab | 编辑器.action.inlinesuggest.commit |
拒绝内联建议 | esc | editor.action.inlinesuggest.hide |
显示下一个内联建议 | alt+] | editor.action.inlinesuggest.shownext |
显示上一个内联建议 | alt+[ | editor.action.inlinesuggest.showprevious |
触发内联建议 | alt+\ | 编辑器.action.inlinesuggest.trigger |
打开 github copilot(其他建议在单独的窗格中) | ctrl+enter | github.copilot.generate |
打开/关闭 github copilot | 没有默认快捷方式 | github.copilot.togglecopilot |
linux 的键盘快捷键
行动 | 捷径 | 命令名称 |
---|---|---|
接受内联建议 | tab | 编辑器.action.inlinesuggest.commit |
拒绝内联建议 | esc | editor.action.inlinesuggest.hide |
显示下一个内联建议 | alt+] | editor.action.inlinesuggest.shownext |
显示上一个内联建议 | alt+[ | editor.action.inlinesuggest.showprevious |
触发内联建议 | alt+\ | 编辑器.action.inlinesuggest.trigger |
打开 github copilot(其他建议在单独的窗格中) | ctrl+enter | github.copilot.generate |
打开/关闭 github copilot | 没有默认快捷方式 | github.copilot.togglecopilot |
5.其他智能代码补全工具
tabnine支持的语言及ide种类最丰富,本地模式内存占用高;
阿里云cosy的代码搜索功能比较实用,可以与其他工具搭配使用;
kite仅适合python开发者,补全不算惊艳;
codota已经不再维护了,可以不考虑了;
intellicode实用性不强,未来或许会与github copilot整合;
aixcoder中规中矩,缺少亮点;
发表评论