和 AI 一起写代码久了,就像带了个天赋异禀但有点我行我素的实习生。它能力很强,学东西很快,但有时候就是不按套路出牌。比如我们团队规定所有函数注释必须用 JSDoc 格式,但无论我怎么在 Prompt 里强调,它偶尔还是会给我返回普通注释,让我哭笑不得。

直到我发现了 Cursor 的 Rules(规则)功能,这个问题才迎刃而解。这个功能,简直就是给 AI 同事量身定做的“团队章程”和“代码规范手册”。

什么是 Rules?

简单来说,Rules 就是你可以预先设定好的一系列指令或约束。每当你和 AI 交互时(无论是聊天还是代码编辑),Cursor 都会把这些规则默默地、高优先级地添加到你的指令背后。

这意味着你不用在每次提问时都重复那些基本要求了,比如“请使用中文回答”、“请遵循我们项目的 ESLint 规范”、“请在生成代码时添加详细的注释”等等。一次设定,永远有效。

如何设置我的第一个 Rule?

设置非常简单:

  1. 在 Cursor 的设置中,找到 Rules 选项。
  2. 点击 Add Rule
  3. 在弹出的输入框里,写下你的第一条规则。

规则的写法和普通的 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 “实习生”会立刻变成一个经验丰富、懂你心思的“高级工程师”。