一起来玩一玩AI编程助手-Cody,可能是程序员的第一个AI编程助手

引言

年初ChatGPT大火,给AI带来了很高的话题度。ChatGPT是内容生成式的AI,作为程序员,我们可以使用更加垂直的编程助手AI,因为之前看Android Framework代码的时候有用到SourceGraph。最近在查看Framework的一些代码资料的时候无意中看到SourceGraph出了一款AI编程助手--Cody,安装使用非常简单,在VS Code试用了一下。觉得挺有意思的,的确可以减轻程序员的一些工作。

快速尝鲜

如果想快速体验,直接注册账号在网页端体验即可。

本地体验

我是在VS Code里面安装Cody AI插件。

配置过程非常简单,就不再赘述了。我主要是分享一下我的使用过程,个人觉得还是挺有意思。以后可以早点下班了 (不是,可以多做几个需求了)

使用

我是在VS Code里面打开一个自己的小项目,然后以这个项目作为Cody的上下文Context。 代码是这样的:

Java 复制代码
public class CategoryActivity extends BaseActivity {
    ...
    //点击按钮跳转到RxjavaActivity
    public void rxjava2(View view) {
        startActivity(new Intent(this, RxjavaActivity.class));
    }
    //点击按钮跳转到OkhttpActivity
    public void okhttp3(View view) {
        startActivity(new Intent(this, OkhttpActivity.class));
    }
    ...
}

没什么特别的,就是在一个Activity里面有很多个按钮,然后点击按钮就跳转到相应的Activity。此时我对Cody说:模仿这个风格,帮我生成跳转到TestActivity的代码,包括TestActivity以及它的xml代码

好家伙,这个指令正确地执行了。看着代码一行一行生成,还是有点震撼的。 此时我转念一想,新建一个Activity是不是得在清单注册一下,于是我说:androidmanifest需要改动吗

嗯,Cody给了个必要的简单写法。这不能说是错的,虽然没有export之类属性,可是我也没有说要适配版本嘛不是。不过吧,既然是已经以当前项目为上下文了,是不是AI回答的时候也加上export呢(有点吹毛求疵了喂)?

让我再想想怎么刁难它,就用它生成的代码来问它吧:jumpToTestActivity这个函数,我想在CategoryActivity的xml里面定义一个按钮,你参考一下CategoryActivity的xml里面的做法吧

按钮生成是生成了,可是我的风格是这样的啊:

可以看到还是有区别的,我的代码是每次要添加按钮的话就copy一份就好了。当然,也不能说它是错的,因为的说法可能有点歧义了。你参考一下CategoryActivity的xml里面的做法吧它理解的做法用android:onClick指定回调函数吧,虽然我本意是想它生成完全一样的代码。 于是为了让它把style加上去,我说:不用你重新定义style,你就直接用它里面的MyButton

没有达成我希望它做的事情,而且项目里也没有com.example.samsung.testdemo.MyButton。 MyButton其实是style: 于是我说:你搞错啦,我想要的是这样的效果style="@style/MyButton" 这下终于完美达成了。此时我还想调戏一下它,不过刚好达到对话次数的上限50次了,要等24小时才能继续对话,就先到此为止吧。

总结

总的来说,个人觉得AI编程助手还是挺有用的,随着对话越来越多,它越来越能理解你的意图。当然,最好是对话的时候说清楚上下文,表达的时候最好清晰点。生活中很多人其实说话经常脱离上下文,这样不仅AI会困惑,就连人也会困惑。决定用来开发提速了,真香!这时候灵活的小伙伴已经把AI开发提速,并团队推广,提升团队开发效率写进OKR了。拥抱AI吧,各位。现在Cody还是免费使用阶段,上手成本低(配置过程极简,我全程用下来几乎没有报错),而且支持中文问答,可以作为程序员的第一款AI编程助手。

彩蛋

后面看看在更加贴近日常开发场景的使用是怎样的,TO BE CONTINUED。

相关推荐
黑金IT3 分钟前
`.cursorrules` 与 `.cursorcontext`:Cursor AI 编程助手时代下的“双轨配置”指南
人工智能
dlraba8021 小时前
基于 OpenCV 的信用卡数字识别:从原理到实现
人工智能·opencv·计算机视觉
IMER SIMPLE1 小时前
人工智能-python-深度学习-经典神经网络AlexNet
人工智能·python·深度学习
一笑的小酒馆2 小时前
Android性能优化之截屏时黑屏卡顿问题
android
小憩-3 小时前
【机器学习】吴恩达机器学习笔记
人工智能·笔记·机器学习
却道天凉_好个秋3 小时前
深度学习(二):神经元与神经网络
人工智能·神经网络·计算机视觉·神经元
UQI-LIUWJ3 小时前
unsloth笔记:运行&微调 gemma
人工智能·笔记·深度学习
THMAIL3 小时前
深度学习从入门到精通 - 生成对抗网络(GAN)实战:创造逼真图像的魔法艺术
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·cnn
却道天凉_好个秋3 小时前
计算机视觉(八):开运算和闭运算
人工智能·计算机视觉·开运算与闭运算
无风听海3 小时前
神经网络之深入理解偏置
人工智能·神经网络·机器学习·偏置