先忽略格式,简单写写,有时间再调整和更新内容
初版时间:2025-03-06
以下代码助手中属于插件版的均在Intellij idea下试用。
百度文心快码:免费版不能用智能体和R1,但可以用ERNIE-4.0-Turbo-128K,ERNIE-3.5-128K
ERNIE-Speed-128K。
指定workspace,代码区选中代码。发送生成代码的消息后,会把代码再放到聊天框,但不是显示行号范围。可以生成跨文件建议,但聊天框中对当前文件的建议也生产了文件头,其他xml文件没有文件头 。
应该是行内聊天和智能改写之类修改代码时,产生的diff框只在修改的部分弹出,只展示修改的部分对比。
缺点 :光标在编辑区行内时,点采纳会把带文件头的应用在光标处。还有有时候不知道为啥就不补全了,快捷键触发也看不到状态栏底部logo在旋转。
它接入的deepseek-R1目前只开放给企业版。
25-03-14 21:52 想试下zulu智能体,显示人太多,服务器繁忙
特点:不知道算不算有优点,所以我用特点。智能改写功能看起来好酷炫。可以把光标上方或下方的代码进行打字机效果的编写,也可以删掉你的代码。自动补全时有时会删掉光标上方的内容,用暗红色标记,但会让你确认是否采纳。
有预测下一编辑点功能,官网介绍是可以跨多行补全,比如修改变量名时将涉及到的变量引用一起改了;在switch语句中,改一个case语句可以对多个已存在case智能修改,tab键采纳预测光标跳转。
但该功能只对企业专属版开放,甚至付费的个人专属版和企业标准版都没有此功能。
优点:支持行内聊天,有时候补全提示挺快的
智谱codeGeex:只支持codeGeex的lite和pro两种模型。没有智能体,但可以选中代码,在聊天框会标记为行号范围,可以生成跨文件代码。不过跨文件的建议带了方法名,需要打开对应文件后手动粘贴拷贝。
优点:比其他几个多了“幽灵注释”功能,即可在代码旁增加灰色注释但不写入文件。
缺点:感觉智能补全不好用,经常只生成单行,要么就是拷贝了已有的代码。没有deepseek-R1模型。
还有就是行内聊天中,如果直接在编辑区生成新代码,它的对比是单文件内对比,没有双栏对比功能。
该工具支持代码补全和聊天的完全本地模式,但需本地部署codeGeex开源模型(更新:官网说可支持openAI响应格式的其他模型)。
阿里通义灵码:支持R1,聊天框跨文件建议同上。具备AI程序员,但没试。因为经常太卡,出不来字,出来也很卡,甚至导致idea也卡死,聊天框和AI程序员都是。
优点:插件安装启用禁用都不需要重启idea。其他几家完全没遵守idea不重启的规范。
缺点:卡顿。应用AI程序员的代码,弹出的diff框,有两个行号,但是是在同一个页面内对比,不是双栏对比,不好查看。
腾讯云Ai代码助手:
试了下聊天中选中workspace,代码区选中代码,聊天框发送问题后会显示行号范围。可以生成跨文件应用。我在service中问的问题,生成了对应xml的代码,不过它省略了dao的interface代码,有告诉我要创建一个dao的interface。看了下也是需要手动打开对应文件再粘贴 (它生成的xml文件上级路径实际不存在)。
聊天框采纳后,会先弹出diff页,显示整个文件对比,但差异点只计算此次建议产生的(自己手动修改但未commit的不算在内),再次确认才会应用到代码区。
有预测下一个编辑点功能(beta),可在设置项开启。不过我主要开启文心快码的智能改写,还没试腾讯的。
25-3-16(百度个人免费版不能用预测下一编辑点,那我得开启腾讯的试试)
优点:一个问题是每个 空行都有快捷键灰色提示文本,干扰阅读。聊天框支持本地ollama模型,有腾讯自己的ds-R1和混元大模型可用,也支持第三方deepSeek的Apikey填写入口。
缺点:发现它的聊天框代码apply目前主要只会在当前打开的这个文件生效。用R1也没有读对我给的其他类中具备的字段,给出的是猜的。apply比较慢。
还有就是对比其他几家感觉不够克制,它在点击某段代码的idea自带的intent action(意图操作)菜单上加了6个菜单,其他几家要么有的情况不加,要么最对加一个。导致许多不需要AI进行的修复,键盘不得不多按五六次,跳过6个菜单。
还有光标空白行内固定的快捷键提示;以及关闭自动补全时在底部状态栏的logo旁展示快捷键提示文案,占用了10个以上的logo宽度,导致笔记本等较窄的屏幕状态栏显示不了其他的全部提示项或者文件导航路径。其他家关闭自动补全时只会给自己的logo打上一个叉之类。
字节Marscode:聊天框支持R1,v3,doubao-1.5pro。上下文设定为worksapce时,再选中service代码, r1思考过程可以看到它能读取controller和mapper再生成跨文件代码,会列出参考到的本地库各文件所涉及的代码行。
虽然他的xml没有写出全路径,但是有一个优点是,生成的其他文件的代码和其他文件的xml代码只包含需要的sql语句,而不包含文件头等,打开对应其他文件可以直接插入。其他工具生成的均有文件头,需要手动选中sql再拷贝。
1.2.1.20版本:新增了builder模式按钮,但此功能写着“即将上线"
最近聊天框代码新增了apply功能
缺点:聊天框代码apply后没有diff对比功能。插件市场总是不写更新日志,日志还停留在一年前。
优点:我选deepseek-R1让他将两个类不同但字段相同的List进行拷贝,第一次只引用当前未见没找对,也是猜。第二次我指定了当前项目,它有找出两个类实际的字段值。生成的代码可以正确应用到文件,apply速度快。
字节Trae:基于Vscode开发的AI ide,类似cursor。java开发需要装必备插件,建议包括gitlens,否则git双栏对比无法左右滚动,光标移动到屏幕后文字也不会左移。聊天框支持R1,v3,doubao-1.5pro。刚开始用,时间都花在学vscode怎么开发java上了。
聊天框跨文件补全,点应用可以打开对应文件。但应用提示不是当前文件啥的,需要拷贝粘贴。
思考过程会提示参考的多个文件上下文涉及的行号。不过还不懂@Autowired等引入元素要生成到类成员而不是方法中。
目前对lombok的@builder会误报,但可以启动项目。很多功能不如idea,没有跳转相邻方法的快捷键可设置等
更新补充:非vscode支持良好的代码语言不必去试Trae了。深度试用了几天Trae,已放弃,除非后面有插件实现不了又特别有用的功能。现在idea插件版的其他家助手,也能实现预测下一编辑点,行内聊天这些,builder模式,没必要换ide。
总结:自动补全感觉没有特别好的。要效果好,还是在右侧聊天框结合codeBase或workspece要好些。