Cursor Rules: AI 代码生成的规范利器
1. 什么是 Cursor Rules?
1.1 Cursor Rules 的概念
Cursor Rules 是一种规则,旨在帮助 AI 生成的代码遵循预定义的规范,避免偏离预期。它就像一个办公室规则,或者公司规章制度,确保每个人都遵守统一的标准。
1.2 为什么要使用 Cursor Rules?
- 减少沟通成本:如果没有 Cursor Rules,你可能需要花费大量时间与 AI 沟通,反复修改生成的代码,例如,后端接口的返回值结构(如
{code: 0, message: "success", data: {}}
),前端需要反复告知 AI 如何处理这些返回值。 - 提高代码质量:Cursor Rules 可以确保 AI 生成的代码符合你的团队或公司的规范,例如类名定义、项目结构等,保证代码风格一致性。
2. Cursor Rules 的配置方法
2.1 打开 Cursor Rules 设置
在 Cursor 的设置中,找到 “Rulers” 选项,你会看到 “User Rulers” 和项目相关的 Rulers。
2.2 Ruler Type 的选择
Ruler Type 决定了 Cursor Rules 的触发方式,主要有以下几种:
- Always:所有对话都会应用该规则,相当于全局规则。如果安装了中文化插件,通常会有一个默认的 “返回简体中文” 规则。
- Auto Attached:根据文件后缀自动匹配规则。例如,你可以设置
.js
文件使用一套规则,.css
文件使用另一套规则。 - Agent Request:AI 会读取文件内容,自行判断是否应用该规则。
- Menu:手动在编辑器底部菜单中选择应用该规则。
一般来说,推荐使用 Auto Attached,可以先定义一个 Always 规则作为全局默认规则,然后针对不同的文件后缀定义不同的规则。
2.3 如何编写 Cursor Rules?
Cursor Rules 的编写可以分为两种类型:
- 通用型 Rules:适用于常见的框架,如 Spring Boot、Flask、Vue 等。你可以从网上找到大量的开源 Rules,例如:https://github.com/sanjeed5/awesome-cursor-rules-mdc/tree/main
这个仓库包含了 100 多个常用的框架的 Rules,例如 Spring Boot、Flask、Vue2 和 Vue3。
一个典型的 mdc rules 文件会定义代码结构、命名方式、模块定义、常用规则等。
-
自定义 Rules:适用于公司或团队内部的特定规范。例如,你可以定义 Double 服务的入参、返回参数、异常处理等规范。
编写 Rules 的关键是让 AI 理解你的意图,可以使用 Markdown 格式来清晰地表达规则。
2.4 Cursor Rules 的应用示例
假设你是一个前端开发人员,不熟悉后端项目结构,你可以使用 Cursor Rules 快速生成项目结构:
- 初始化一个空项目。
- 将 mdc rules 文件添加到项目中。
- 提交代码,AI 会根据 Rules 生成项目结构。
例如,你可以定义以下目录结构:
src/
├── components/
├── views/
├── utils/
└── api/以及命名规范:
- 组件名使用 PascalCase 命名法 (e.g., MyComponent)
- 变量名使用 camelCase 命名法 (e.g., myVariable)
3. Cursor Rules 的优势
- 统一代码风格:确保团队成员使用 Cursor 生成的代码风格一致,方便代码 Review。
- 减少重复工作:避免手动调整 AI 生成的代码,提高开发效率。
- 降低学习成本:新成员可以通过 Cursor Rules 快速了解项目规范。
4. 注意事项
5. 总结
Cursor Rules 是一个强大的工具,可以帮助你更好地控制 AI 生成的代码,提高开发效率和代码质量。通过定义清晰的规则,你可以让 AI 成为你真正的助手,而不是一个需要不断纠正错误的 “熊孩子”。
我认为:AI 工具的价值在于提升效率,而 Cursor Rules 正是提升效率的关键。正如鲁迅先生所说:“时间就是性命,无端的空耗别人的时间,其实是无异于谋财害命的。” 使用 Cursor Rules 减少沟通成本,让 AI 更好地服务于我们的开发工作,正是对时间的尊重,也是对生命的尊重。