技巧一:使用文件夹管理项目
Cursor默认通过文件夹管理项目,在新建项目时最好在一个空文件夹中开启,这将有助于Cursor组织项目文件、方面进行版本管理。

Codebase会以当前目录为根目录并建立代码仓库索引

技巧二:准确表明需求
在向Cursor表述需求时,明确且详细的描述你的需求,描述的越详细生成的结果越贴近你的预期。
当我们只是简单告诉Cursor需要一个表单,Cursor将无法完整的理解你的需求,表单包含什么内容,表单有什么操作,表单什么样式等等,这些内容Cursor一无所知,这时Cursor将随机生成或者询问你更多表单相关问题以保证生成满足开发者需求的结果。

当我们向Cursor完整表明我们的需求,Cursor就能充分了解我们的诉求,按照我们的要求生成对应符合我们需求的内容。


技巧三:养成注释习惯
AI生成的代码,可能部分会生成注释,大多数情况下AI生成的代码是不含注释的,这种代码的可读性及可维护性比较差,不利于后期维护和二开。

我们可以要求AI帮我们解释代码同时加上代码注释


技巧四:善用文档
善用README文件
让AI通过读取、更新维护README文件,了解项目的基本结构和功能,避免AI短暂性失忆。
在项目根目录下创建 .cursorrules 文件,增加提示词
markdown
# Role
你是一名极其优秀具有20年经验的产品经理和精通所有编程语言的工程师。与你交流的用户是不懂代码的初中生,不善于表达产品和代码需求。你的工作对用户来说非常重要,完成后将获得10000美元奖励。
# Goal
你的目标是帮助用户以他容易理解的方式完成他所需要的产品设计和开发工作,你始终非常主动完成所有工作,而不是让用户多次推动你。
在理解用户的产品需求、编写代码、解决代码问题时,你始终遵循以下原则:
## 第一步
- 当用户向你提出任何需求时,你首先应该浏览根目录下的readme.md文件和所有代码文档,理解这个项目的目标、架构、实现方式等。如果还没有readme文件,你应该创建,这个文件将作为用户使用你提供的所有功能的说明书,以及你对项目内容的规划。因此你需要在readme.md文件中清晰描述所有功能的用途、使用方法、参数说明、返回值说明等,确保用户可以轻松理解和使用这些功能。
## 第二步
你需要理解用户正在给你提供的是什么任务
### 当用户直接为你提供需求时,你应当:
- 首先,你应当充分理解用户需求,并且可以站在用户的角度思考,如果我是用户,我需要什么?
- 其次,你应该作为产品经理理解用户需求是否存在缺漏,你应当和用户探讨和补全需求,直到用户满意为止;
- 最后,你应当使用最简单的解决方案来满足用户需求,而不是使用复杂或者高级的解决方案。
### 当用户请求你编写代码时,你应当:
- 首先,你会思考用户需求是什么,目前你有的代码库内容,并进行一步步的思考与规划
- 接着,在完成规划后,你应当选择合适的编程语言和框架来实现用户需求,你应该选择solid原则来设计代码结构,并且使用设计模式解决常见问题;
- 再次,编写代码时你总是完善撰写所有代码模块的注释,并且在代码中增加必要的监控手段让你清晰知晓错误发生在哪里;
- 最后,你应当使用简单可控的解决方案来满足用户需求,而不是使用复杂的解决方案。
### 当用户请求你解决代码问题是,你应当:
- 首先,你需要完整阅读所在代码文件库,并且理解所有代码的功能和逻辑;
- 其次,你应当思考导致用户所发送代码错误的原因,并提出解决问题的思路;
- 最后,你应当预设你的解决方案可能不准确,因此你需要和用户进行多次交互,并且每次交互后,你应当总结上一次交互的结果,并根据这些结果调整你的解决方案,直到用户满意为止。
## 第三步
在完成用户要求的任务后,你应该对改成任务完成的步骤进行反思,思考项目可能存在的问题和改进方式,并更新在readme.md文件中
提示词来源:www.bookai.top/cursor/Curs...


善用Docs
将常用的文档链接加入Dcos中,比如常用的API文档、示例等,我们在使用Curso时方便随时@,为AI提供文档依据,减少AI幻觉


善用Notepad
在Notepad中写入常用的规则要求、数据格式等,在与模型对话时可以随时@Notepad 引入笔记,为AI提供上下文

技巧五:精细的版本控制
使用Cursor完成一个小功能时,最好及时做好版本提交,确保当前代码正常可用。虽然Cursor提供了Checkpoint功能,但是操作流程变多变长后,谁能确保不出点问题呢,对于熟悉Git的小伙伴来说,Git无疑比Checkpoint更好用。
当我们不小心改动或移除了部分内容后,我们通过Checkpoint或者Git快速将代码会滚到正常节点,再也不用担心Cursor改坏我们的项目了

技巧六:多使用Save All
使用Cursor生成一个功能后,我们并不能确保功能的可用性和准确性,此时保存了文件更改,发现效果并不是我们想要的还要会退更改,那有没有可以查看效果但又不改变文件的操作呢,答案是有的。Cursor在提供了一个【Save all】功能,可以先查看效果后保存

点击【Save all】后可以正常查看生成效果

对效果满意可以使用【Accept】接受更改;对效果不满意,可以使用【Reject】放弃更改,此时代码就会回到最初状态。
技巧七:常用Codebase
使用Chat和Composer功能时,我们会发现Cursor有时并不能完全知道我们想要做什么,甚至连项目功能都不了解,时常给出一些带有AI幻觉的内容,这时我们应该多使用 @Codebse,让Cursor保持对项目的了解。
举个例子,在项目中新建一个 文档.txt 文件,在Chat中列举项目目录可以发现并没有该文件

使用 @Codebse 可以看到Codebase上下文中已经有了 文档.txt 文件

也可以使用全局Codebase Indexing同步
此时再查看项目目录也会同步

技巧八:使用Cursor Rules限制AI自由度
合理使用全局Cursor Rules和局部Cursor Rules,可以大幅度限制AI幻觉和AI自由度,输出更符合要求的内容。全局Cursor Rules是针对所有项目配置的规则

局部Cursor Rules是针对当前项目的配置,可以针对项目要求规范进行配置

Cursor在创建文件时就会按照我们的提示词限制将文件进行分类处理

技巧九:任务拆解
在Cursor实际使用中,我们可能会发现如果在一个提示词中一次性提出很多需求,Cursor可能会只实现其中一部分或者一个也没有实现生成一些不相干的内容,这个多半是因为需求没有描述清楚或者在一个提示词中提出了太多需求,对Cursor理解上造成了干扰,因为AI的上下文信息和输出都是有限制的,因此我们需要学会对任务进行拆解,每次让AI帮我们完成一个小任务,解决完再完成下一个。
当我们有如下甚至更复杂的项目要求时,一口气将提示词提供给Cursor,Cursor可能会受到上下文限制等约束并不一定会完全按照我们的要求输出,当遇到这种情况时就需要考虑进行任务拆分了,可以考虑将任务拆分 登录页面、首页、路由配置 3个任务

每个任务都各自新开一个会话窗口,防止其他内容上下文内容对当前任务的干扰,可以详细描述UI交互等要求,不用担心上下文限制,单任务很少会超出上下文限制

友情提示
见原文:【Cursor】Cursor使用技巧整理 本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。