让人工智能帮你写代码之Cocos|社区征文

近期阿chuan在某视频平台看到有人展示了Github Copilot 辅助编写代码,看起来很有意思,于是阿chuan匆匆申请了Github Copilot测试;

令人惊喜的是:2天之后申请通过了

在经过深夜半小时的学习之后,阿chuan试着使用Copilot编写服务端TS代码,结果很是惊喜,在大部分情况下,CopilotAI很清楚你要做什么,通常会给出比较满意的建议;

由于阿chuan之前都是使用Cocos Creator + TypeScript编写游戏; 以及使用Electron + JavaScript编写 Cocos插件

于是今天开始在这两者中测试Copilot;

Cocos Creator

1. 函数推导篇

可以看到,Copilot很容易从函数名和上下文中知道你想干什么并且给出建议代码

接下来我们让label变成红色

变成透明

设置文本
截屏2022-04-01 17.40.58

添加触摸事件侦听

跳转场景

跳转场景并添加回调,厉害的是: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

函数名推导


截屏2022-04-01 17.59.07

简单的函数名推导看起来还不错​;

但奇怪的是,可能因为chuan编写Cocos Inspector使用的是JavaScript,在很多情况下Copilot并不能有效推导,甚至AI对Electron似乎也不熟,时常无法给出合理建议

总结

  1. Copilot 并不完美,但是合理调教下,还是可以提供有益的帮助,就像Copilot官网所说的一样,似乎有一个AI在和你结对编程( Pair Programming

  2. AI 可能会分析开发者使用的框架,这会降低开发者使用框架的门槛,许多api不需要查看文档,直接通过 注释 或者 函数名 即可推导出来

  3. Copilot 目前可能对偏强类型语言的分析更加准确,比如 TypeScriptC# 等等

  4. AI编程的出现,让开发者似乎感觉到了危机,对框架或引擎的熟悉已经不再成为相对新手开发者的绝对优势,所以阿chuan觉得,开发者要开始多探索 AI所不能触及的领域 了。

欢迎大家在本帖探讨:AI所不能触及的领域 :smile:, 以及其他使用Copilot开发Cocos游戏的技巧

关注阿chuan的公众号,及时了解更多的科技资讯开发利器
image

10赞

厉害了!把已有的项目整合,也是发明创造。

1赞

有趣 :laughing:

1赞

mark :crazy_face:

1赞

:grinning: :grinning:
一直在使用, 现在申请资格审核很快了,
另外补充一个, 写个中文也可以让 Github Copilot 写些代码
GIF 2022-4-2 16-45-11

1赞

强啊 我们不生产代码 我们只是代码的搬运工

1赞

补充一下:虽然默认用的是finished,但是当你输入L的时候, 自动推荐为 lastframe, 厉害了 :laughing: