AI辅助编程:Cursor、RooCode、Github Copilot等初体验
password
icon
AI summary
type
status
date
slug
summary
tags
category
不必恐惧,拥抱变化。
1. 各式AI辅助对比
对比维度 | Cursor | CodeGPT | 通义灵码 | Comate | Copilot |
插件简介 | 基于vscode二开的AI编辑器 | 开源的IDEA插件,可以对接多种大模型 | 阿里开发的AI编码插件 | 百度开发的AI编码插件 | GitHub开发的AI编码插件 |
生成质量(5分最高) | 4分
1. 非常理解上下文2. 非常理解提示词3. 场景很全面 | 3分
1. 可以理解提示词,生成的结果会更加规范一些2. 覆盖场景相对Copilot和通义会差一点,但比Comate好 | 3分
1. 不理解提示词2. 覆盖的场景很全面3. 要改的相对Copilot多一点 | 2.5分
1. 不理解提示词2. 覆盖的场景比其它三个要少 | 3.5分
1. 可以理解提示词,但不是所有的规范都遵循2. 覆盖的场景比其它的全面,生成的代码错误相对较少 |
操作流程(5分最高,以单元测试为例) | 4分
1. 内置提示词(一次配置就好)
2. 无脑 @Codebase+给出要生成的方法名
3. 确定AI生成的内容(确定后会自动创建或写入文件)
4. 切换到IDEA开始修改或执行 | 2.5分
1. 内置提示词(一次配置就好)
2. 使用@选中文件
3. 给出需要生成的单元测试方法
4. 复制生成好的代码
5. 修改或执行代码 | 3分
1. 选中代码块右键直接生成
2. 复制生成好的代码
3. 修改或执行代码也可以打开对话框,在对话框输入提示词,选中文件,再给出需要生成的单元测试方法。(但效果并不是很好) | 3分
1. 选中代码块右键直接生成
2. 复制生成好的代码3. 修改或执行代码也可以打开对话框,在对话框里面选择【知识】,再选择 【文件】,再给出需要生成的单元测试方法。(但效果并不是很好) | 5分
1. 打开对话框,输入提示词
2. 选中相关的文件
3. 给出需要生成的单元测试方法
4. 复制生成好的代码5. 修改或执行代码 |
是否支持集成测试 | 支持的很好,都可以从别的单元测试里面拿到数据库的id | 支持 | 生成的测试不是很好,会出现方法模拟错误和参数错误的情况 | 需要每次都先给样例模板才可以生成集成测试,生成的结果会有很多无用的代码 | 支持 |
生成速度 | 快 | 快 | 很快 | 很快 | 不太稳定,有时候快,有时候慢 |
扩展性 | 1. 支持编辑器提示词2. 支持单个项目提示词 | 内置提示词 | 1. 无法内置提示词2. 对话框输入提示词理解不好 | 1. 无法内置提示词2. 对话框输入提示词理解不好 | 可以理解提示词,需要每次对话都要先发一遍 |
成本/费用 | 20$/月但可以一直注册账号、或用插件薅羊毛 | 想要正常使用都必须要买 API keyeg:通义的模型调用-输入¥0.0035/千个模型调用-输出¥0.007/千个注:百度的模型暂时用不了,CodeGPT的模板无法适应百度的API | 免费 | 免费 | 1. 需要购买账号2. 需要梯子 |
优缺点 | 优点:1. 内置提示词2. 生成的单元测试质量好3. 不用复制粘贴,代码直接写入文件,也不用导包4. 比较好的追加沟通,且可以把执行错误发给它,然后它会继续修改,效果还不错缺点:1. 付费(目前可不断薅羊毛)2. 需要开2个编辑器3. 学习一个新的编辑器成本 | 优点:1. 内置提示词2. 相对稳定,输入是很确定的(本质是调API,不会对你输入做处理)缺点:1. 付费2. 交互和生成的质量不如cursor | 优点:1. 免费2. 操作简单(右键生成)缺点:1. 无法理解提示词2. 右键直接生成不稳定3. 质量和交互一般 | 优点:1. 免费2. 操作简单(右键生成)缺点:1. 无法理解提示词2. 右键直接生成不稳定3. 生成的质量最差 | 优点:1. 可以理解提示词(需要每次输入)2. 生成的测试质量相对很好缺点:1. 付费,需要梯子2. 提示词需要每次都输入(能理解但理解的不是很全面)3. 交互和生成的质量不如cursor |
2. 实战
本文将在两个领域实际尝试AI辅助编程:
- 前端:博客美化,修改一些渲染逻辑,添加样式等。
- 后端:Java开发接口。
1. 博客美化案例
产品需求:美化GitBook主题样式,修复代码块首次加载时Mac样式和折叠功能不生效需求工时:0.5天
需求分析:
- 整体样式需要支持平滑过渡和明暗模式切换
- 修复首次加载时代码块样式不生效的问题(本博客框架NotionNext自带Bug,刷新一次后正常)
- 数学公式需统一渲染为蓝色,并适配暗黑模式
VSCode的Github Copilot
采用Github Copilot的Agent模式,模型是Claude 3.7 Sonnet,三次关键对话完成需求优化:
对话 | 输入内容 |
1 | @Codebase 帮我优化GitBook主题的全局样式,添加明暗模式过渡效果,内容区域增加圆角和阴影 |
2 | @Codebase 修复代码块首次加载时Mac样式和折叠功能不生效的问题,在PrismMac 组件添加重试机制 |
3 | @Codebase 将文章里的数学公式统一改成蓝色,明亮模式用#0366d6 ,暗黑模式用#58a6ff ,修改KatexReact 组件 |

以上代码commit在:
由于第一次对话,AI改进样式时给文章标题和导航栏的按钮和链接都加了蓝色,因此第3次commit我手动删除了此部分多余的CSS。
第一次对话就完成了核心样式改造,后续仅需微调颜色和修复边界问题。AI能精准理解组件关系,甚至主动补充了暗黑模式适配方案。
VSCode的Roo Code
让它帮我修复“代码块首次加载时Mac样式和折叠功能不生效”的问题,只是做了口语化的描述,它就很清楚地理解了需求并做出了正确的修改:
关键代码是:
Roo Code干了以下两个事,成功解决了问题。
- 在外部资源加载完成后添加500ms延迟的
renderPrismMac
调用
- 在
prism-mac-style.css
加载完成后添加300ms延迟的renderPrismMac
调用

可以看到每步都可以手动进行确认,并且告诉了每步的原理、花费,还是非常贴心的。
2. Java开发案例
不要把Ai当成一个傻子,更不要把它当成上帝,而是把它当作一个人。当你和别人沟通的时候,你要说出背景和问题,有了清晰的背景和清晰的问题,别人才可以很好的给你答案。
对于写代码来说,背景就是「整个代码库」,问题就是指令,比如「为xx接口,新增一个xx字段的查询条件」
Cursor的强大在于它可以很好的理解代码库,当你在 在 Composer 里面 @Codebase 它就理解了整个代码库,是真的理解了,不再是之前IDEA里面的插件一样含糊其词的理解。既如此那么在使用Cursor只剩下一个问题了:「描述问题,下达指令」
产品需求:为某个列表新增两个时间查询需求工时: 0.5天
需求分析:需要被查询的2个字段,字段A数据库是时间,字段B数据库是日期,前端产品要求传递日期范围
那么就要在
Controller
的Query
里面新增4个日期的接受字段,传递到Service的时候字段A相关的要转成时间,同时在XML里面加上对应的查询Cursor
三次对话完成了这个需求
对话 | 输入内容 |
1 | @Codebase @DmsPatientPackageController.java 需要对 findPatientPackageWithPage 新增 created 和 expiryDate的范围查询, created前端传递的是日期格式,数据库是时间格式,需要在 @DmsPatientPackageViewServiceImpl.java 进行转换, |
2 | @Codebase 1、我习惯让开始叫From,结束叫To, 2、日期转成时间的时候开始要是00:00:00,结束要是 23:59:59, 3、你需要帮我完善SQL对这几个字段的处理 @PatientPackageMapper.xml |
3 | @Codebase createdTo 改为 createdDateTo,createdFrom 改为 createdDateFrom, createdBeginTime 改为 createdFrom, createdEndTime 改为 createdTo,expiryBeginDate 改为 expiryDateFrom,expiryEndDate 改为 expiryDateTo |
在第一次对话的时候,从Controller到Xml 的代码就写完了,后面的都是简单的调优了。你没看错,它就是可以这么好的理解代码库。
建议
- 虽然可以直接用Cursor全部的开发,但体验不是很好,最重要的是当它改了代码,删除的是红色,新增的是绿色,在check代码的时候很难受。我现在都是用Cursor写代码,然后IDEA来check代码。同时打开一个项目切换一下并不麻烦,在IDEA里面看到的都是修改后的代码,check起来一目了然
- Ai是会犯错的,check代码很重要,当写完一个小的功能建议提交代码,不然写的多了后面想要会滚什么的相当麻烦
- 最最最最重要的就是先下载尝试
总结&好文推荐
AI辅助编程在前端领域已经势不可挡,在后端领域,由于IDEA在Java开发的霸主地位,虽然支持Github Copilot插件但远没有Cursor等原生集成IDE来得丝滑。
知乎上这篇全网首家,教你快速打造个人/企业版本 cursor对智能IDE的总结值得一看。
上一篇
Windows下C++环境配置:VSCode+Clangd+Cmake+Ninja
下一篇
本地大模型部署
Loading...