近期阿chuan在某视频平台看到有人展示了Github Copilot 辅助编写代码,看起来很有意思,于是阿chuan匆匆申请了Github Copilot测试;
令人惊喜的是:2天之后申请通过了
在经过深夜半小时的学习之后,阿chuan试着使用Copilot编写服务端TS代码,结果很是惊喜,在大部分情况下,Copilot的AI很清楚你要做什么,通常会给出比较满意的建议;
由于阿chuan之前都是使用Cocos Creator + TypeScript编写游戏; 以及使用Electron + JavaScript编写 Cocos插件
于是今天开始在这两者中测试Copilot;
Cocos Creator
1. 函数推导篇
可以看到,Copilot很容易从函数名和上下文中知道你想干什么并且给出建议代码
接下来我们让label变成红色
变成透明
设置文本
添加触摸事件侦听
跳转场景
跳转场景并添加回调,厉害的是:Copilot 自动建议额外的Complete回调
计算节点距离,这个就很有用了如果不熟悉cocos相关api的同学,只要写好函数名,Copilot自动帮你找到合适的Api,并给出完整代码
自动找到合适Api画圆
添加键盘事件
添加ScrollView事件
添加Slide事件
看完这么多,是不是感觉以后程序员可以靠编写函数名就可以编程了?
别急,还有根据注释编程
2. 注释推导
输入注释://get world pos, 自动给出合适的代码,厉害了
3. 上下文实时建议
刚编写一个 let ani ,Copilot就自动给出后面的代码,厉害了
然后继续编写ani.on, 又自动给出 'finished’事件代码
但是不会提供箭头函数的建议,可能是刚使用,Copilot还不熟悉我的编程风格,在注释中要求后,Copilot给出了
但是
把注释中的Finish 改成 Last Frame之后,AI仍然给出finished事件的代码,这就不知道是AI不完善,还是使用时间太短,需要与开发人员互相磨合与调教
------ 补充 -----
Cocos Inspector
函数名推导

简单的函数名推导看起来还不错;
但奇怪的是,可能因为chuan编写Cocos Inspector使用的是JavaScript,在很多情况下Copilot并不能有效推导,甚至AI对Electron似乎也不熟,时常无法给出合理建议
总结
-
Copilot 并不完美,但是合理调教下,还是可以提供有益的帮助,就像Copilot官网所说的一样,似乎有一个AI在和你结对编程( Pair Programming )
-
AI 可能会分析开发者使用的框架,这会降低开发者使用框架的门槛,许多api不需要查看文档,直接通过 注释 或者 函数名 即可推导出来
-
Copilot 目前可能对偏强类型语言的分析更加准确,比如 TypeScript , C# 等等
-
AI编程的出现,让开发者似乎感觉到了危机,对框架或引擎的熟悉已经不再成为相对新手开发者的绝对优势,所以阿chuan觉得,开发者要开始多探索 AI所不能触及的领域 了。
欢迎大家在本帖探讨:AI所不能触及的领域
, 以及其他使用Copilot开发Cocos游戏的技巧
关注阿chuan的公众号,及时了解更多的科技资讯与开发利器