1分钟快速掌握 Cursor 高级技巧
把“写代码 + 让 AI 改代码 + 对话查问题”合成同一窗口:选中 → 说明 → 生成/改写 → 运行验证。
1)30秒最小闭环(首次就会用)
- 打开项目,选中一段代码或文件片段
⌘K / Ctrl+K呼出命令面板(Ask),选择模型(可先选Auto)并描述需求- 预览 AI 提议 → Apply(或逐行接受)
- 运行测试/启动项目,确认通过
口诀:给上下文 + 说期望 + 要结果形式(如“仅输出 diff”)。
2)使用频率最高的 4 种场景
- 补全写代码:边写边出建议,
Tab接受补全 - 就地改写:选区 →
⌘K/Ctrl+K→ 指令(如新增、修改、删除X功能) - 侧边 Chat:输入提示词,输出AI回答
- 侧边Agent:输入提示词目标,让智能体自动执行达到输入目标
3)开箱即用提示词(简单、复用性高)
修 Bug:
「阅读选中代码与下方报错日志,定位根因并最小修改修复;只给出必要 diff,并附回归步骤。」读代码:
「用中文概括这段代码:做什么、关键路径、边界条件、潜在风险;100 字内要点列表。」重构:
「在不改变行为前提下,将此函数拆分为可读性更高的纯函数;给出前后对比与命名依据。」补测试:
「使用本仓库既有测试框架,为该模块补齐正常/异常/边界用例,遵循现有命名与目录。」生成注释:
「为选中代码补齐 JSDoc/Docstring/Javadoc 注释 + 关键行内注释;不改行为。」
4)让 AI 更准的 4 个细节
上下文:给足上下文(让模型“看得到”问题现场)
要点
- 提供问题附近的代码(调用方 + 被调方 + 配置)。
- 贴出可复现信息:运行命令、环境(语言/框架/版本)、错误栈。
- 说明项目约定:代码风格、目录结构、依赖限制、接口契约。
最小上下文包(MCB)清单
- 入口与调用链:
main/入口文件、路由/注册处、目标函数/类 - 失败证据:
错误日志(首尾各 5–10 行 + 关键堆栈) - 运行方式:
如何启动/测试命令、期望输出 - 约束:不能改公共接口/不能引入新依赖/保持向后兼容
反例 → 正例
- 反例:
“这段代码有点问题,帮我看看?” - 正例:
“Node 18 + Express 4。运行npm test user.spec.ts失败,错误见下。POST /users期望返回 201。不可改外部接口。请在不引入新依赖的前提下修复。”
范围:限定“仅当前文件/函数,不引入依赖,不改公共接口”
要点
- 明确修改边界:只改“当前函数/文件/模块”;明确不可触碰的接口和依赖。
- 指定性能/兼容性底线:如复杂度不升、API 不变、耗时不劣于基线。
- 给出验收标准:测试通过、静态检查通过、性能不回退。
反例 → 正例
- 反例:
“重构一下这个模块,给我更优雅的写法。” - 正例:
“仅在 createUser 函数内做重构,保持行为与返回值完全一致;不得更改任何导出接口与类型。输出 diff,并说明复杂度变化。”
输出形态:规定输出形态(把答案变“可审可用”的产物)
常用输出格式
- Patch/Diff:方便逐行审阅与回滚
- 完整代码块:适合新建文件/脚手架
- 步骤清单 + 命令:便于你复现和验证
- 表格/要点清单:用于决策比较(性能、兼容性、权衡)
反例 → 正例
- 反例:
“给我一个更好的实现。” - 正例:
“请以 unified diff 的形式返回最小修复补丁。”
速查清单(把 4 件事一次说清)
在 Cursor 里请求 AI 前,按下面四格整理你的输入:
1. 上下文
- 语言/框架/版本
- 涉及文件/函数路径
- 错误日志(关键 10 行)
- 项目约定(lint、目录、命名)
2. 范围
- 可改:函数/文件/模块
- 禁改:公共接口/DTO/依赖
- 目标:可读性↑/复杂度↓/性能不退化
3. 输出形态
- diff / 完整代码 / 步骤清单
- 新文件需“文件清单”+内容
- 必须附验证命令与回归口径
小技巧:把上述三格做成你自己的**“请求模板片段”**(Snippet),每次只需替换具体信息,命中率会明显提高。
5)常见坑与避雷
- 改动太大 → 让它“只输出 diff”,你再审
- 风格不一致 → 提供 ESLint/Black/EditorConfig 规则,让它遵循
- 跑不通 → 要求给出“执行命令 + 验证口径”,失败贴新日志再迭代
一图流(心智流程)
选择上下文 → 描述目标与限制 → 规定输出形态 → 预览并只收下必要改动 → 本地验证与回归