news 2026/4/16 2:05:25

Cursor 实战指南——Plan、Command、Rule 三大核心功能深度解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Cursor 实战指南——Plan、Command、Rule 三大核心功能深度解析

一、Cursor 是什么?为什么值得学?

Cursor 是基于 VS Code 的 AI 开发环境,核心是让 AI 理解项目上下文并执行复杂任务。

与 ChatGPT/Copilot 的区别:

  • ChatGPT:对话式,需要手动复制代码
  • GitHub Copilot:代码补全,不执行命令
  • Cursor:理解项目结构,可执行命令、修改文件、运行测试

适用场景:

  • 快速理解遗留代码库
  • 批量重构(如统一日志格式、添加错误处理)
  • 跨文件功能开发(前后端联动)
  • 技术债务清理(升级依赖、修复警告)

二、Plan、Command、Rule 是什么?

Plan(规划)

  • 定义:让 Cursor 先生成任务分解/步骤清单,你确认后再让它按步骤执行,避免“一口气写完”带来的失控。
  • 官方定位:用于复杂或多文件改动的“先计划后执行”模式,生成可审阅的分步计划。
  • 关键点:
  • 多步骤、可勾选/逐步执行。
  • 适合跨文件改造、重构、大型功能开发。
  • 计划可以被你修改或删减,再让 Cursor 按修改后的步骤执行。
  • 失败/风险步骤可在计划里先标出,便于你把关。

Command(命令)

  • 定义:在对话里用自然语言下达终端命令,Cursor 帮你转换并在内置终端执行。
  • 官方定位:把“说明 → 命令 → 执行结果”串在一条对话链里,减少切窗口和手敲。
  • 关键点:
  • 支持串联命令、带参数、环境变量。
  • 执行日志/错误会回到对话里,便于继续追问或修复。
  • 高风险命令建议先让 Cursor 给出预览或 dry-run。
  • 可与 Plan 结合:先计划,再让计划中的命令分步执行。

Rule(规则)

  • 定义:给 Cursor 的上下文约束与风格/架构规范,让生成与修改遵守团队规则。
  • 官方定位:把“开发规范、架构约束、代码风格、安全/合规要求”变成 AI 必须遵守的约束层。
  • 关键点:
  • 规则可放在 .cursor/rules/(官方支持加载规则文件)。
  • 用清单式、可执行的约束(必须/禁止/示例),避免含糊表述。
  • 可按场景分层:通用规则、领域规则、临时改造规则。
  • 生成/改动时引用规则文件,让 Cursor 在回答中自检是否违反。

三、Plan、Command、Rule如何使用?

Plan的使用

首先你需要将Agent模式切换为Plan模式,然后在对话框描述你的需求,示例:

为订单模块添加“导出 CSV”功能,要求: - 后端:新增 GET /api/orders/export,校验日期区间,流式输出 - 前端:在订单列表页加“导出”按钮,调用新接口,提示成功/失败 - 测试:后端接口测试,前端交互测试 - 说明:列出涉及的文件路径,标注潜在风险点

AI的输出:

你可以自己调整或者让AI修改完善计划,确认无误后点击build执行,但是这个计划并没有本地持久化,因此当你需要和团队成员共享这个计划的时候你可以将这个计划持久化下来(比如一些共通性的工具之类的

cursor会将文件保存在.cursor\plans下,项目中可以上传到git作为共享资源。

Command的使用

切换Agent模式,输入斜杠选择Create Command,cursor会在.cursor\commands下生成文件

在真实项目中,你可以让AI为你设计这些命名,尤其是经过反复多轮自然语言搞定一个问题的时候,你可以让AI将这个过程总结为一个Command,然后下次你可以直接艾特这个命令文件就不需要反反复复的去纠正AI了,同样可以跟你团队的成员共享这个命令。

Rule的使用

Rule 是项目约束,让 AI 生成代码时遵守规范,减少返工。

没有 Rule 的问题:

你:添加用户注册接口 AI:[生成了代码,但使用了项目禁止的库,命名不符合规范,缺少异常处理]

有 Rule 的效果:

你:添加用户注册接口 AI:[严格按照 Rule 生成:使用项目统一异常码、符合命名规范、包含完整测试]
Rule 文件结构

推荐在 .cursor/rules/ 目录下组织规则:

.cursor/ rules/ 开发规则.mdc # 总入口,说明如何获取规则 前端开发通用规则.mdc # 前端规范 后端开发通用规则.mdc # 后端规范 安全与合规.mdc # 安全要求 性能优化.mdc # 性能标准 代码评审清单.mdc # 提交前检查
Rule 编写实战

示例 1:后端开发规则

# 后端开发通用规则 ## 适用范围 - 项目:wikijs-mcp - 语言:Java 17 + Spring Boot 3.2 - 目录:server/** ## 必须遵守(违反将导致代码被拒绝) ### 1. 分层架构 - Controller 层:只做参数校验、调用 Service、返回统一响应 - ✅ 正确:`return Response.success(userService.createUser(dto));` - ❌ 错误:在 Controller 中写业务逻辑或直接操作数据库 - Service 层:处理业务逻辑,返回 DTO,不返回 Entity - ✅ 正确:`UserDTO createUser(UserCreateDTO dto)` - ❌ 错误:`User createUser(UserCreateDTO dto)` 或直接返回 Entity - Mapper 层:只做数据库操作,不写业务逻辑 - ✅ 正确:`List<User> selectByCondition(UserQuery query);` - ❌ 错误:在 Mapper 中做数据转换或业务判断 ### 2. 异常处理 - 使用项目统一异常码枚举,禁止硬编码字符串 - ✅ 正确:`throw new BusinessException(ErrorCode.USER_NOT_FOUND);` - ❌ 错误:`throw new RuntimeException("用户不存在");` - 所有 Service 方法必须声明可能抛出的异常 - ✅ 正确:`public UserDTO getUser(Long id) throws BusinessException` - ❌ 错误:不声明异常或使用通用 Exception ### 3. 日志规范 - INFO:记录核心业务节点(创建、更新、删除) - ✅ 正确:`log.info("创建用户成功, userId={}, userName={}", userId, userName);` - ❌ 错误:`log.info("进入方法");` 或 `System.out.println(...)` - ERROR:记录异常,必须包含 traceId 和上下文信息 - ✅ 正确:`log.error("创建用户失败, userId={}, error={}", userId, e.getMessage(), e);` - ❌ 错误:`log.error("错误", e);` 缺少上下文 ### 4. 数据库操作 - 只能通过 Mapper 访问数据库,禁止在 Service 中写 SQL - 批量操作使用 MyBatis Batch,禁止循环单条插入 - ✅ 正确:`userMapper.insertBatch(userList);` - ❌ 错误:`for (User user : userList) { userMapper.insert(user); }` ### 5. 事务管理 - Service 方法需要事务时使用 @Transactional - 只读操作使用 @Transactional(readOnly = true) ## 代码示例 ### Controller 示例ava @RestController @RequestMapping("/api/users") @RequiredArgsConstructor public class UserController { private final UserService userService; @PostMapping public Response<UserDTO> createUser(@Valid @RequestBody UserCreateDTO dto) { return Response.success(userService.createUser(dto)); } }### Service 示例 @Service @RequiredArgsConstructor @Transactional public class UserService { private final UserMapper userMapper; public UserDTO createUser(UserCreateDTO dto) throws BusinessException { // 业务逻辑 User user = convertToEntity(dto); userMapper.insert(user); return convertToDTO(user); } }

以上这些用法,可以参考我的开源项目,里面有很全面的模板。

https://gitee.com/huang_yang/ai-developed-scaffolding

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:56:25

Rust FFI扩展编译实战解析(99%开发者忽略的关键步骤)

第一章&#xff1a;Rust FFI扩展编译的核心挑战在构建跨语言接口时&#xff0c;Rust 通过 FFI&#xff08;Foreign Function Interface&#xff09;与 C、C 等语言交互的能力极为强大。然而&#xff0c;编译此类扩展时&#xff0c;开发者常面临多重挑战&#xff0c;涉及工具链兼…

作者头像 李华
网站建设 2026/4/16 9:29:45

基于单片机的智能电能表

第一章 系统开发背景与意义 传统机械电能表存在计量精度低、抄表繁琐、无法实时监测用电状态等问题&#xff0c;难以满足现代电力系统的智能化管理需求。随着单片机技术与电力电子技术的发展&#xff0c;基于单片机的智能电能表成为解决上述痛点的理想方案。该表具不仅能实现高…

作者头像 李华
网站建设 2026/4/16 1:31:47

气温变化趋势预测全解析,基于R语言的ARIMA与ETS模型深度对比

第一章&#xff1a;气象数据的 R 语言趋势预测在气候研究与环境监测中&#xff0c;准确识别气温、降水等气象变量的变化趋势至关重要。R 语言凭借其强大的统计分析能力和丰富的可视化工具&#xff0c;成为处理时间序列型气象数据的首选平台。利用 R 中的 trend、zyp 和 forecas…

作者头像 李华
网站建设 2026/3/31 18:36:49

具身智能:梯队

截至2025年&#xff0c;中国在具身智能&#xff08;Embodied AI&#xff09;领域已涌现出一批技术领先、场景落地能力强的优秀企业。这些公司不仅在人形机器人、四足机器人、工业自动化等硬件形态上取得突破&#xff0c;更在视觉-语言-动作大模型&#xff08;VLA&#xff09;、…

作者头像 李华
网站建设 2026/4/14 12:41:03

Springboot3 + shardingsphere-jdbc5.5.2 按年月分表(动态创建表)

1、使用 shardingsphere 动态创建刷新节点 &#xff08;这个方式 在最新5.3以上的版本已经不支持自定义动态刷新actualDataNodes节点了。 ,但是我又不想一次创建所有表&#xff08;说不定什么时候就会修改表结构&#xff09;那么该怎么搞呢&#xff0c;我这里提供一个曲线方…

作者头像 李华