1分钟快速掌握 Cursor 高级技巧

1.8k words

1分钟快速掌握 Cursor 高级技巧

把“写代码 + 让 AI 改代码 + 对话查问题”合成同一窗口:选中 → 说明 → 生成/改写 → 运行验证

1)30秒最小闭环(首次就会用)

  1. 打开项目,选中一段代码或文件片段
  2. ⌘K / Ctrl+K 呼出命令面板(Ask),选择模型(可先选Auto)并描述需求
  3. 预览 AI 提议 → Apply(或逐行接受)
  4. 运行测试/启动项目,确认通过

口诀:给上下文 + 说期望 + 要结果形式(如“仅输出 diff”)。

2)使用频率最高的 4 种场景

  • 补全写代码:边写边出建议,Tab 接受补全
  • 就地改写:选区 → ⌘K/Ctrl+K → 指令(如新增、修改、删除X功能)
  • 侧边 Chat:输入提示词,输出AI回答
  • 侧边Agent:输入提示词目标,让智能体自动执行达到输入目标

3)开箱即用提示词(简单、复用性高)

  • 修 Bug
    「阅读选中代码与下方报错日志,定位根因并最小修改修复;只给出必要 diff,并附回归步骤。」

  • 读代码
    「用中文概括这段代码:做什么、关键路径、边界条件、潜在风险;100 字内要点列表。」

  • 重构
    「在不改变行为前提下,将此函数拆分为可读性更高的纯函数;给出前后对比与命名依据。」

  • 补测试
    「使用本仓库既有测试框架,为该模块补齐正常/异常/边界用例,遵循现有命名与目录。」

  • 生成注释:

    「为选中代码补齐 JSDoc/Docstring/Javadoc 注释 + 关键行内注释;不改行为。」

4)让 AI 更准的 4 个细节

  1. 上下文:给足上下文(让模型“看得到”问题现场)

    要点

    • 提供问题附近的代码(调用方 + 被调方 + 配置)。
    • 贴出可复现信息:运行命令、环境(语言/框架/版本)、错误栈。
    • 说明项目约定:代码风格、目录结构、依赖限制、接口契约。

    最小上下文包(MCB)清单

    • 入口与调用链:main/入口文件路由/注册处目标函数/类
    • 失败证据:错误日志(首尾各 5–10 行 + 关键堆栈)
    • 运行方式:如何启动/测试命令、期望输出
    • 约束:不能改公共接口/不能引入新依赖/保持向后兼容

    反例 → 正例

    • 反例:
      “这段代码有点问题,帮我看看?”
    • 正例:
      “Node 18 + Express 4。运行 npm test user.spec.ts 失败,错误见下。POST /users 期望返回 201。不可改外部接口。请在不引入新依赖的前提下修复。”
  2. 范围:限定“仅当前文件/函数,不引入依赖,不改公共接口”

    要点

    • 明确修改边界:只改“当前函数/文件/模块”;明确不可触碰的接口和依赖。
    • 指定性能/兼容性底线:如复杂度不升、API 不变、耗时不劣于基线。
    • 给出验收标准:测试通过、静态检查通过、性能不回退。

    反例 → 正例

    • 反例:
      “重构一下这个模块,给我更优雅的写法。”
    • 正例:
      “仅在 createUser 函数内做重构,保持行为与返回值完全一致;不得更改任何导出接口与类型。输出 diff,并说明复杂度变化。”
  3. 输出形态:规定输出形态(把答案变“可审可用”的产物)

    常用输出格式

    • Patch/Diff:方便逐行审阅与回滚
    • 完整代码块:适合新建文件/脚手架
    • 步骤清单 + 命令:便于你复现和验证
    • 表格/要点清单:用于决策比较(性能、兼容性、权衡)

    反例 → 正例

    • 反例:
      “给我一个更好的实现。”
    • 正例:
      “请以 unified diff 的形式返回最小修复补丁。”

速查清单(把 4 件事一次说清)

在 Cursor 里请求 AI 前,按下面四格整理你的输入:

1. 上下文

  • 语言/框架/版本
  • 涉及文件/函数路径
  • 错误日志(关键 10 行)
  • 项目约定(lint、目录、命名)

2. 范围

  • 可改:函数/文件/模块
  • 禁改:公共接口/DTO/依赖
  • 目标:可读性↑/复杂度↓/性能不退化

3. 输出形态

  • diff / 完整代码 / 步骤清单
  • 新文件需“文件清单”+内容
  • 必须附验证命令与回归口径

小技巧:把上述三格做成你自己的**“请求模板片段”**(Snippet),每次只需替换具体信息,命中率会明显提高。

5)常见坑与避雷

  • 改动太大 → 让它“只输出 diff”,你再审
  • 风格不一致 → 提供 ESLint/Black/EditorConfig 规则,让它遵循
  • 跑不通 → 要求给出“执行命令 + 验证口径”,失败贴新日志再迭代

一图流(心智流程)
选择上下文 → 描述目标与限制 → 规定输出形态 → 预览并只收下必要改动 → 本地验证与回归