Copilot使用体验

一、安装教程

1.1、WebStorm安装

第一步:左上角菜单栏选择『File』-『Setting』

第二步:选择『Plugins』Tab栏,在搜索框中输入GitHub Copilot(如果没有出现搜索结果,请点击下方的Search in Marketplace)

第三步:点击**Install**安装插件

第四步:点击**Restart IDE**重启编辑器

第五步:点击**Copy and Open**复制设备码并打开Github网址进行绑定(IDE重启后会自动弹出登录框,如果未弹出则点击底部右侧工具栏的插件图标),
插件图标插件图标

第六步:输入公司提供的Github账号及密码,登录后绑定设备码

第七步:回到IDE,稍等一会会提示登录成功。

二、使用教程

2.1、操作快捷键

Windows:
接受内联建议:Tab
忽略内联建议:Esc
显示下一个内联建议:Alt+]
显示上一个内联建议:Alt+[
触发内联建议:Alt+\
打开 GitHub Copilot(单独窗格中的其他建议):Alt+Enter

其他系统的操作布局可以参考官网:https://docs.github.com/zh/enterprise-cloud@latest/copilot/configuring-github-copilot/configuring-github-copilot-in-your-environment

三、测试范围

3.1、工具类方法生成(推荐)

效果:⭐⭐⭐⭐⭐
评价:效果很好,针对一个功能可以生成多种工具方法。且支持生成该方法的单元测试用例。

3.2、基础页面代码生成

效果:⭐⭐⭐
评价
页面部分:能根据注释生成基础的页面样式文件
逻辑部分:能根据生成页面中变量生成相应的验证规则

整体效果一般

3.3、接口请求代码生成(不推荐)

效果:-
评价:对于自定义的方法,Copilot无法进行分析

3.4、已有代码优化(不推荐)

效果:-
评价:无效果,推荐的代码段与内容完全不一致

四、问题缺陷

目前体验下来,主要有以下几个问题:

1、代码生成依赖于准确的注释;
2、对中文注释的的支持与理解较弱,部分时候生成的代码与注释不一致;
3、对于较长的、多个需求点的注释,仅能对第一项内容进行生成代码;
4、页面生成&代码逻辑生成时优先采用了公共写法,而不会调用我们独立开发的组件、工具类(默认会输出element UI组件代码,应该具有一定的解析能力);
5、强制设置为使用自研组件时,出现“自然语言处理能力很强,但AST代码解析能力较弱的问题”的现象;
图中的Props属性和Emit事件 都取错了图中的Props属性和Emit事件 都取错了

五、使用总结

1、Copilot对于工具类的代码生成支持度非常好,但对业务逻辑处理帮助不大。
2、根据较短的、单一需求的注释生成代码质量较好,随着注释长度变长质量也随之下降,并无限趋于0。
3、比较适合于简单的判断逻辑生成(数据去重、排序、简易的加解密等等),但如果在业务逻辑中使用会出现大量的冗余代码。

六、附录

6.1、相关网址

Copilot官方教程:https://docs.github.com/zh/enterprise-cloud@latest/copilot/quickstart
Copilot官方讨论区:https://github.com/orgs/community/discussions/categories/copilot

6.2、常见错误&处理办法

GitHub Copilot: Sign in failed. Reason: Request signInInitiate failed with message: read ECONNRESET, request id: 3, error code: -32603 (a minute ago)
访问Github失败,需要进行科学上网设置。


评论区