跳到正文
教程31 篇

Cursor第 3 / 3 篇

Cursor:验证规则只在该出现的文件上生效

用 .mdc 的匹配范围做正反场景检查,避免全局指令互相打架。

进阶约 18 分钟练习资料核实

学习目标

一条有明确作用域的规则和两种匹配场景记录。

适用场景

项目的表单约定被写进全局规则,改后端脚本时 AI 也不断创建 UI 校验组件。本篇只定位范围与激活问题;现有入门教程仍负责一般规则写作。

准备条件

  • Cursor 项目规则可用,并能查看规则是否附加到当前上下文。
  • 真实项目中存在一组共享同一约定的文件,先核对目录。

操作步骤

  1. 先选一条真正局部的约定

    例如“修改表单组件时沿用本目录现有校验方式”。长期适用于全仓库的约束保留全局或项目通用说明;局部规则不要堆成一份随处激活的清单。先找一个匹配文件和一个无关文件做对照。

  2. 创建有范围的 .mdc 文件

    在 .cursor/rules/forms.mdc 放置下面示例,并将 glob 改成真实路径。普通 .md 不能当成此格式的 Project Rule 使用。alwaysApply=false 配合 globs,目的是在匹配文件被纳入上下文时附加规则,不是简单判断当前打开哪个标签。

    示例 .cursor/rules/forms.mdc
    ---
    description: 表单组件的现有校验与错误呈现约定
    globs: "src/forms/**/*.tsx"
    alwaysApply: false
    ---
    修改匹配文件前,先查看同目录的表单与测试。
    沿用当前校验入口和错误文案结构,不另建第二套校验库。
    验证空值、非法值和提交失败;缺少既有实现时说明实际情况。
  3. 在两个干净上下文做对照

    在一个任务引用真实匹配文件,另一个新任务只引用无关后端文件;先不要显式点名这条规则。查看规则加载证据和实际行为,避免前一次上下文残留影响结果。路径不匹配、规则未发现和触发后不遵守是不同问题。

    正反场景记录
    正例:引用 src/forms/ProfileForm.tsx,修改一项必填校验。
    反例:只引用 scripts/rebuild-index.ts,修复参数解析。
    前提:这两个路径仅为示意,先替换成项目实际文件。
    记录:实际附加的规则、任务结果、是否越界。
    预期:正例使用局部表单约定,反例不因它引入表单逻辑。
    实际:未运行。
  4. 只收窄冲突规则,不重复叠加

    若无关任务也触发,检查 alwaysApply、glob 和其他同义规则;若被附加但行为错,修规则内容和验收。保留一次失败请求作为回归,不用再加一条相反规则掩盖冲突。升级 IDE 后对关键规则复验。

常见误区

只要文件放到 rules 目录就认为自动生效。
核对 .mdc 格式、字段、路径和宿主实际附加证据。
在同一长对话中测完正例马上测反例。
规则可能仍在上下文中;用独立任务减少混杂因素。

验收清单

  • glob 对应实际目录。
  • 有匹配与不匹配场景。
  • 激活判断有证据,不只依靠模型自述。
  • 没有重复或矛盾规则,现有约束仍保留。

资料与版本

本文为原创整理,示例需按项目调整;工具界面与功能以当前版本为准。