# CodeGeex又又又升级了，再分享几个日常的小案例

* 抖音：[https://v.douyin.com/iUBYEoH3/](https://v.douyin.com/iUBYEoH3/)
* B站：[https://www.bilibili.com/video/BV1UH4y157Cj/](https://www.bilibili.com/video/BV1UH4y157Cj/)

我就发现啊

有的产品真的是低调

我刚刚在研究这个路径规划的算法

写的这个demo

但这里一直有个bug

就是在预览动画的时候啊

这个线条存在渐变色

大家看到了吗

就是每一段的路线结尾的这地方

颜色是偏淡的

但其实代码里就只设了一个纯色

所以后来我就问了这个CodeGeex

然后呢我俩就经过了几轮的拉扯

最后啊还真给我解决了

主要的原因呢

就这里我在他每一帧的时候哈

只做了一个“lineTo”和“stroke”

没有重新的“beginPath()"和“moveTo”

什么意思呢

就这样为了实现这个动画效果哈

我让他每一帧画三个像素

也就是每17毫秒画一点

然后再画一点

然后再画一点

最后达成这么一个效果

但是呢

如果我们不在每一帧重新"beginPath()"的话

他每一帧都是从头画

比如说我第一帧哈画粗点，3像素到这

然后呢，第二帧换个颜色啊

其实没变

我为了演示！第二帧

我就细一点

他还是从头画

大家注意

但是呢

这个长度他还是往前移了3像素

依此类推啊

他第三帧也是一样的

我再细一点

还是从头画

就是因为这个

再加上线条是1像素的问题

导致它本来这个颜色是半透明的

所以呢前面一叠加显得颜色比较深

后边就比较淡

就出现这种效果

那解决这个问题呢

他就教我把这个放在里边

放在这，每次每一帧从新开始

也就是说从上次

“moveTo”的地方再开始

我们再来看一下啊

先随便选两个点

然后随便选个路线

我先把它稍微放大一点

注意啊！大家看，这回就没问题了

然后呢还有一个细节

就之前啊

CodeGeex在提示这种大括号的时候

注意现在还没采纳哈

只要你一接受这个提示

之前这个光标是跑到最下面的

就很不方便

但注意看

现在哈它就在中间了

就很方便

然后呢再举个例子

比如说这里先写一个“mounted"

啊然后呢

调一下比如说已经有的“init()”

注意哦今天就这么写了

比如这里有个“methods”

好然后注意

我不小心选中了这个大括号

给他删了

删了肯定自己要再写一个对吧

但我再写一个呢

这个VSCode（有个插件）就自动生成了一个

匹配的另一对

大家看了吗

所以这时候相当于多了一个

然后注意

它（CodeGeex）就自动适应了一个

刚才多出来的大括号

大家看！这样就可以了

就是我也不知道这个痛点

它是哪个版本给我解决的

反正就是有一天突然发现

这个痛点它不疼了

然后我们再看一个

特别日常的上下文的这种能力啊

这个是经常用的

比如说这个变量this

.interval ID

这个是后加的

就先写的这个“setInterval”

然后后来我发现需要清除嘛

所以我在这加了一这个

然后呢我在其他的“methods”里边啊

比如说这里用了啊

我换地方

大家看我就写一个clear

注意

大家看它提示的这个变量就是“this.intervalId”

它就知道我

要清除这个"intervalId"

所以呢我就发现他们升级迭代的很快

而且感觉又总是悄悄的

就把这个痛点给解决了

再看这几个功能啊

我也是才知道

把这个缩放缩小一点给大家演示

首先呢在这他有个斜杠

他这有几个快捷功能

比如我们试一下给代码增加注释

比如我们就给这几行哈

先选中他就可以了

然后在这斜杠选comment

注意

看这边

OK了注释就加上了

好然后呢

我们再看它还有一个“@”功能

它这个“@”提示有时候不出来

这应该是个bug

我们重启一下啊

好可以了

大家碰到“@”不出来可以重启啊

这里边他默认训练了一些常用的库

比如说我们“@vue”的

库

然后比如我们问他

为什么vue的data属性名不建议用…

“下划线”开头

大家看

就是他用他训练的库给我们来解释

他说如果用了“\_”开头

就不会作为响应式的属性来处理

这个大家可以去试一下

然后呢下边会有相应的源码的引用

包括现在整个codegeex

还分了Pro和Lite两种模式

Pro的区别就是更“AI”

所以呢相对慢一点

但我觉得它很良心…

就是这两种模式都是免费的

只是它在速度和智能上会有一点差异

最后啊我是真的忍不住想吐槽一下

这个新增的inline chat功能

就是快捷键command i

然后呢在这输入！什么意思呢

比如说我这是一个空的文件还好

比如说我让他写一个

el-table的demo

大家看啊

哎可以了

大家看还挺好对吧

整个这个页面都出来了

我想吐槽的是什么呢

就是不是他是空文件的时候

空文件都挺好用

但是呢

我们大部分情况不是在空文件里使用

比如说我这有一个方法哈

OK然后呢

我在这让他用inline chat

写一个删除方法

删除table的最后一个元素

注意看啊

大家看到了吗

他几乎好像就没有上下文的能力

他就没有感知到

我们是在一个这个methods里边

根本不需要这些模板代码

只要一个方法就好了

所以呢我就觉得哈

这个inline chat功能从交互上…

从设计上都没有什么问题

快捷键啊什么都很方便

只是呢它没有上下文的能力
