Cursor Rules 使用

前言

最近在使用 Cursor 进行编程辅助时,发现 AI 生成的代码风格和当前的代码风格大相径庭。而且有时它会输出很奇怪的代码,总是不符合预期。

遂引出本篇,介绍一下 Rules ,它就可以做一些规范约束之类的事情。

什么是 Cursor Rules?

简单来说,Cursor Rules 是一系列可配置的指令或约束条件 ,用于指导 CursorAI 助手在生成、修改或理解你的代码时的行为。

你可以把 Rules 想象成给你的 AI 助手制定的"公司规范"或"项目指南"。它告诉助手:

  • 应该做什么: 比如"在修改 API 文件时,必须添加 Swagger 注释"。
  • 不应该做什么: 比如"禁止使用 var 关键字"、"不要引入 common 库,除非绝对必要"。
  • 如何做: 比如"使用 4 个空格缩进"、"字符串统一使用双引号"、"结构体字段必须使用驼峰"。

通过设置 Rules,可以确保 AI 生成或修改的代码符合你个人、团队或项目的特定风格、约定、最佳实践和安全要求,减少后续手动调整的工作量,并保持代码库的一致性。

Cursor Rules 分为2种

  • User Rules 全局生效,例如:总是以中文回答。
  • Project Rules 只对当前项目生效,通常配置一些框架规则,API 规范等。

Project Rules

如果是针对现有项目,可以直接让 Cursor 为你生成 Rules

复制代码
/Generate Cursor Rules

实际的开发场景中,Rules 主要分为三个层级:

  1. 通用规则 (global.rules): 适用于所有项目和工作区,不论编程语言和使用的框架,例如变量驼峰命名等。
  2. 编程语言规则 (language.rules): 针对特定编程语言 生效。例如,Go 使用标准库 net/http 进行 API 开发。
  3. 框架规则 (framework.rules): 针对特定框架或技术栈生效。

通用规则

  • 示例规则:
    • 代码风格:

      rules 复制代码
      // 强制在所有语言中使用 2 个空格缩进 (除非被语言/框架规则覆盖)
      use_spaces: true
      indent_size: 2
      
      // 要求 AI 在修改或生成代码时添加清晰的注释说明改动原因 (非强制,但强烈建议)
      require_explanatory_comments: true
    • 安全与最佳实践:

      rules 复制代码
      // 禁止生成或建议已知不安全的函数/模式 (通用层面,具体需在语言规则细化)
      avoid_unsafe_functions: true
      
      // 要求 AI 优先考虑内存安全和性能 (通用指导原则)
      prioritize_memory_safety_and_performance: true
    • AI 交互:

      rules 复制代码
      // 要求 AI 在每次使用 /edit 前都先询问确认 (避免意外覆盖)
      confirm_before_edit: true
      
      // 限制 /edit 一次能修改的最大行数 (防止过大范围改动)
      max_edit_lines: 100

编程语言规则

  • 典型用途: 定义特定语言的语法约定、风格指南、语言特有的最佳实践、推荐/禁用的库或特性。

  • 示例规则 (Python - python.rules):

    rules 复制代码
    // 遵循 PEP 8 风格指南 (作为基础)
    style_guide: pep8
    
    // 强制类型提示 (Type Hints):要求 AI 在生成函数/方法时添加参数和返回值的类型注解
    require_type_hints: true
    
    // 指定字符串引号规则
    string_quotes: single # 统一使用单引号 (')
    
    // 要求使用 `pathlib` 代替 `os.path` 进行路径操作 (更现代)
    prefer_pathlib: true
    
    // 禁止使用 `print` 语句,要求使用 `logging` 模块进行输出 (适用于非脚本场景)
    no_print_statements: true

框架规则

  • 示例规则 (Next.js - nextjs.rules):

    rules 复制代码
    // 要求使用 Next.js 内置的 `Link` 组件进行客户端导航
    use_next_link: true
    
    // 指定数据获取方法:优先使用 `getServerSideProps` 或 `getStaticProps`, 避免在组件顶层使用 `useEffect` 获取初始数据
    data_fetching: server_side_or_static_props
    
    // 遵循 Next.js 特定的文件路由约定 (pages/api, pages/[slug].js 等)
    follow_app_router_conventions: true # 如果使用 App Router (v13+)
    follow_pages_router_conventions: true # 如果使用 Pages Router
    
    // 要求 API 路由处理函数遵循特定结构 (req, res) 或 (request: NextRequest)
    api_route_structure: standard

总结

个人理解,Cursor Rules 就类似于 LLMPrompt。是一个强大的工具,它将 AI 的强大能力与你或团队的特定需求和规范无缝结合。

  • 大幅提升代码一致性: 确保 AI 生成的代码从一开始就符合你的风格指南和最佳实践。
  • 减少返工: 避免花费时间修正 AI 生成代码的格式、风格或不符合框架约定的问题。
  • 强制执行最佳实践和安全: 防止 AI 引入不安全或低效的代码模式。
  • 定制 AI 行为:AI 助手真正成为符合你项目上下文的智能协作者。

花些时间根据你的工作流和项目需求精心配置 Rules很有用,这时间值得花 ,会发现 CursorAI 助手变得更加精准、高效,真正成为提升你开发生产力的得力伙伴。

参考

相关推荐
我是大聪明.7 分钟前
DeepSeek V4 Pro + 华为昇腾910:国产大模型落地的性能实测与深度解析
人工智能·华为
机器之心24 分钟前
Generalist之后,罗剑岚团队推出LWD,也要变革具身智能训练范式
人工智能·openai
IT_陈寒29 分钟前
Vite的public文件夹放静态资源?这坑我替你踩了
前端·人工智能·后端
传说故事29 分钟前
【论文阅读】Diffusion Forcing: Next-token Prediction Meets Full-Sequence Diffusion
论文阅读·人工智能·diffusion
xixixi7777733 分钟前
三重筑基:5G-A超级上行提速千兆,电联低频共享扫平盲点,800V HVDC算电协同破局
人工智能·5g·ai·大模型·算力·通信·信通院
jkyy201434 分钟前
AI运动数字化:以技术重塑场景,健康有益赋能全域运动健康管理
大数据·人工智能·健康医疗
金融小师妹42 分钟前
4月30日多因子共振节点:鲍威尔“收官效应”与权力结构重塑的预期重构
大数据·人工智能·重构·逻辑回归
2601_949925181 小时前
AI Agent如何重构跨境物流的决策?
大数据·人工智能·重构·ai agent·geo优化·物流科技
AI木马人1 小时前
1.人工智能实战:大模型推理接口响应慢?从模型加载到 FastAPI 部署的完整优化方案
人工智能·python·fastapi
Black蜡笔小新1 小时前
私有化本地化AI模型训推工作站DLTM训推一体工作站赋能多行业智能化落地
人工智能