如果你已经跟着前两篇完成了Cursor的安装和基本使用,你可能会发现一个问题:Cursor生成的代码风格不统一,有时用TypeScript,有时又回到JavaScript;注释一会儿中文一会儿英文。这不是Cursor的bug,而是你还没有告诉它"你想要什么"。
AI规则就是Cursor的"项目记忆"。它让AI了解你的技术栈偏好、代码风格、命名习惯,甚至项目特定的约束条件。设置好规则后,Cursor就像一个已经熟悉你团队规范的资深开发者,而不是一个每次都要从头沟通的新人。
Cursor的规则系统分两层:
.cursor/rules/目录下。适合设置项目特有的技术栈、架构约定等在Cursor 0.45+版本中,Project Rules替代了旧的.cursorrules文件,支持更灵活的条件匹配。
打开Cursor,按Cmd+Shift+P(Mac)或Ctrl+Shift+P(Windows)打开命令面板,输入Cursor Rules,选择New Cursor Rule。
Cursor会提示你选择规则类型:
对于大多数场景,Always类型最简单直接。下面是一个实际项目的规则示例:
---
description: 项目技术栈和代码规范
globs:
alwaysApply: true
---
## 技术栈
- 前端:React 18 + TypeScript + Tailwind CSS
- 状态管理:Zustand
- 数据获取:TanStack Query
## 代码规范
- 使用函数组件和Hooks,不使用class组件
- 文件名使用kebab-case,组件名使用PascalCase
- 导入顺序:React → 第三方库 → 本地模块 → 样式
- 每个组件一个文件,导出使用named export
- 注释用中文,变量名用英文
## 禁止事项
- 不要使用any类型
- 不要使用var声明变量
- 不要在组件内直接调用fetch,统一通过TanStack Query
打开Cursor设置(Cmd+, / Ctrl+,),搜索"Rules",找到User Rules输入框。这里适合写一些跨项目的个人偏好:
回复语言:中文
组件风格:函数式组件 + Hooks
类型检查:严格模式
测试框架:Vitest
提交信息:Conventional Commits格式
设置完规则后,怎么确认它真的在生效?最简单的方法:
如果Cursor没有遵循规则,检查两点:规则文件的alwaysApply是否为true,以及规则描述是否清晰。模糊的规则比没有规则更危险。
Q:.cursorrules和Project Rules能共存吗?
A:Cursor 0.45+会自动将旧.cursorrules迁移为Project Rules,不建议继续使用旧格式。
Q:规则太多会影响性能吗?
A:Always类型的规则每次都会被加载,建议控制在3-5条以内。其他类型按需匹配,影响不大。
Q:团队协作时规则怎么共享?
A:Project Rules文件在.cursor/rules/目录下,提交到Git即可共享。User Rules是个人配置,不会影响他人。
下一篇我们将深入Cursor的Composer模式——如何让AI同时编辑多个文件、理解跨文件依赖,真正实现"AI结对编程"的体验。
评论区