
说实话Cursor刚火的那阵子我一直把它当成“高级补全插件”用。直到有一次让它帮我补一个业务模块它连续给出了三版完全不同的命名风格和代码结构我才意识到问题不在模型不好在我什么都没告诉它。后来我花了一段时间专门研究配置前前后后改了十几版规则文件现在团队里几个人照着用最直观的感受就是同样的需求手动改代码和来回返工的时间少了一大半。这篇文章不聊安装也不聊插件只聊一件事Cursor到底怎么配才好用。我会把配置思路拆开讲清楚给出可以直接改来用的规则模板再把实际操作中遇到的坑和排查方法一起放出来。适合正在用Cursor写业务代码、觉得AI输出飘忽不定的人看也适合刚接触Cursor、想一次性把环境配好的朋友。一句话概括我的理解Cursor的配置本质上是给一个能力很强、但对你的项目一无所知的新同事做入职培训。培训文档写得越清楚他越不会自作主张。1. 配置之前先把“好用”拆开看1.1 三件事决定Cursor好不好用Cursor能不能给你省时间不取决于它用了多大的模型而取决于你有没有把自己的语境传给它。我把它拆成三个必选项上下文、输出约束、交互方式。上下文包括项目结构、技术栈、业务背景、当前任务的范围。没有上下文AI只能靠猜。输出约束包括命名习惯、目录规范、注释风格、异常处理方式。没有约束AI每次输出的风格都像换了个人。交互方式指的是你用Tab补全还是用对话生成、怎么发起修改、给它多少信息。交互方式不合理模型再强也会浪费在一轮又一轮的无用对话里。这三件事前两件主要靠规则文件来解决最后一件靠模型选择和快捷键设置。后面所有配置动作都是围绕这三个方向展开的。1.2 默认配置到底缺了什么默认配置并不是不能用它是太“通用”了。通用意味着它在面对任何项目时都会采用最保守、最泛化、也最啰嗦的方式去处理。举个我实际遇到的例子。默认情况下我让它写一个简单的接口它会输出一大堆注释什么“函数说明”“参数说明”“返回值说明”又把整段代码包在漂亮的标准模板里。但对团队来说我们有自己的代码风格要求也有明确的反模式清单这些默认行为完全没体现出来。于是大部分时间花在哪了不是写代码是删代码、改命名、调整结构。这才是配置缺失带来的真正成本。所以“少写一半代码”的真实含义不是AI一次生成更多代码而是AI生成的代码基本能不动直接用省掉后面那几轮返工。1.3 配置太少和太多都会出问题配置这件事存在两个极端。一个是配置太少AI输出飘忽不定每次都要重新约束另一个是配置太多规则文件动辄上百行把AI的注意力全吸走不仅变慢还会因为上下文臃肿而输出平庸。我见过有人把公司规范手册整个贴进规则文件结果AI写出来的代码看起来正确但细节上完全没有项目针对性。也见过完全不配置的人靠每次对话前写一大段要求来临时约束AI效果还是随缘。我的经验是配置要追求“惯例描述”不是“流程控制”。你要让规则描述你们团队一贯怎么写代码而不是规定AI每个标点怎么放。2. 重头戏规则文件到底怎么写才有效2.1 全局规则和项目规则怎么分工Cursor的规则大体分两个层级全局规则和项目规则。全局规则写在设置里的Rules中跟随你所有的项目项目规则写在项目根目录的.cursorrules文件里或者使用.cursor/rules/目录下的规则文件。项目规则优先级更高全局规则是兜底。我给它们的定位是这样的规则类型典型存放位置生效范围适合放什么全局规则设置页面 Rules所有项目个人表达习惯、通用代码风格、禁用词汇项目规则.cursorrules当前项目技术栈、目录结构、领域术语、团队约定全局规则不建议写与具体项目强相关的内容。很多人喜欢在全局里写“我常用Vue3”结果接手一个React项目时这个规则就会干扰判断。项目级规则跟着仓库走不管是自己换电脑还是同事克隆代码规则都不会丢。2.2 一份可以直接改来用的项目规则模板下面是我现在用的项目规则文件的精简版你可以直接复制到项目根目录的.cursorrules里改一改。我故意把每部分写得具体因为写得越具体AI输出越收敛。你是本项目的高级工程师熟悉当前项目的技术栈和业务背景。 在回答之前先阅读项目目录结构和关键文件再开始写代码。 技术栈 - 语言TypeScript - 框架Vue 3 Vite - 样式Tailwind CSS - 状态管理Pinia 编码规范 - 组件文件名使用 PascalCase如 UserCard.vue - 变量和函数名使用 camelCase且必须能表达业务含义禁止用 data、list 这类泛指 - API函数统一放到 src/api 目录按业务模块拆分文件 - 页面组件负责数据获取和状态管理展示组件只负责渲染不要在展示组件里写请求逻辑 注释规范 - 只在导出函数和复杂业务逻辑处写注释 - 禁止逐行注释 - 注释说明“为什么这么做”而不是“这段代码做了什么” 错误处理 - API请求必须做错误处理统一使用项目里的提示方法 - 禁止在catch里输出console.log后什么都不做 组件编写 - 逻辑优先使用组合式API不使用选项式API - 局部状态用ref跨组件状态用Pinia不要直接把props改来改去 提交信息 - 使用 Conventional Commits 格式 - 类型包括 feat / fix / refactor / docs / test / chore这个模板看起来不多但它覆盖了我最常被AI气到的几个点。第一段限定角色和上下文获取方式避免AI不问项目情况直接开写编码规范部分用具体例子而不是抽象口号错误处理那段专门治“AI生成的代码异常处理形同虚设”的老毛病。2.3 写规则文件的三条原则规则文件不是越长越好我一般控制在三十到六十行。写的时候我会反复检查三条原则。第一条反例优先。与其写“代码要清晰”不如写“禁止用 data、list 这类无业务含义的命名”因为AI对“清晰”这种词的理解太模糊它能从一个合格工程师的角度推断出很多种“清晰”。给出具体的禁项判断就简单了。第二条给AI判断依据。比如注释规范里我不用“注释不要太多”这种说法而是写明“只在导出函数和复杂逻辑处写注释”这个判断依据是确定的。AI看到导出函数就知道该写看到普通工具函数就知道不用写。第三条规则之间不要互相打架。比如你说组件全部用组合式API又要求兼容旧的选项式API写法AI就会迷茫。规则本身是一份逻辑文档矛盾和重复都会降低执行效果。2.4 规则文件也要进版本管理.cursorrules这类配置我的建议是直接提交进Git仓库。原因有两个一是团队共享规范新成员克隆仓库就能获得一致行为二是规则文件的修改历史必须可追溯哪次改动导致了输出行为变化通过git记录就能看出来。我见过有人把规则文件放在本地文件夹里自己独享同事之间各配各的时间一长同一份代码不同的人用AI维护风格完全不一样。规则文件不是私藏配置它是团队代码资产的一部分。3. 模型选择和交互方式是被很多人忽略的另一半3.1 模型选择要建立“任务分工”很多人配置Cursor只写规则文件忘了设置默认模型。模型不是越强越好不同的任务用不同的模型才能兼顾速度和质量。我的习惯是简单补全、模板生成这类任务用响应更快的模型跨文件重构、复杂业务推理用长上下文能力更强的模型。这不是说简单任务不能用强模型而是强模型在简单任务上反而会过度设计把十行能写完的代码扩展成三十行。实际操作中我会在设置里把大多数日常补全场景的默认模型调成速度型把Agent模式和长对话场景的默认模型调成推理型。如果你不太确定一个比较稳的方法是先统一用推理型跑两周记录输出质量再针对高频简单场景降级看效率是否提升。3.2 三种交互模式别混用Cursor交互方式里有三个高频模式Tab补全、内联问答、Agent模式。它们的侧重点完全不同。模式适合场景不适合场景Tab补全重复性代码、已知模式的延续跨文件的业务逻辑调整内联问答局部代码修改、逐段解释涉及多个文件的大重构Agent模式跨文件串联、整体功能开发改一个变量名这种小事我踩过的坑就是什么事情都开Agent模式。看起来省事但它会自主决定改动范围有时候改完了发现它把几个不相干的文件也顺手改了反而更难审查。局部改动就用内联问答让它只动你选中的代码块。做新功能、跨文件关联强的时候再上Agent模式同时明确告诉它“只改哪些文件不要碰哪些目录”。3.3 快捷键改造的优先级快捷键属于那种“配置一次长期吃红利”的操作。我优先级最高的几个设置一个是打开规则文件或规则管理面板的快捷键改规则时不用跳出编辑器一个是提交信息生成在Git面板里一键生成符合规范的提交说明还有一个是快速引用当前文件的快捷键这样可以准确地把上下文塞给AI而不是让它自己猜。快捷键方案没有绝对标准关键是符合你自己的使用频率。我建议花半天记录一下自己最常用的十个动作逐个检查是否有快捷键没有就设置上。少点几次鼠标看着不多但一天几十次交互下来省下来的时间很可观。4. 实操回放三套配置步骤和三个真实场景记录4.1 从零配置的完整步骤第一步打开设置面板把全局规则先写好。全局规则不用多三五条表达个人偏好即可。第二步给当前项目创建.cursorrules文件按技术栈和团队规范填充内容。第三步配置模型偏好和常用快捷键。第四步找一个小需求去实测根据AI输出结果反向调整规则。第五步稳定后把规则文件提交到仓库让团队统一使用。需要提醒的是不要想着一步到位。我第一次写的项目规则很长几乎把内部开发手册搬进去了结果AI输出反而变得很“僵”过度按照手册的硬件格式来执行一点灵活性都没有。现在的这套规则是我逐步做减法的结果。4.2 场景一新项目脚手架搭建我最近在做一个新的管理后台前端。没有规则的情况下让它创建几个页面基础结构每个组件都用了不同的数据获取方式有的在setup里直接请求有的用了单独的封装函数风格很分裂。加了规则以后我在规则里写了“页面组件负责数据获取和状态管理展示组件只负责渲染”再让它生成页面骨架输出就非常稳定页面组件统一调用API目录里的接口方法展示组件统一接收props。从零搭了五个列表页面基本每个页面只需要微调字段名就能用。4.3 场景二日常业务接口和CRUD功能这是我觉得“少写代码”最明显的地方。后端项目里CRUD是高频操作没有规则时每个接口都要重新描述一遍参数校验、异常处理、返回格式很麻烦。配置规则之后我在规则里固定了接口分层和异常处理策略。效果就是我只需要说清楚“给用户模块加一个分页查询接口”AI自动按规则覆盖参数对象、分页逻辑、错误码映射和统一返回结构。我实际统计过一个周期同样的增删改查需求配置后的时间大约是配置前的三分之一。但这里要说实话这类减少主要来自样板代码和固定模式。如果需求本身逻辑复杂规则不会替你把业务逻辑想明白它只能保证输出规范、可改的代码。4.4 场景三修改老代码时防止改动扩散改老代码比写新代码更危险因为AI很容易顺手“优化”一堆本来正常的代码。我在规则里加了一条硬约束“在修改既有函数时保持原有函数签名和返回类型不变除非用户明确要求”。这条规则减少了非常多的无谓改动。有一次让AI优化一个性能很差的函数它连续给出三个优化方案每个方案都在改动函数签名导致调用方也得跟着改。我加上约束后它先分析原函数再在保持外部行为不变的前提下做局部优化改完的代码diff很小审查起来舒服多了。4.5 怎么客观判断“少写代码”是真的判断配置有没有效果不能只看感觉。我自己用四个指标来复盘一是生成代码的保留率有没有从“生成后返工一半”变成“生成后微调就能用”二是同样需求从描述到上线的轮次有没有变少三是手动删代码和改代码的动作次数四是代码风格不统一的返工是否降低。拿“少写了一半代码”这个说法来说准确讲是“需要你亲手写的代码少了一半”。AI生成的行数未必变少但你不再需要为同样一段模板反复敲键盘也不需要花大量时间修改命名和格式。这才是配置带来的真实收益。5. 配置了还是不好用排查看这里5.1 规则不生效先检查这几个地方规则文件没生效是最高频的问题。常见原因有几个第一个是文件名写错比如.cursorrules写成了.cursorRules大小写不对第二个是存放位置不对项目规则要放在项目根目录第三个是全局规则里的内容被项目规则覆盖了导致你以为配置了其实没生效。另外改了规则文件之后如果当前对话已经积累了很长的上下文AI可能会继续沿用旧的行为。建议改完规则后新开对话或者检查一下Cursor的索引是否更新。有些版本需要重新加载窗口才能完整读取新规则。5.2 上下文太长AI输出变泛化规则配置到位了但AI还是会“答非所问”或者输出越来越泛化这时候要排查是不是上下文太臃肿。很多人的习惯是把一整个项目目录都让AI去读然后在多个文件之间反复跳上下文窗口很快就被占满了。我会做的处理是把“不需要AI阅读”的目录加进排除列表比如node_modules、dist这种目录本身也不该被当作上下文。另外在提问时用引用功能精确指定相关文件而不是让AI自己扫描全局。上下文越干净规则的效果越明显。5.3 团队协作中的规则冲突团队使用同一套规则文件时最怕的就是全局规则和项目规则冲突。比如全局规则里写了“使用函数组件”项目规则里写的是“使用类组件”项目规则优先但AI输出偶尔还是会摇摆。解决方法很简单项目规则尽量覆盖所有和项目强相关的内容全局规则只保留不冲突的个人偏好。如果改某条规则影响了队友需要在提交说明里写清楚方便其他人了解变更背景。5.4 别把规则当“AI提词器”最后说一点心态上的事。规则文件不是用来“骗”AI输出漂亮答案的提示词它是团队工程规范的一部分。如果把规则写成了几十行华丽的prompt比如“你是一位拥有十年经验的架构师请给出优雅的解决方案”对输出质量的提升其实有限。我自己试过这类写法一开始觉得AI回复的语气确实更像“专家”了但代码本身的正确率没有多少变化。真正有用的还是那些具体约束命名方式、目录边界、异常处理、测试要求。规则的价值在于减少AI的自由发挥空间而不是营造一个听起来很厉害的对话氛围。最后再分享一个个人经验。配置这件事我习惯每两周回头翻一次规则文件看到哪条已经变成自己写代码的本能反应就考虑删掉看到项目里反复出现的低级错误就加一条规则对应处理。配置不是写一次就一劳永逸它更像是在和这个“AI同事”磨合磨合得越久双方越默契你真正亲手写的代码自然就越少。