一起来玩一玩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。

相关推荐
ASD123asfadxv20 分钟前
【蜂巢健康监测】基于YOLO的蜂群病虫害识别系统
人工智能·yolo·目标跟踪
说私域25 分钟前
基于AI智能名片链动2+1模式服务预约商城系统的社群运营与顾客二次消费吸引策略研究
大数据·人工智能·小程序·开源·流量运营
歪楼小能手1 小时前
Android16系统go版关闭重力旋转开关后缺失手动旋转屏幕悬浮按钮
android·java·平板
丝斯20111 小时前
AI学习笔记整理(50)——大模型中的Graph RAG
人工智能·笔记·学习
Coder_Boy_1 小时前
基于SpringAI的在线考试系统-DDD业务领域模块设计思路
java·数据库·人工智能·spring boot·ddd
崇山峻岭之间1 小时前
Matlab学习记录37
android·学习·matlab
甜辣uu2 小时前
双算法融合,预测精准度翻倍!机器学习+深度学习驱动冬小麦生长高度与产量智能预测系统
人工智能·小麦·冬小麦·生长高度·植物生长预测·玉米·生长预测
AI街潜水的八角2 小时前
深度学习烟叶病害分割系统3:含训练测试代码、数据集和GUI交互界面
人工智能·深度学习
AI街潜水的八角2 小时前
深度学习烟叶病害分割系统1:数据集说明(含下载链接)
人工智能·深度学习
weixin_446934032 小时前
统计学中“in sample test”与“out of sample”有何区别?
人工智能·python·深度学习·机器学习·计算机视觉