轻松上手 Cursor Rules:5分钟搞定,让AI编程更顺畅
嘿,大家好,我是专注于AI编程的杰一。
使用Cursor的时候,你是不是也碰到过AI随意改代码的尴尬?就算和Cursor聊了十几条消息,结果还是没能合心意,生成的代码还不如自己手写的好呢。
其实,这大部分是因为你还没掌握一个超级重要的功能——Cursor Rules。
今天这篇文章会带你从零开始了解Cursor Rules,并提供一些实战案例和最佳实践。看完后,你将会明白:
- 如何设置规则,让Cursor生成更贴合你的代码
- 如何让它写出符合你个人风格的代码
- 如何自动化项目规范,降低团队沟通的成本
什么是Cursor Rules
Cursor Rules,翻译过来就是Cursor规则。简单来说,就是给Cursor设定一系列规范,来约束AI生成的代码。
当某条规则被触发时,相关信息会被加到提示词里,AI在进行自动补全、代码生成、重构或修复错误时就能遵循这些规范。
如何配置Cursor Rules
首先,打开Cursor,点击File - Preferences - Cursor Settings进入设置页面,然后点击Rules就能看到规则界面了。

在Cursor里,有两种规则级别:
- 全局规则(User Rules):适用于所有项目的通用规则
- 项目规则(Project Rules):存放在项目目录下的
.cursor/rules中,仅用于限制当前项目。
点击Add New Rule后,先给规则起个名字,比如叫做:vue-rules,用来约束AI在写Vue项目里的规范。也可以用快捷键Cmd + Shift + P,输入New Cursor Rule快速打开后面的对话框。

成功添加后,你会在左侧的资源管理器中看到.cursorrules目录下多了个vue-rules.mdc,这个文件就是存放我们编写的规则。右侧的编辑区也会自动打开,可以通过图形化的方式进行编辑。

Cursor支持四种规则类型:
- Always:始终应用该规则
- Auto Attached:当匹配
globs模式的文件被引用时,自动附加此规则 - Agent Requested:根据AI代理的判断来决定是否应用规则,需要提供规则说明
- Manual:仅在显式使用
@规则名时,附加该规则。
简单来说,如果你想手动调用规则,就用Manual;想要自动触发的就用Auto Attached;想始终生效的,就用Always;如果想让AI自己决定是否使用,选择Agent Requested。
此外,在规则文件中,也可以通过@添加文件,文件里的内容会作为额外上下文加入到规则文件中。

常见示例与应用场景
那么,Cursor Rules到底能做些什么呢?其实用途非常广泛,例如你可以让它:
- 自动补全一段你懒得写的重复代码
- 根据你设定的模板生成组件结构
- 重构那些你不想手动修改的遗留代码
通过Cursor Rules,这些需求都能轻松实现。接下来举几个示例规则,帮助你理解它们的用途:
- 整体代码风格约束: 设定编码规范,比如使用TypeScript、遵循《代码整洁之道》、优先使用
async/await、完善错误处理等等。例如:
- 所有新代码使用 TypeScript
- 遵循《代码整洁之道》
- 优先使用 async/await 而不是回调
- 编写完善的错误处理

- 特定文件规范: 针对具体项目设定规范。比如在一个React项目中,可以添加如下规则:
# 文件模式: *.tsx, *.ts
## React 规范
- 使用函数组件
- 实现完整的 prop 类型
- 遵循 React 最佳实践
## 样式
- 使用 Tailwind CSS
- 遵循团队样式指南
@file ../tsconfig.json
@file ../tailwind.config.js

这个规则指定了适用于*.tsx/*.ts文件的项目规范(使用函数组件、类型检查、Tailwind样式等),并通过@file引用了配置文件,为AI提供了项目的额外上下文。
- 模板和样板: 可以定义代码模板规则,自动生成或检查特定结构。例如,为Express服务设定模板规则:
* 使用此模板创建新的 Express 服务:
* 遵循 RESTful 原则
* 包含错误处理中间件
* 设置适当的日志记录
@express-service-template.ts

当你在项目中创建新服务时,AI会依据这个规则生成符合规范的样板代码。同样地,也可以为React组件定义规则:
* React 组件应遵循如下结构:
* Props 接口放在文件顶部
* 组件作为命名导出
* 将样式放在文件底部
@component-template.tsx

这样AI在生成新组件时能够保持统一的布局。
- 错误修复与重构: 有开发者分享了一些用于修复错误的规则,例如创建一个名为
refresh.md的规则,当遇到复杂错误时提示AI重新扫描所有相关文件并彻底修复。同样,也可以为重构需求定义规则,让AI按照指定模式重写代码。使用这些规则可以让AI更智能应对错误和重构,而不仅仅局限于当前文件。
除了Project Rules,你也可以添加User Rules,适用于所有项目,并始终包含在你的模型上下文中。你可以用它们来:
- 设置回复的语言或语气
- 添加个人风格偏好
请用简洁的风格回复,避免不必要的重复或赘述。

总的来说,Cursor规则能为各种需求量身定制指导,帮助你在创建新功能、重构现有代码或修复缺陷时,让AI生成的代码更加精准。
嵌套规则
你可以在.cursor/rules目录下嵌套组织规则。例如:
project/
.cursor/rules/ # Project-wide rules
backend/
server/
.cursor/rules/ # Backend-specific rules
frontend/
.cursor/rules/ # Frontend-specific rules
嵌套规则的特点:
- 引用其目录中的文件时会自动附加
- 在上下文选择器和代理可访问的规则列表中使用
- 特别适合将特定领域的规则靠近相关代码组织
这在单一代码库或包含不同组件且需要特定指导的项目中尤其有用。
自动生成Cursor Rules
你可以在对话中直接使用/Generate Cursor Rules命令来生成规则。
Cursor会自动分析代码,总结出代码规范和项目需求,然后将这些内容整合成Rules。这对已有项目非常有帮助,可以让AI生成的代码更符合现有项目的风格。

Cursor会自动创建mdc文件,并将相关内容填写进去。

.cursorrules(旧版)
目前版本的Cursor将规则存放在不同路径的多个mdc文件中,并根据匹配规则选择性使用。但在早期版本中,所有规则都存放在项目根目录下的.cursorrules文件中,附加到所有对话里。
根据官网的文档,项目根目录下的.cursorrules文件依然受到支持,但将来会被淘汰。官方也建议迁移到mdc格式,以获得更好的控制、灵活性和可见性。
最佳实践:规则与Prompt协作
如何精确使用Cursor规则,让你的代码更智能
要让Cursor规则发挥最大效用,关键在于制定简洁明了的规则,并在提示中准确调用。这里有一些实用的小建议:
- 简洁明了的规则: 规则尽量简单,控制在500行以内,效果会更好。
- 分解复杂的概念: 将难懂的概念拆分成多个简单的小规则,便于理解和使用。
- 提供示例和代码片段: 如果可能的话,给出具体的示例或引用相关文件,能更直观地帮助理解。
- 在提示中调用规则: 有需要时,可以在聊天提示里使用
@规则名来手动应用某些特定规则。 - 确保清晰易懂: 避免模糊不清的指导,写规则时就像是在编写一份清晰的内部手册。
- 及时更新规则: 如果发现自己在对话中反复提到某个问题,可以把它整理成一条规则。
- 团队合作: 确保团队成员共享相同的规则,定期进行讨论和更新,这样可以跟上当前的编码实践。
通过将这些实践与清晰的提示结合,Cursor AI就能更聪明地理解上下文和需求,从而生成高质量的代码。
常见问题解答(FAQ)
为什么我的规则没有生效?
首先检查一下规则类型。对于“代理请求”(Agent Requested)规则,确保你已经定义了描述;而对于“自动附加”(Auto Attached)规则,确保文件匹配模式与被引用的文件是一致的。
规则可以引用别的规则或文件吗?
当然可以!你可以使用 @filename.ts 来将文件包含到规则的上下文中。
我能在聊天中创建规则吗?
可以的!只需让AI“把这段内容变成规则”或者“根据这个提示生成一个可复用的规则”。
规则会影响Cursor Tab或其他AI功能吗?
不会的,规则只适用于代理(Agent)和Cmd-K AI模型。
总结
运用Cursor规则能够帮助你自动化重复的任务、统一代码风格、提前识别常见错误,还能加快新人的适应速度。
有些人觉得AI编写的代码质量不高,其实这往往是因为规则没有设定好。如果你能将精心设计的规则与明确的提示结合起来,Cursor就能成为一个高效的编程助手,显著提升开发效率和代码质量。










用Cursor写代码,规则的应用会不会让代码变得更死板?个人风格如何保持?
我觉得通过Cursor Rules能够提高编程效率,为什么不多分享一些使用案例呢?
我在使用过程中发现,某些规则自动触发时不太符合我的需求,建议加强规则管理功能。
配置Cursor Rules的时候,有没有什么常见的坑?想提前了解一下,免得出错。
看完这篇文章,感觉对Cursor Rules有了更清晰的认识,感谢分享!
听说有些开发者在项目中完全依赖Cursor,效果如何?风险大吗?
掌握Cursor Rules后,编程体验真的是轻松很多,推荐大家试试!
我觉得手动调用规则的方式其实挺灵活的,可以更好地控制生成的代码。
Cursor Rules的配置真是个好东西,之前总是AI瞎改,现在好多了。