ΔRick's Good Stuff

Cursor 生产力指南

5 min read

Cursor 是一款非常强大的 AI 代码编辑器,fork 自 VSCode,共享插件生态。本文分享一些使用技巧和工作流。

快捷键

首先来看一些从 VSCode 继承的核心快捷键,掌握这些快捷键能覆盖日常开发中 70% 的操作场景:

  • ⌘ + P: 项目文件快速查找
    • 在搜索框中输入 % 可以进行更快速的模糊搜索
  • ⌘ + ⇧ + E: 打开/关闭文件树面板,快速浏览项目结构
  • ⌘ + ⇧ + F: 全局搜索,可搜索项目中的任意文本内容
  • ⌃ + ⇧ + G: 打开源代码管理面板,方便进行 Git 操作
  • ⌃ + \: 打开集成终端,执行命令行操作
  • ⌘ + D: 多光标编辑,选中相同的文本进行批量修改
  • ⌘ + Z: 撤销上一步操作
  • ⌘ + Y: 重做已撤销的操作

Cursor

以下是 Cursor 独有功能。

⌘ + K

这是我使用频率最高的快捷键,它能唤起 Cursor 的 AI 编辑助手对话框。不管是编写新代码还是修改现有代码,我都会优先考虑使用它来完成小范围的代码修改。

使用方式非常灵活:

  1. 如果你已经确定要修改的具体代码范围,可以先选中这些代码,然后按下 ⌘ + K 呼出对话框。在对话框中描述你想要的修改,AI 就会根据上下文生成符合要求的代码。
  2. 如果你想修改某个完整的函数,只需将光标放在函数名上,直接按 ⌘ + K 即可。无需手动选中整个函数体,Cursor 会自动识别函数的范围。
  3. 对话框支持多轮对话,你可以不断调整和优化生成的代码,直到满意为止。

Tab

这个快捷键堪称效率神器,能让我快速进入心流状态。

当你使用 AI 完成一处代码修改后,Cursor 会智能分析并预测下一个可能需要相关修改的位置。只需按下 Tab 键,就能直接跳转到下一个建议修改的地方。

这个功能在处理业务代码时特别有用。比如修改某个变量名时,它能帮你快速定位到所有相关的使用位置,大大提高了重构的效率。

Chat

有时候在编码过程中,我们需要先理清思路或者咨询一些技术问题。按下 ⌘ + L 可以在右侧打开一个专门的 AI 对话面板。

这个对话面板非常适合:

  • 讨论代码架构和设计方案
  • 咨询特定技术问题或最佳实践
  • 获取代码优化建议
  • 理解复杂的代码逻辑

Composer

Composer 是 Cursor 中一个强大的功能,它能够分析需求、理解项目结构,并逐步生成文件和代码。与仅在单个文件内进行修改的常规聊天功能不同,Composer 面向整个项目进行迭代,就像一个经验丰富的程序员一样全面考虑项目结构。

Composer 分为 Normal 和 Agent 模式。Normal 只能生成代码,需要你一步一步确认,无法直接修改项目文件。Agent 带了 Tools 能力,能够修改文件,也能执行 Shell 命令。

正因为 Agent 功能很强大,因此描述需求时一定要清晰、直白。精确的需求描述可以更好地引导模型生成方向,从而提高预期结果的准确性。

Cursorrule 文件

在 AI 模型中,Prompt 分为 System 和 User 两类。在 Cursor 中,.cursorrule 文件充当 System Prompt 的角色。

利用 .cursorrule 文件,用户可以控制模型生成代码的各个方面,包括代码风格、质量标准和复杂度等。

通过这个文件作为一个约束条件,可以有效地限制和引导模型的生成行为,确保输出符合预期要求。

如何创建这个文件呢?只需要在项目根目录下创建 .cursorrule,里面填入相关内容即可。

Notepad

这个功能处在 Beta 阶段,但是非常好用。

顾名思义,它是一个记事本,用来记录大段内容,比如非常详细的业务需求。用来在会话之间共享,避免反复地复制粘贴。

使用方法很简单,直接在 Chat 或者 Composer 引用即可。

RTFM

除了以上功能,建议用户仔细阅读 Cursor 的官方文档,研究明白每一个功能和细节,最大化自己的生产效率。

实战思路

在实际开发中,我们可以根据以下步骤高效地使用 Cursor:

  1. 首要任务是在项目根目录设置 .cursorrule 文件。这个文件将作为项目的基础配置,统一管理代码生成的风格规范、业务规则和最佳实践准则。

  2. 根据需求的复杂程度,我们可以采取不同的开发策略:

    对于简单需求:

    • 定位到需要修改的代码位置
    • 使用 CMD+K 快捷键唤起 inline 聊天框
    • 清晰描述你的需求,让 AI 生成相应代码
    • 仔细审查生成的代码,确认无误后应用更改
    • 如发现问题,可以继续与 AI 沟通优化,或直接手动调整代码

    对于复杂需求:

    • 优先使用 Notepad 功能,详细记录需求细节和技术要点
    • 启动 Composer 的 Agent 模式,并引用 Notepad 中的需求说明
    • 审查 AI 生成的代码,标注需要改进的地方
    • 通过持续对话优化代码质量,通常在三到五轮交互内完成任务

与 AI 合作之道

在掌握了上述的工具和技巧之后,我们还需要理解与 AI 合作的核心理念。AI 产品有别于传统软件,它既有独特的优势,也有其局限性。要想充分发挥 AI 的能力,关键在于将其视为一个合作伙伴。

基本原则

与 AI 合作时,需要遵循以下几个基本原则:

  1. 清晰明确(Be Clear)

    • 准确描述你的需求、限制和期望
    • 除非是在探索可能性,否则不要让 AI 进行猜测
  2. 循序渐进(Step-by-step)

    • 扮演架构师的角色,自上而下设计系统
    • 将大任务拆分为明确的子模块
    • 主导 AI 的工作方向,而不是被动接受
  3. 持续迭代(Iterate)

    • 接受 AI 可能无法一次完成任务的现实
    • 通过多次迭代优化,逐步达到理想效果

协作流程

在具体项目中,可以按照以下流程与 AI 展开合作:

  1. 目标对齐

    • 明确定义问题和解决方案
    • 详细说明需求和约束条件
    • 必要时与 AI 展开讨论,确保理解一致
  2. 方案规划

    • 设计清晰的实现文档
    • 与 AI 共同审查方案
    • 制定分阶段的实施计划
  3. 分步实现

    • 将规划转化为具体的小任务
    • 每个任务都要容易理解和验证
    • 让 AI 逐步完成这些任务
  4. 验证测试

    • 对每个阶段的成果进行测试
    • 可以采用自动化或人工测试方式
    • 确保所有改动都符合预期目标