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 助手变得更加精准、高效,真正成为提升你开发生产力的得力伙伴。

参考

相关推荐
liliangcsdn8 分钟前
在mac m1基于llama.cpp运行deepseek
人工智能·macos·语言模型·llama
Deng94520131433 分钟前
基于数据挖掘的课程推荐系统研究
人工智能·数据挖掘·数据预处理·基于用户的协同过滤·文本特征提取
zhangfeng113343 分钟前
机器学习 YOLOv5手绘电路图识别 手绘电路图自动转换为仿真软件(如LT Spice)可用的原理图,避免人工重绘
人工智能·yolo·机器学习
铭keny1 小时前
YOLO11 目标检测从安装到实战
人工智能·目标检测·目标跟踪
杨小扩7 小时前
第4章:实战项目一 打造你的第一个AI知识库问答机器人 (RAG)
人工智能·机器人
whaosoft-1437 小时前
51c~目标检测~合集4
人工智能
雪兽软件7 小时前
2025 年网络安全与人工智能发展趋势
人工智能·安全·web安全
元宇宙时间8 小时前
全球发展币GDEV:从中国出发,走向全球的数字发展合作蓝图
大数据·人工智能·去中心化·区块链
小黄人20258 小时前
自动驾驶安全技术的演进与NVIDIA的创新实践
人工智能·安全·自动驾驶