本文写于 2024 年,内容已经过时。现在的 Cursor 已经大变样,Coding 场景更推荐使用 Codex / Claude Code。
Cursor 是一款 AI 代码编辑器,fork 自 VSCode,共享插件生态。本文记录一些我在 2024 年使用 Cursor 时的技巧和工作流。
快捷键#
以下是从 VSCode 继承的常用快捷键,覆盖日常开发里的大部分操作:
⌘ + P:快速查找文件,输入%可进行模糊搜索。⌘ + ⇧ + E:打开或关闭文件树面板。⌘ + ⇧ + F:全局搜索项目中的文本。⌃ + ⇧ + G:打开源代码管理面板。⌃ + \:打开集成终端。⌘ + D:多光标编辑,批量修改相同文本。⌘ + Z/⌘ + Y:撤销与重做。
Cursor 独有功能#
⌘ + K#
⌘ + K 是我当时使用频率最高的功能,适合做小范围代码修改。
常见用法有三种:
- 选中要修改的代码,按
⌘ + K呼出对话框,描述想要的修改。 - 将光标放在函数名上直接按
⌘ + K,让 Cursor 自动识别函数范围。 - 如果生成结果不理想,继续在对话框里补充要求,逐轮调整。
这个入口适合边界清楚的小任务。任务越具体,结果越稳定。
Tab#
当你用 AI 完成一处代码修改后,Cursor 会预测下一个可能需要同步修改的位置。按 Tab 就可以跳过去。
它在修改变量名、调整接口参数、补 import 这类场景里比较实用,可以省掉一些机械操作。但每次接受前仍然要看一眼,确认它到底改了什么。
Chat#
按 ⌘ + L 可以在右侧打开 AI 对话面板。它更适合用来想问题,而不是直接写代码。
我通常会用 Chat 做这些事:
- 讨论代码架构和设计方案。
- 咨询具体技术问题。
- 获取代码优化建议。
- 理解复杂代码逻辑。
很多时候,先把问题聊清楚,比直接让 AI 写代码更省时间。
Composer#
Composer 面向整个项目工作,可以分析需求、理解项目结构,并逐步生成文件和代码。相比只在单个文件内修改的行内编辑,它更适合处理复杂任务。
当时的 Composer 分为 Normal 和 Agent 两种模式。Normal 只能生成代码,需要逐步确认,不能直接修改文件;Agent 带有 Tools 能力,可以修改文件,也可以执行 Shell 命令。
Agent 能做的事情更多,也更容易跑偏。所以使用前要把需求说清楚:目标是什么、限制是什么、希望它输出什么。话说得越具体,返工越少。
Cursorrule 文件#
在 Cursor 中,.cursorrule 文件承担类似 System Prompt 的角色,用来约束代码风格、质量标准和项目规则。
创建方式很简单:在项目根目录新建 .cursorrule 文件,写入相关内容即可。
它适合写具体约定,比如:
- 使用什么框架和语言。
- 目录结构如何组织。
- 错误处理有什么要求。
- 哪些业务规则不能破坏。
不要写太空泛的原则。规则越贴近项目,越有用。
Notepad#
Notepad 是当时的 Beta 功能,用来记录大段内容,比如详细业务需求、接口约定或背景说明。
它的作用是让这些内容可以在 Chat 和 Composer 之间复用,避免每次都重新复制粘贴。
官方文档#
Cursor 当时更新很快,如果想了解完整功能,还是应该阅读 Cursor 官方文档。
实战思路#
实际开发时,我一般按需求复杂度选择工具。
简单需求直接用 ⌘ + K:
- 定位到需要修改的代码。
- 唤起行内编辑框。
- 描述需求,让 AI 生成代码。
- 审查结果,确认后应用。
- 如果不满意,继续对话或手动调整。
复杂需求交给 Composer:
- 先用 Notepad 写清楚需求、技术要点和限制条件。
- 启动 Composer 的 Agent 模式,引用 Notepad 中的说明。
- 审查 AI 生成的代码,标注需要改进的地方。
- 通过几轮对话继续调整,直到结果可用。
项目初始化时,我也会先放好 .cursorrule,把代码风格和业务规则写进去,减少重复说明。
与 AI 合作之道#
AI 工具不是传统软件。它有能力,也会犯错。要用好它,关键不是把所有事情都交给它,而是把它当成一个需要管理的协作者。
我会遵循三个原则:
- 清晰明确:准确描述需求、限制和期望。除非是在探索可能性,否则不要让 AI 猜。
- 循序渐进:先设计整体方案,再把大任务拆成明确的小任务。你负责方向,AI 负责执行。
- 持续迭代:接受 AI 很少一次到位,通过多轮反馈逐步靠近目标。
对应到具体流程,就是:
- 先定义问题和目标。
- 再说明需求和约束。
- 把方案拆成可验证的小步骤。
- 让 AI 分步实现。
- 最后测试和审查结果。
最后#
工具会变,功能会过时,但有一条经验仍然成立:不要把模糊需求直接丢给 AI。
先想清楚目标、范围和验收方式,再选择合适的工具。这样得到的结果,通常会稳定很多。