和 AI 一起写代码久了,就像带了个天赋异禀但有点我行我素的实习生。它能力很强,学东西很快,但有时候就是不按套路出牌。比如我们团队规定所有函数注释必须用 JSDoc 格式,但无论我怎么在 Prompt 里强调,它偶尔还是会给我返回普通注释,让我哭笑不得。
直到我发现了 Cursor 的 Rules
(规则)功能,这个问题才迎刃而解。这个功能,简直就是给 AI 同事量身定做的“团队章程”和“代码规范手册”。
什么是 Rules?
简单来说,Rules
就是你可以预先设定好的一系列指令或约束。每当你和 AI 交互时(无论是聊天还是代码编辑),Cursor 都会把这些规则默默地、高优先级地添加到你的指令背后。
这意味着你不用在每次提问时都重复那些基本要求了,比如“请使用中文回答”、“请遵循我们项目的 ESLint 规范”、“请在生成代码时添加详细的注释”等等。一次设定,永远有效。
如何设置我的第一个 Rule?
设置非常简单:
- 在 Cursor 的设置中,找到
Rules
选项。 - 点击
Add Rule
。 - 在弹出的输入框里,写下你的第一条规则。
规则的写法和普通的 Prompt 一样,用自然语言描述即可。关键是要清晰、明确、无歧义。
我的常用 Rules 分享
经过一段时间的摸索,我沉淀下来几条对我个人和团队非常有用的规则,分享给大家参考:
规则一:语言和风格约束
这是最基础,也是最有用的规则。
- 总是使用简体中文与我交流。
- 解释代码时,请尽量使用简洁、清晰的语言,并提供一个简单的例子。
- 避免使用过于口语化或不专业的词汇。
自从加了这条规则,我的 AI 再也没有跟我飙过英文,解释问题也变得通俗易懂了许多。
规则二:代码和注释规范
这条规则对于团队协作来说至关重要。
- 遵循项目根目录下的 .eslintrc.js 文件中的代码风格规范。
- 为所有公开的函数和类生成 JSDoc 格式的注释,必须包含对参数、返回值和函数功能的描述。
- 所有的 CSS 样式请使用 BEM 命名法。
- 在 Python 代码中,遵循 PEP 8 风格指南。
这条规则让 AI 生成的代码质量大大提升,几乎可以直接提交 Code Review,省去了我大量手动修改格式的时间。
规则三:技术栈偏好
当项目有明确的技术栈时,这条规则可以避免 AI “自由发挥”。
- 对于前端状态管理,优先使用 Redux Toolkit。
- 对于后端数据库交互,优先使用 TypeORM。
- 避免在项目中使用 jQuery 或其他已经过时的库。
- 如果需要图表库,优先推荐使用 ECharts。
这相当于给 AI 的“技术选型”能力上了一个紧箍咒,确保它的建议和方案符合我们项目的技术路线。
高级用法:针对特定目录或文件的规则
Rules
功能最强大的地方在于,你可以为特定的文件类型、目录甚至单个文件设置不同的规则。
比如,我可以为 tests/
目录下的所有文件设置一条规则:“所有测试用例必须使用 vitest
框架编写,并遵循 Arrange-Act-Assert
(3A) 模式。”
这样一来,当我在测试目录下让 AI 写测试用例时,它会自动遵循这条最具体的规则,而不是全局规则。这种层级化的规则管理,让规范的落地变得异常轻松和智能。
结语
Rules
功能是 Cursor 的精髓所在。它把我们从“不断在 Prompt 里重复要求”的低效沟通中解放出来,让我们和 AI 的协作提升到了一个新的层次。
如果你还没用过这个功能,我强烈建议你花十分钟配置一下。把你对代码的洁癖、对规范的执着,都写进 Rules 里。相信我,你的 AI “实习生”会立刻变成一个经验丰富、懂你心思的“高级工程师”。
...