Cursor 是一款革命性的 AI 编程编辑器,它将人工智能深度集成到开发工作流中,让代码编写、调试和重构变得前所未有的高效。本文将带你从入门到精通,全面掌握这款改变软件开发方式的工具。
什么是 Cursor?
Cursor 不是普通的代码编辑器——它是一个”会思考”的编程伙伴。基于 VS Code 构建,Cursor 集成了最前沿的 AI 模型(包括 Claude、GPT-5、Gemini 等),能够理解你的代码库、自动完成代码、解释复杂逻辑,甚至独立完成整个功能的开发。
根据官方数据,包括 Salesforce 在内的财富 500 强企业中,超过 90% 的开发者正在使用 Cursor,开发周期时间和 PR 速度实现了两位数的提升。NVIDIA 总裁黄仁勋曾表示:“我最喜欢的企业 AI 服务是 Cursor。我们的每一位工程师,大约 40,000 人,现在都由 AI 辅助,我们的生产力取得了惊人的提升。”
安装与初始配置
下载与安装
- 访问 Cursor 官方网站
- 根据你的操作系统下载对应版本(Windows、macOS 或 Linux)
- 运行安装程序,按照提示完成安装
- 首次启动时,可以选择导入 VS Code 的扩展和设置
账户设置
Cursor 提供免费和付费两种方案:
- 免费版:包含基础的 AI 功能,适合个人学习和小项目
- Pro 版:解锁更多高级模型调用次数、并行 Agent 运行等功能
注册账户后,在设置中配置你的偏好:
- 选择默认 AI 模型
- 配置快捷键
- 设置代码风格偏好
核心功能详解
1. 智能代码补全
Cursor 的代码补全不仅仅是简单的语法提示。它能够:
- 理解当前文件的上下文
- 参考项目中其他文件的代码模式
- 预测你接下来可能要写的完整函数或类
使用技巧:
- 按
Tab接受建议 - 按
Esc拒绝建议 - 继续输入会看到动态更新的建议
2. Chat 对话模式
按下 Cmd+K(macOS)或 Ctrl+K(Windows)打开 Chat 面板,你可以:
- 询问代码相关问题:“这个函数是如何工作的?”
- 请求代码修改:“把这个函数改成异步版本”
- 生成新代码:“创建一个用户认证组件”
- 调试错误:“解释这个报错的原因”
高效提问示例:
为 auth.ts 编写测试用例,覆盖登出边缘情况, 使用 __tests__/ 中的模式,避免使用 mock
3. Agent 代理模式
这是 Cursor 最强大的功能。Agent 可以:
- 自主搜索代码库找到相关文件
- 进行多文件编辑和重构
- 运行终端命令和测试
- 迭代修改直到任务完成
启用 Agent 模式:
- 在 Chat 输入框中按
Shift+Tab切换到 Agent 模式 - 描述你想要完成的任务
- Agent 会先制定计划,等待你确认后开始执行
4. Plan 计划模式
对于复杂任务,强烈建议使用 Plan 模式:
工作流程:
- 按
Shift+Tab切换到 Plan 模式 - Agent 会研究你的代码库并提出实施计划
- 计划以 Markdown 文件形式呈现,可直接编辑
- 点击”Save to workspace”保存到
.cursor/plans/目录 - 确认后 Agent 开始执行
优势:
- 强制清晰思考要构建什么
- 给 Agent 明确的目标
- 便于团队审查和文档化
- 支持中断后恢复工作
模型选择指南
Cursor 支持所有主流的前沿编程模型:
Anthropic 系列
- Claude 4.6 Opus:最强推理能力,适合复杂架构设计
- Claude 4.6 Sonnet:平衡性能和成本,日常开发首选
- Claude 4.5 Haiku:快速响应,适合简单任务
OpenAI 系列
- GPT-5.3 Codex:专为编程优化,代码质量高
- GPT-5.2:通用能力强,适合多模态任务
- GPT-5 Mini:快速且经济,适合简单补全
Google 系列
- Gemini 3.1 Pro:强大的多模态理解
- Gemini 3 Flash:速度快,成本低
Cursor 自研模型
- Composer 1.5:针对 Cursor 工作流优化
选择建议:
- 日常编码:Claude 4.6 Sonnet 或 GPT-5.3 Codex
- 复杂重构:Claude 4.6 Opus
- 快速迭代:Gemini 3 Flash 或 Claude 4.5 Haiku
- 架构设计:Claude 4.6 Opus 或 GPT-5.2
上下文管理技巧
让 Agent 自动查找上下文
不需要手动标记每个文件。Cursor 的 Agent 拥有强大的搜索工具:
- 即时 grep 搜索:毫秒级代码库搜索
- 语义搜索:理解代码含义而非仅关键词
@Branch:让 Agent 了解当前分支的工作
最佳实践:
- 知道确切文件时,使用
@文件名标记 - 不确定时,让 Agent 自己查找
- 避免包含无关文件,会混淆 Agent
何时开始新对话
开始新对话的时机:
- 切换到不同任务或功能
- Agent 似乎困惑或重复犯错
- 完成一个逻辑工作单元
继续当前对话的时机:
- 在同一功能上迭代
- Agent 需要之前讨论的上下文
- 调试刚构建的功能
注意:长对话会导致 Agent 失去焦点。如果发现效率下降,开始新对话。
引用过去的工作
使用 @Past Chats 引用之前的工作,而不是复制粘贴整个对话。Agent 可以选择性地读取聊天记录,只获取需要的上下文。
自定义配置:Rules 和 Skills
Rules:项目的静态上下文
Rules 提供持久化的指令,塑造 Agent 如何处理你的代码。
创建 Rules: 在 .cursor/rules/ 目录创建 Markdown 文件:
# 命令
- `npm run build`: 构建项目
- `npm run typecheck`: 运行类型检查
- `npm run test`: 运行测试(优先单个测试文件以提高速度)
# 代码风格
- 使用 ES 模块(import/export),不使用 CommonJS(require)
- 可能时解构导入:`import { foo } from 'bar'`
- 参考 `components/Button.tsx` 了解规范组件结构
# 工作流程
- 一系列代码更改后始终运行类型检查
- API 路由遵循 `app/api/` 中的现有模式
Rules 最佳实践:
- 保持简洁:只包含基本命令、模式和规范示例指针
- 引用文件而非复制内容,避免过时
- 从简单开始,只在 Agent 重复犯错时添加规则
- 提交到 git,让团队受益
Skills:动态能力和工作流
Agent Skills 扩展了 Agent 的能力。Skills 在 SKILL.md 文件中定义,可以包含:
- 自定义命令:用
/触发的可重用工作流 - Hooks:在 Agent 动作前后运行的脚本
- 领域知识:Agent 可按需拉取的特定任务指令
与 Rules 的区别:
- Rules:每对话始终包含
- Skills:Agent 认为相关时动态加载
长运行 Agent 循环示例
使用 Skills 创建长时间运行的 Agent,迭代直到达成目标:
- 在
.cursor/hooks.json配置 Hook:
{
"version": 1,
"hooks": {
"stop": [{ "command": "bun run .cursor/hooks/grind.ts" }]
}
}
- Hook 脚本接收上下文并返回跟进消息继续循环
适用场景:
- 运行(并修复)直到所有测试通过
- 迭代 UI 直到匹配设计稿
- 任何目标可验证的任务
常见工作流模式
测试驱动开发(TDD)
Agent 可以自动编写代码、运行测试并迭代:
- 要求 Agent 基于期望的输入/输出对编写测试
- 明确说明在做 TDD,避免为尚不存在的功能创建模拟实现
- 让 Agent 运行测试并确认失败
- 提交测试
- 要求 Agent 编写通过测试的代码,指示不要修改测试
- 持续迭代直到所有测试通过
- 提交实现
代码库理解
熟悉新代码库时,用 Agent 进行学习和探索:
- “这个项目中的日志是如何工作的?”
- “如何添加新的 API 端点?”
- “CustomerOnboardingFlow 处理哪些边缘情况?”
- “为什么在第 1738 行调用 setUser() 而不是 createUser()?”
Git 工作流
Agent 可以搜索 git 历史、解决合并冲突并自动化 git 工作流。
创建 /pr 命令示例:
为当前更改创建拉取请求。 1. 使用 `git diff` 查看暂存和未暂存的更改 2. 基于更改内容编写清晰的提交信息 3. 提交并推送到当前分支 4. 使用 `gh pr create` 打开带有标题/描述的 PR 5. 完成后返回 PR URL
将命令存储为 .cursor/commands/ 中的 Markdown 文件并提交到 git。
并行运行多个 Agent
Cursor 支持并行运行多个 Agent 而不会相互干扰:
原生 Worktree 支持
Cursor 自动创建和管理 git worktrees 供并行 Agent 使用:
- 每个 Agent 在独立的 worktree 中运行
- 文件隔离,不会相互覆盖
- 完成后点击”Apply”合并更改到工作分支
同时运行多个模型
强大的模式是用相同提示同时运行多个模型:
- 从下拉菜单选择多个模型
- 提交提示
- 并排比较结果
- Cursor 会建议它认为最好的解决方案
特别适用于:
- 困难问题,不同模型可能采用不同方法
- 比较模型家族的代码质量
- 发现一个模型可能遗漏的边缘情况
代码审查
AI 生成的代码需要审查,Cursor 提供多种选项:
生成过程中审查
- 观看 Agent 工作
- 差异视图显示实时更改
- 发现方向错误时按
Escape中断并重定向
Agent 审查
- Agent 完成后,点击”Review → Find Issues”运行专门的审查
- Agent 逐行分析提议的编辑并标记潜在问题
- 对于所有本地更改,打开源代码控制标签页并运行 Agent Review
Bugbot 用于拉取请求
推送到源代码控制以获得 PR 的自动审查。Bugbot 应用高级分析尽早发现问题并提出改进建议。
架构图
对于重大更改,要求 Agent 生成架构图:
创建一个 Mermaid 图表,展示我们的认证系统的数据流, 包括 OAuth 提供商、会话管理和令牌刷新
Debug 模式处理棘手 Bug
当标准 Agent 交互难以解决 Bug 时,使用 Debug 模式:
Debug 模式的工作方式:
- 生成多个关于问题原因的假设
- 用日志语句检测代码
- 要求你重现 Bug 同时收集运行时数据
- 分析实际行为以 pinpoint 根本原因
- 基于证据进行针对性修复
最佳适用场景:
- 可以重现但无法解决的 Bug
- 竞态条件和时序问题
- 性能问题和内存泄漏
- 曾经有效但现在失效的回归问题
关键:提供关于如何重现问题的详细上下文。越具体,Agent 添加的检测越有用。
云端 Agent 委托
云端 Agent 适合处理你原本会添加到待办事项的任务:
- 处理其他工作时出现的 Bug 修复
- 最近代码更改的重构
- 为现有代码生成测试
- 文档更新
工作流程:
- 描述任务和任何相关上下文
- Agent 克隆仓库并创建分支
- 自主工作,完成后打开 PR
- 通过 Slack、邮件或 Web 界面收到完成通知
- 审查更改并合并
提示:可以用 Slack 中的”@Cursor”触发 Agent。
高效使用 Cursor 的核心原则
根据 Cursor 团队的研究,最高效的开发者具备以下特质:
1. 编写具体的提示
Agent 的成功率随具体指令显著提高。
对比:
- ❌ 差:“为 auth.ts 添加测试”
- ✅ 好:“为 auth.ts 编写测试用例,覆盖登出边缘情况,使用 tests/ 中的模式,避免使用 mock”
2. 迭代优化设置
- 从简单开始
- 只在 Agent 重复犯错时添加 Rules
- 只在确定要重复的工作流后添加 Commands
- 在理解模式前不要过度优化
3. 仔细审查
AI 生成的代码可能看起来正确但存在微妙错误:
- 阅读差异
- 仔细审查
- Agent 工作越快,审查流程越重要
4. 提供可验证的目标
Agent 无法修复它不知道的问题:
- 使用类型化语言
- 配置 linter
- 编写测试
- 给 Agent 清晰的正确性信号
5. 将 Agent 视为有能力的协作者
- 要求计划
- 请求解释
- 对你不喜欢的方法提出异议
快捷键速查表
| 快捷键 | 功能 |
|---|---|
Cmd/Ctrl + K | 打开 Chat 面板 |
Cmd/Ctrl + L | 打开终端 |
Cmd/Ctrl + I | 内联编辑 |
Shift + Tab | 切换 Plan/Agent 模式 |
Tab | 接受代码补全建议 |
Esc | 拒绝建议/中断 Agent |
Cmd/Ctrl + Shift + P | 命令面板 |
常见问题解答
Q: Cursor 与 VS Code 有什么区别?
A: Cursor 基于 VS Code 构建,兼容所有 VS Code 扩展,但深度集成了 AI 功能。你可以导入现有的 VS Code 设置和扩展。
Q: 免费版的限制是什么?
A: 免费版包含基础 AI 功能,但高级模型调用次数有限。对于个人学习和小项目通常足够。
Q: 代码隐私如何保障?
A: Cursor 提供企业级安全功能,包括本地模型选项、私有部署和数据加密。企业用户可以查看 企业方案 了解详情。
Q: 可以在团队中使用吗?
A: 可以。将 Rules 和 Commands 提交到 git,整个团队都能受益。企业版还提供团队协作功能。
Q: 支持哪些编程语言?
A: Cursor 支持所有主流编程语言,包括 JavaScript/TypeScript、Python、Go、Rust、Java、C++ 等。AI 模型经过多种语言的训练。
总结
Cursor 代表了软件开发的未来。它不是要取代开发者,而是增强我们的能力,让我们能够:
- 更快地构建高质量软件
- 专注于创造性问题而非重复性编码
- 更轻松地理解和维护复杂代码库
- 与 AI 协作而非被 AI 替代
开始使用 Cursor 的最佳方式是立即尝试。从一个小功能开始,体验 AI 辅助编码的流畅感,然后逐步探索更高级的功能。记住,最有效的用户是那些将 Agent 视为有能力协作者的人——要求计划、请求解释、对不喜欢的方法提出异议。
欢迎来到 AI 编程的新时代。
参考资料:
