怎么让 AI 写出你想要的代码?.cursorrules 一招制胜

前段时间在用 Cursor 写代码,遇到一个让人抓狂的问题 ——

一开始 AI 输出的代码还挺正常,可是越聊到后面,它突然开始"放飞自我":

生成的代码乱七八糟, 目录结构完全不对, 命名风格也很混乱...

那会我还不知道 .cursorrules 这个"宝藏",只能一遍遍地提醒 AI:

"要用这个框架", "放到那个目录" , "按这个规范写"。

直到我发现了 Cursor 的隐藏功能,才彻底解决了这个困扰...

一、什么是 .cursorrules 

简单来说,.cursorrules 就是一个需要放在项目根目录的"说明书"。

想象一下,你请了个助手帮你整理房间。第一次你得告诉他:

  • "衣服要叠好放衣柜"

  • "书本要按大小排列"

  • "零食要放储物盒" ...

但如果你把这些要求写成一份"整理指南",助手每次来都能按照这个指南操作,是不是就不用重复说了?

.cursorrules 就是这样的存在 ——

你提前把编码规则、项目结构、注意事项写在这个文件里,AI 就会自动按照这些"要求"来帮你写代码。

二、如何创建优质的 .cursorrules 

记得我刚开始写 .cursorrules 时,完全不知道该写什么。

经过一段时间的摸索,发现其实就是把项目中影响AI输出方向的"规矩"写下来。

上面截图是一张相对全面的 .cursorrules 写法。

我们也可以按照自己的项目需求来优化里面的内容和结构。

来看看几个关键部分:

一)先说清楚你是谁

这就像你找了个技术大牛来帮你,先告诉他"你期待他是什么样的人,拥有什么专业技能"。

这样 AI 就会按照专家的水准来思考和 coding。

案例:

# 角色
你是一个 Python 开发专家
特长是 Flask 和 API 开发
有丰富的实战经验

二)告诉 AI 你要干什么

这相当于项目启动前的需求对齐。

你告诉 AI:"我们这个项目要做成什么样"。AI 就会始终围绕这些目标来写代码。

案例:

# 目标
- 开发高效的 API 解决方案
- 保证代码易于理解和维护
- 确保方案具有可扩展性

三)定好项目的"规矩"

这是在强调团队的代码规范。

统一的代码风格不仅看着舒服,维护起来也更容易。AI 会严格按照这些规范来写代码。

案例:

# 开发规范
- 用 def 定义函数,不用 lambda
- 函数都要写类型提示
- 条件语句要简洁(能一行绝不写三行)

四)明确文件放哪

就像整理房间要分区一样,代码也需要规划好"位置"。

这样 AI 生成的代码就不会乱放,后期找起来也方便。

案例:

# 目录结构
- app/:核心代码
- models/:数据相关
- utils/:工具函数
- tests/:测试文件

五)指定用什么"工具"

提前说好用什么框架和库,AI 就不会随便引入其他依赖,保证项目的整洁和统一。

案例:

# 项目依赖
- Flask:主框架
- Flask-SQLAlchemy:处理数据库
- Flask-JWT-Extended:处理登录验证

六)告诉 AI 怎么做测试

这就像做菜要试味道一样,写代码也要测试。

提前告诉 AI 测试的标准,它生成的代码就会考虑到可测试性,也会主动帮你写测试用例。

案例:

# 测试要求
- 用 pytest 写单元测试
- 用 Flask 测试客户端做集成测试
- 要设置好测试数据
 

七)推荐参考资料

这相当于给 AI 一个"学习资料",它会基于这些最佳实践来写代码,避免一些常见的坑。

案例:

# 参考文档
参考Flask 官方文档(xx地址xx):重点看视图、蓝图和扩展部分

八)UI 的要求是什么

最开始的案例中不涉及到任何页面的开发。

如果咱们的项目需要画页面,可以补充下 UI 的要求。

案例:

# UI 要求
## 样式规范
- 必须使用 Tailwind CSS
- 只用核心工具类,不用 JIT 特性
- CSS 类名要按布局、尺寸、样式的顺序排列
- 避免内联样式和!important

## 组件规范
- 优先使用 shadcn/ui 组件库
- 自定义组件必须是响应式的
- 组件要写 PropTypes
- 每个组件都要加注释说明用途

## 界面交互
- 按钮必须有 hover 和 active 状态
- 加载状态要有 loading 提示
- 表单提交要有验证反馈
- 操作要有成功/失败提示

三、如何使用.cursorrules 

  1. 创建文件: 在项目的根目录下,新建一个名为 .cursorrules 的文件。

  2. 编写规则: 根据项目需求,明确定义项目目标、编码标准、文件结构等关键规则。

  3. 实时更新: 随着项目需求的变化,随时对 .cursorrules 文件进行更新和优化。

四、在哪里快速借鉴他人 .cursorrules 

到这里,有人可能会问:有没有好用的文件可以供我们参考学习下?

别担心,网上已经有很多开源的 .cursorrules 文件。

一)cursor.directory

官方地址: https://cursor.directory/

二)awesome-cursorrules

地址: https://github.com/PatrickJS/awesome-cursorrules/tree/main/rules

我们直接找到对应的编程语言、框架对应的文件,直接拷到本地就可以。

另外,我准备了几个常用的中文.cursorrule 文件。

大家可以在公众号后台回复“cursor 规则”领取。

五、AI 规则 和 .cursorrules 有什么区别呢? 

本质上都是对于 AI 辅助编程的系统提示词,只是他们的作用范围不一样。

Cursor 设置里的 AI 规则 影响所有项目,不管你是什么语言,什么架构,什么交互方式,而 .cursorrules 只会影响当前项目。

所以,我们可以把通用的要求放在 AI 规则里,把项目独有的要求放在各个项目的 .cursorrules 里,这样就可以最大限度地提高用户的开发效率。

六、总结 

备注:评论区回复“AI编程”,领取超全的 AI 编程资料。

从最初的混乱输出,到发现 .cursorrules 这个解决方案,让我明白了一个道理:

在 AI 时代,高手和新手的区别,在于是否懂得制定规则。

写代码如此,做其他事情也是一样 ——

与其一遍遍地纠正,不如一开始就把规矩定好。

所以,下次当你想让 AI 帮你完成任务时,先花几分钟写个"说明书"。

这样,AI 就会变成一个靠谱的助手,而你也会成为真正懂得驾驭 AI 的人。

欢迎在评论区分享你的使用心得 👇

我是 🐼 熊猫 Jay,希望这次分享能有帮助。

如果觉得不错,随手点个赞、收藏、转发三连吧。

如果想第一时间收到推送,也可以给我个关注 ⭐

谢谢你看我的文章 ~

### 使用 Cursor 和 Rules 进行编程 #### 场景一:利用 FastAPI 框架开发 RESTful API 应用程序 当作为 Python 的 FastAPI 框架专家时,在编写代码过程中可以定义特定的角色和规则来指导编码过程。例如,创建一个简单的 RESTful API 来管理书籍列表。 ```python from fastapi import FastAPI, HTTPException from pydantic import BaseModel import uuid class Book(BaseModel): id: str = None title: str author: str app = FastAPI() @app.get("/books", response_model=list[Book]) def read_books(): """获取所有书籍""" return books.values() # Assume `books` is a global dictionary holding book instances. @app.post("/books", status_code=201) def create_book(book: Book): """创建新书记录""" book.id = str(uuid.uuid4()) books[book.id] = book return {"message": "Book created successfully."} ``` 此场景下的规则可能包括: - 所有的请求处理函数都应具有清晰的 docstring 描述其功能[^2]. - 对于 POST 请求返回的状态码应当是 201 Created. - 数据验证应该通过 Pydantic 模型完成. #### 场景二:迁移现有项目到 Cursor 并保持原有配置不变 由于 Cursor 是基于 VSCode 构建而来,因此可以从现有的 VSCode 设置平滑过渡至 Cursor 中继续工作而不丢失任何自定义项或扩展支持[^3]. 假设有一个已经存在的 Flask Web 应用程序,并希望将其转移到新的环境中运行,则只需按照常规方法安装并启动 Cursor 后,再导入之前保存好的 `.vscode/settings.json`, 安装必要的包以及激活虚拟环境即可立即投入生产效率之中。 对于上述两个例子而言,Cursor 提供了一个既熟悉又强大的平台用于日常开发活动;而借助精心设计过的 rules 则能进一步提升工作效率与代码质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值