一、关于cursor的必要了解
1、cursor有两种模式:chat和composer,比较建议的使用方法是使用chat帮助我们沟通需求,分解问题,问题逐渐清晰之后再用composer生成相应的代码。
2、composer模式仅支持收费的高级模型,因为composer需要大模型融合编译器功能,cursor对模型的适配进行了二次开发,所以接入其他模型的API接口是用不了的,只能使用chat模式。
3、必要的设置:
- 为AI定制规则,提出前置要求。
- 让AI阅读你的项目代码。
二、使用心得技巧
1、善用AI阅读需求文档
可以在Docs添加文档,这样AI会始终带着需求理解你的问题并阅读项目代码。
这里本质是爬虫抓取文档内容,有时会出现抓取失败的情况,建议是.md、.html或pdf,如果这里确实抓不下来数据,还可以通过在连聊天框输入@+文档链接的方式让AI读取,如下图:
2、chat和composer结合使用
chat和composer是两个信息不互通的模式,也就是说你在chat中问过的问题composer并不知道。而composer模式会直接创建和修改文件,适合思路已经比较明确的时候使用,否则交互成本过高。所以一个推荐的使用思路是,在chat模式下和AI沟通需求,把每个小问题搞清楚,已经有了可以实现的方案的时间再去composer写代码,同时可以使用cursor的notepad工具来记录下来在chat模式下和AI沟通的问题细节,然后到composer模式把记录的notepad丢给AI,这就起到了桥梁的作用。
3、cursor结合idea使用
cursor是和vscode风格一致的,前端开发用起来会顺手一些,但如果是后端想用cursor,但是又习惯了idea,那么可以结合使用。cursor也可以编译Java代码,但可能不如idea的功能全面。
可以在cursor和idea同时打开同一个项目目录,然后分别下载两个插件,就可以通过快捷键快速跳转到另一个软件的当前使用文件的光标位置。比如光标在idea的Home.java的第17行代码,按快捷键后就会在cursor打开相同的文件,光标位置也会同步定位(cursor反之也可以跳转定位到idea)。
4、解决AI乱改文件,回答偏差太大的问题
1)先保存预览再accept,在composer回答之后,可以选择先save all ,然后运行代码查看效果,如果不满足需求就可以直接reject然后再重新描述提问。
2)如果已经应用了代码,可以使用cursor的restore回滚功能(在每次提问上面都有这个选项)。
3)可以在提问时预防AI给出我们不想要的答案:
如果只是不想要的答案还好说,但在composer模式下,AI在回答问题的同时会同步修改你的代码,把文件改的乱七八糟。一般这种情况都是因为AI在理解我们提出的问题时,某些词汇出现了理解偏差。AI的能力很强,但是需要得到足够清晰的指令后才能给出符合要求的答案。可以通过以下几个方法规避这种情况:
- 在我们描述问题或者给出需求的时候,在描述的最后写一句:请先复述我的需求,我需要看一下我们的理解是否一致。
- 明确指令范围,比如只允许AI查看和修改某几个文件的内容(选择特定文件)。
- 最好我们提出的就是比较精确的需求,而不是一个范围很大的需求,要先对需求做拆解,拆为一个个小需求再提问得到的答案会相对准确一些(建议先chat再composer)。
补充一点:提问的时候最好是提建议式的沟通语气而不是下命令。除非非常确定自己想要用什么方案,否则更推荐和cursor沟通时多问一下某个方案怎么样,并从AI给出的多个方案中寻找最佳方案,选择直接下命令的方式,这会削减AI发散思维的能力,要利用好AI丰富的知识面。