阿里云智能编码插件-灵动指尖
今天的文章切入「自动代码生成」方向,此类型工具可以让开发者受益于AI带来的强大能力,解放双手而不再拘泥于日常简单代码及框架的编写,更好的提升开发效率,更加专注于业务能力的实现。接下来小编为大家介绍一款阿里云的编程AI插件 灵动指尖。
灵动指尖-初识
阿里云智能编码插件(Alibaba Cloud AI Coding Assistant)是一款AI编程助手,官方给其取了个小名cosy。提供了代码智能补全和代码示例搜索能力,可以我们开发者更快更高效地写出高质量代码。
官方地址:https://developer.aliyun.com/tool/cosy
cosy 不仅把文档搬进了IDE之中,甚至还把StackOverflow也搬了进去,实时感受与大佬们结对编程的快乐。享受编程带来的乐趣,也方便了许多,不用再来回跳去网上找资料,查问题。
cosy 目前仅支持 Java 语言,搭配 IntelliJ IDEA 进行使用,后续会开放上线其他编程语言并兼容相关IDE
灵动指尖(cosy)支持的语言及IDE
灵动指尖(cosy) 主要功能:
1、代码智能补全
通过学习海量优质的开源代码,代码智能补全助力我们编码如行云流水般自然高效,事半功倍地完成编码工作。
2、海量代码示例搜索
提供代码示例搜索功能,当我们需要实现不熟悉的功能时,无需跳出到浏览器中,在IDE内仅需通过简单的语言描述,即可参考海量高质量的开源代码示例,完全沉浸式编码体验。
3、优质技术文档搜索
集成多种高质量中英文技术文档数据源,当遇到错误日志或技术难点时,在IDE内便可以轻松查阅技术文档。
IntelliJ IDEA安装 cosy
准备工作
- 下载并安装JDK1.8或更高版本
- 下载并安装IntelliJ IDEA(2020.1或更高版本)
安装插件
1、直接下载安装
下载地址:https://plugins.jetbrains.com/plugin/17809-alibaba-cloud-ai-coding-assistant
2、离线包下载
下载方式①-GitHub:https://github.com/alibaba-cloud-toolkit/cosy/releases
下载方式②-官方轻量包:https://toolkit.aliyun.com/idea/cosy-intellij-beta-latest.zip
安装方式:
- 在IntelliJ IDEA顶部菜单栏中选择IntelliJ IDEA > Preferences。
- 在Preferences对话框的左侧导航栏中单击Plugins。
- 在Plugins区域单击Settings Icon,再单击Install Plugin from Disk。
- 在Choose Plugin File对话框中选择步骤1中下载的cosy-intellij-beta-latest.zip,安装完成后,单击Restart IDE。
灵动指尖-离线安装
3、插件市场安装
- 在IntelliJ IDEA顶部菜单栏中选择IntelliJ IDEA > Preferences。
- 在Preferences对话框的左侧导航栏中单击Plugins。
- 在Plugins区域单击Marketplace。
- 在搜索栏中输入 *Alibaba Cloud AI Coding Assistant* 或 *cosy*
- Search Results区域会出现 Alibaba Cloud AI Coding Assistant* ,单击*Install**。
- 等待下载、安装完成后,单击Restart IDE。
灵动指尖-IDE内插件市场安装
安装成功
IntelliJ IDEA重启后,右侧边栏有【代码示例搜索】Tab,或者代码编辑过程中出现来自Alibaba Cloud AI Coding Assistant即右侧有"Cosy"标识的的补全项,则说明安装成功。
使用
代码智能补全
补全效率高:结合海量开源代码数据和代码上下文,提供行级长序列代码补全结果。相较于编辑器自带的补全能力,可以用更少的击键写更多的代码,大幅提升编码效率。
补全内容准:集成创新的语法分析能力,能够提前校验深度学习模型生成的补全内容,将大量低质量,带有语法错误的补全内容拒之门外,使代码补全内容更加精准。
安全轻量化:插件所使用的深度学习模型只在本地的机器上运行,不会分享或向其他设备上传本地代码或个人信息等数据。即使设备处于未联网的状态,也不会影响代码智能补全的正常使用。
cosy-completion-compare
代码文档搜索
Cosy提供的代码示例搜索功能,在面对不熟悉的功能模块时,无需来回跳转页面,在IDE内即可参考海量优质的开源代码示例。
通过功能描述搜索
当开发者需要实现不熟悉的功能模块时,通常会通过通用搜索引擎去查找相关的开源方案,但是由于通用搜索引擎提供的结果质量参差不齐,并且无法直接从结果页的标题中快速判断是否是自己需要资料,影响了开发者的查找效率。Cosy为开发者提供了自然语言搜索能力,开发者能通过对功能的文字描述,快速的查找到相关功能的开源实现。
数据源
开发者可以通过功能描述快速查找到相关功能的开源实现,也可以搜索到StackOverflow上的相应问答结果。
搜索形式
- 支持中文自然语言搜索
- 在搜索框中输入功能描述,如“读取Excel”、“快速排序”等,敲击回车触发,即可搜索到所需的代码示例
- 支持英文自然语言搜索
- 在搜索框中输入功能描述,如How to read excel,敲击回车触发,即可搜索到用于 读取Excel 的代码示例
- 在搜索框中输入简短关键词,如oss download file,敲击回车触发,即可搜索到用于 OSS下载文件 的代码示例
通过API名称搜索
当开发者遇到不熟悉的API时,希望查找API相关的使用示例,然而很多API的官方文档都是不完善的,要么仅有Javadoc的简单文字描述,要么只有少量单元测试用例,要么缺少任何示例代码,从而需要开发者花费大量时间去查找API的示例代码。Cosy为开发者提供了API代码示例的查找能力,开发者只需输入API名称或通过快捷键触发,就能快速查找到引用了该API的开源代码示例。
数据源
开发者可以快速查找到相应API的开源代码示例,也可以搜索到StackOverflow上的相应问答结果。
快捷搜索
开发者可以在编码过程中通过鼠标右键选中当前类/接口/方法,然后点击 查找代码示例 即可一键搜索指定API的代码示例片段。开发者也可以通过快捷键 MacOS command+shift+s
或 Windows ctrl+shift+s
搜索指定API。
快捷搜索
高阶搜索功能使用
多API精准搜索
开发者可以通过点击右侧菜单栏中的 代码示例搜索
唤起搜索工具窗,手动输入API名称进行代码示例搜索,支持的API名称格式如下:
- 类名/接口名/枚举名
- 如:XSSF能搜出以XSSF为前缀的类名XSSFWorkbook、XSSFRow等
- 包名+类名
- 如:org.apache.poi能搜出这个包下的所有类/接口/枚举
- 如:org.apache.poi.xssf.usermodel.XSSFWorkbook能准确搜出apache包下的XSSFWorkbook类
- 方法名
- 如:createSh能搜出以createSh为前缀的方法名createSheet、CreateShortcut、createShell等
- 类名/接口名+方法名,枚举名+属性名
- 如:XSSFWorkbook.create能搜出以其为前缀的XSSFWorkbook.createSheet、XSSFWorkbook.createFont、XSSFWorkbook.createCellStyle等
- 包名+类名/接口名+方法名,包名+枚举名+属性名
多API精准搜索
自然语言搜索
我们也支持使用功能描述进行代码片段/代码文档搜索,Cosy会自动联想我们的查询语句,如:
自然语言搜索
Cosy进行了更友好的本土化支持,可以补全联想中文搜索语句的同时,还能使用中文搜索中英文代码文档:
自然语言搜索-代码示例
组合搜索
开发者可以在功能描述的基础上,进一步通过API精准搜索限定使用的第三方组件库,比如:
组合搜索
总结
优点:
1、文档搜索能力确实在IDE内很是方便高效
2、适当减少了软件开发人员的简单重复劳动,减少了无关信息干扰
3、代码生成能力与同类型产品相比,没有特别亮眼表现
缺点:
1、提示太慢,延迟较高,双手赶不上头脑
2、占用内存太大
3、项目打开时,正在更新阿里云智能编码助手Cosy
这个提示能不能改为默认最小化,有点挡视线
4、兼容性不好
5、目前仅支持Java