近期阿chuan在某视频平台看到有人展示了 Github Copilot 辅助编写代码,看得直冒虚汗,背心发凉!这么强......这还要不要人活了!

42a1ca494f744a88f85bd6f0e874fcbf.png

于是匆匆申请了 Github Copilot 测试,没想到:2天之后申请通过了,我竟然爱上了她!

56f6b353d42438e13ecf4694f55be737.gif

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

77f8a2ef57760e840cab6030f732ca77.png在获得试用资格,经过深夜半小时的学习,阿 chuan 试着使用 Copilot 编写 TS、JS 代码,结果很是惊喜!

2a763fb6c250e085bf19fc06e32f1a72.gif

在大部分情况下,Copilot 的 AI 很清楚你要做什么,通常会给出比较满意的建议。因此我决定了,从此以后,我要与AI共存!!! 

下面阿chuan就给大家介绍一下,我与AI的亲密接触体验,说不定你也会爱上她的哟!

Cocos Creator

1. 函数推导篇

bb6f00896242413f48f88901f1938603.png

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

接下来我们让 label 变成红色,通过函数名它就知道我想干什么8b136fd5f1347d275493c4ebf69d3382.png

9f7ef1f02d77de225c64bdc6111bec00.png

变成透明,同样一样的好使b4c907fca96ba568b5928d17efe7c1f4.png

f00bf9bde832743186cf604921bbfd76.png

设置文本,简直就是......不要不要的9fb75238782aa733f73ce299b53e043c.png

dc72bffe2128228e187b92efde7bbfee.png

添加触摸事件侦听,这下猛的一批4行代码都帮我写了fb254b5bfc85a16a753fe620e7e206e1.png

e0c3b2981cd55553bc971ccb9e277206.png

跳转场景,不在话下2668b19a9f1f95f0a1309ce8f0bcb97b.png

c4ced5303ec5d76d7733a0e0cf08c970.png

跳转场景并添加回调,厉害的是:Copilot 自动建议额外的Complete回调5d90af58cd536c9c45066700bccada11.png

e9e69856f15097ab9d78e7deb4571a3f.png

计算节点距离,这个就很有用了如果不熟悉 Cocos API 的同学,只要写好函数名,Copilot 自动帮你找到合适的API,并给出完整代码d05ba8bb5c65aafd7a9f8b343a7a1a0f.png

098071a574b1d796145aafe3ed2c290b.png

自动找到合适API画圆ba6bb27427d5eaf1c25fadc243874dde.png

4aadbb6634718cdfa4355d6efded3fd5.png

添加键盘事件2eaccc4ac9ed991813e49252b9ceb13a.png

eee94a60a837837f1de9ace2bdf9d44b.png

添加 ScrollView 事件c34a8e8bf86fd51639c1ecc1e6b7602b.png

c2b2256cf032f6e1eb451ee3686cf9ef.png

添加Slide事件c6aec05b8e6807d24b9f4241452886ff.png

d4803ed4e2f860011662ebb6cd9e91ca.png

看完这么多,是不是感觉以后程序员可以靠编写函数名就可以编程了?

别急,还有根据注释编程!!!

2. 注释推导

输入注释://get world pos 自动给出合适的代码,厉害了

cb36a4aef80ceb7526a86ceb10687458.png

3. 上下文实时建议

刚编写一个 let ani ,Copilot就自动给出后面的代码,厉害了。

a6ac0f21ec38f57956cb12b2a3e5e81e.png

然后继续编写ani.on,又自动给出 'finished'事件代码。

d3b0c9db4ba1c8ad8e30f220c0f75b01.png

但是不会提供箭头函数的建议,可能是刚使用,Copilot 还不熟悉我的编程风格,在注释中要求后,Copilot 给出了。

38d8f00e0c53d0fac2b462eb6b43bd45.png

但是

把注释中的 Finish 改成 Last Frame 之后,AI 仍然给出 finished 事件的代码,这就不知道是AI不完善,还是使用时间太短,需要与开发人员互相磨合与调教。

Cocos Inspector

Cocos Inspector 是我在 Cocos Store 上的一款插件!骚味得瑟一下,目前插件排行榜销量No.1,这段时间吃饭全靠它了,因为我年后又失业了6dbddc76537336577451394d5f47a828.png

不说废话了,先试试 Copilot 在 Cocos Creator 插件开发中的表现,函数名推导。

5671a611457167e61dda513487e0d014.png

简单的函数名推导看起来还是很不错滴!

88066ee7ae841da389d9fd7efb8dc53e.png

但奇怪的是,可能因为我编写 Cocos Inspector 使用的是JavaScript,在很多情况下Copilot 并不能有效推导,甚至 AI 对 Electron 似乎也不熟,时常无法给出合理建议。后面我还需要对它进行持续调教!

afe70f3d27138c549246027748132508.gif

总结

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

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

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

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

c0599ee992da233cfc6547844bc63372.png

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐