Cursor使用谷歌Gemini API
Cursor使用谷歌Gemini API
Cursor本身是收费产品,在Cursor试用期过后,调用Cursor模型速率会下降,需要排队等待,现在谷歌Gemini API是暂时不收费的,上下文也足够长,本文配置Cursor使用Gemini API并进行编程体验。
配置使用Gemini API
在Cursor的设置,模型,找到Google API Key,点击“your Google AI Studio key”链接,在浏览器中会打开Google AI Studio网站,点击创建API密钥,将生成的密钥保存一份,并填到Cursor中,现在Cursor聊天就是调用Gemini API了。
配置其他模型API后,Cursor将不能自动补全,主要通过聊天来生成代码,需要手动复制生成的代码到具体代码文件中,虽然效率低一些,但不花钱。
编程新姿势
1.编写描述详细的README.md文档
AI可以通过README.md和已有的代码,快速了解整个项目,所以写得越详细越好,推荐中README.md文件中写项目介绍、技术栈、功能描述、名词解释和目录结构这几方面,可以参考GitHub上一些比较有名的项目。
2.聊天生成代码
使用快捷键Ctrl/Cmd + L打开聊天窗口,先使用@Codebase,让Cursor读取已有的整个项目,上面文档写得越详细,AI模型了解得越清楚,相当于基于当前项目进行了一次RAG,在后续聊天生成代码就会更符合需求了。
3.具体示例
我先搭建了Gin运行的基础框架后,之后就是生成数据库模型model,下面是我的一些提示词。
Generate database model based on functional description and existing code,use
in Gin framework
会根据已有的功能文档和代码,生成对应的数据库模型,基本都符合功能文档要求。聊天框上下文是有记忆的,只需要输入新的要求即可,我不想在数据库中使用外键,在聊天框中输入“Don't use foreignkey”,会生成对应无外键版本的数据库模型。默认GORM是使用uint作为数据库主键的,且是自增长的,会被猜到主键,想改为使用uuid,在聊天框中输入“gorm.Model ID don't use uint type, use uuid”后,会重新生成对应使用uuid的数据库模型,这里选用了https://github.com/gofrs/uuid这个uuid库,我又在GitHub上搜索golang语言uuid库,看还有没有其他uuid库,发现了谷歌的uuid库:https://github.com/google/uuid,在搜索对比了一下两者不同,选择使用谷歌的uuid库。后面又增加了数据库模型注释,基本数据库模型model都已生成完成了,效率相当可以。
最终的整个生成数据库模型提示词如下:
Generate database model based on functional description and existing code,use
in Gin framework,don't use foreignkey, gorm.Model ID don't use uint type, use
google uuid, add gorm Chinese comment, like `gorm:"comment:菜单名称"`
每次代码后面还有较为详细的解释,数据库模型model使用示例,在启动项目时,还遇到两个错误,也是在聊天中处理的,如果有疑问也可以在聊天中继续问。一会功夫,十几个模型代码文件都已生成好,设置启动时GORM自动数据库迁移,正常启动后会在数据库中创建模型对应的数据库表,最终十几张表就生成中数据库中了。
最主要是要先写好项目文档,且越详细越好,AI模型生成的就会越符合要求,效率就会越高。对生成的代码有自己的判断,总体来说Gemini生成代码质量还是不错的。
Gemini 2.0是支持多模态的,要是Cursor能对接上多模态就更给力了,直接根据应用程序截图的图片生成代码,哈哈哈!