1. Cursor 简介

Cursor 是一款专为开发者设计的智能代码编辑器,深度整合了 GPT、Claude、Gemini 等先进大语言模型,通过 AI 技术重新定义编程体验。作为 VS Code 的强化版本,它不仅保留了原版的所有优势,更通过 AI 能力大幅提升了开发效率。
核心优势:
- VS Code 的完美继承
- 跨平台支持(Windows/macOS/Linux)
- 完全兼容 VS Code 插件生态
- 保留语法高亮、智能导航等专业功能
- 内置集成终端等开发者工具
- 革命性 AI 功能
- 智能代码补全:基于上下文理解提供精准建议
- 自然语言编程:用日常语言描述即可生成完整代码
- 代码智能解读:快速解析复杂逻辑实现
- 自动化调试:辅助定位和修复代码缺陷
产品价值:
Cursor 通过 AI 技术将重复性编码工作自动化,使开发者能更专注于核心逻辑和创意实现。对于 VS Code 用户可实现无缝切换,快速提高工作效率。
2. 安装与配置
系统要求
- Windows: Windows 10/11
- macOS: macOS 10.15+
- Linux: Ubuntu/Debian/RHEL
安装步骤
- 下载安装包:访问 https://www.cursor.com 下载对应系统的安装包。
- 账号登录:启动 Cursor,使用 GitHub 或 Google 账号登录。
- 选择计划:新用户享受有一定的免费体验次数,可根据需求选择 Hobby/Pro/Ultra 计划。
价格计划

🎓 学生优惠:持有有效学生邮箱的用户可以申请免费一年的 Pro 计划。
3. 中文配置
在 Cursor 界面,键盘组合键Cltr+Shift+X
打开扩展市场,输入chinese
,选择中文简体(或繁体)点击install安装,安装完成后重启即可。

但是中文插件仅能对部分界面进行汉化,而 Cursor 设置等界面未汉化。

4. 模型设置
Cursor 的强大之处在于它将大模型的能力发挥到了极致,不仅内置多种主流模型,还支持用户轻松自定义接入其他模型,配置过程简单高效。
点击 Cursor 右上角的设置⚙️
图标,选择Moldes
选项可以勾选拟使用的模型,点击Add Custom Model
可以添加其它模型。

点击API Keys
可以自定义接入 OpenAI、Anthropic、Google、Azure OpenAI、AWS Bedroke 的 API Key,同时也可以支持接入第三方中转 API ,但是只接受 OpenAI 兼容的 API 格式。

5. 交互模式
Cursor 中模式选择菜单,三个选项:Agent、Ask 和 Manual。

简单来说,这三种模式代表了与 AI 协作的不同层次和自主性:
① Ask 模式:问答式互动
- 你提问,AI 回答。
- 适合查 bug、要示例代码、写注释等。
② Agent 模式:AI 主动协作
- AI 实时跟进你的编程,自动补全、改进代码。
- 类似编程搭子,适合持续开发过程。
③ Manual 模式:手动指令
- 你选中代码,手动触发 AI 重构、优化。
- 控制力强,适合精准修改。
下面是一个清晰的对比表格:
特性 | Ask (快速问答) | Agent (AI 智能体) | Manual (手动模式) |
核心功能 | 提问、解释代码、生成代码片段 | 根据高级指令,自主规划并修改整个文件或项目 | 对选定代码块进行精确修改 |
交互方式 | 在聊天框或悬浮窗中进行对话 | 给出高级指令 (如 “重构这个文件”) | 选中代码,然后给出修改指令 |
对代码的影响 | 不直接修改你的代码 | 自动修改代码,并展示修改计划 | 生成一个差异对比 ,需要你手动接受 |
适用场景 | 理解概念、查询语法、解释复杂逻辑、生成样板代码 | 大规模重构、添加新功能、修复 Bug、迁移代码 | 小范围的函数优化、修改变量名、调整逻辑 |
自主性 | 低 (只回答问题) | 高 (理解意图、制定计划、执行修改) | 中 (只在指定范围内操作) |
常用快捷键 | Ctrl/⌘ + K |
Ctrl/⌘ + L |
Ctrl/⌘ + K |
下面是更详细的解释:
1. Ask Mode (快速问答模式)
这是最轻量级的交互方式,你可以把它想象成一个内置在编辑器里的 ChatGPT。
- 触发:通常是使用快捷键
Ctrl/⌘ + K
,在没有选中任何代码的情况下,会弹出一个提问输入框。 - 流程:
- 提出问题,比如:“帮我生成一个 React 表单组件”。
- AI 会给出答案,并用不同的色块区分。
- AI 会利用当前打开的文件的上下文来提供更相关的回答,但它不会主动去修改代码文件。你可以选择接受或拒绝代码修改。
- 用途:
- 学习和理解:当你遇到不熟悉的代码、库或概念时。
- 快速查询:代替去 Google 或 Stack Overflow 搜索。
- 生成样板代码 :比如生成一个类的基本结构、一个测试文件的框架等。
2. Agent Mode (AI 智能体模式)
这是 Cursor 目前最强大、最核心的功能,它让 AI 具备了自主规划和执行任务的能力。
- 触发:使用快捷键
Ctrl/⌘ + L
,会打开一个聊天输入框,让你对整个文件或多个文件下达指令。 - 流程:
- 给出任务,比如:“为这个函数添加详细的 JSDoc 注释和错误处理逻辑”或“将这个组件从 Vue 2 迁移到 Vue 3”。
- AI Agent 会首先制定一个行动计划,例如:“1. 识别所有需要处理的函数。 2. 为每个函数添加 try-catch 块。 3. 在 catch 块中添加日志记录。 4. …”。
- 在得到同意后,Agent 会自动开始执行计划,直接修改代码文件。
- 可以随时暂停、修改指令或撤销它的操作。
- 最佳用途:
- 大规模重构:想优化整个文件或模块的结构时。
- 实现新功能:直接告诉 AI “在用户列表中添加一个搜索功能”。
- 自动化调试:描述遇到的 Bug,让 AI 尝试定位并修复问题。
- 代码迁移和现代化:比如从一个旧的框架或语言版本升级。
3. Manual Mode (手动模式)
这是 Agent 模式出现之前的标准 AI 编辑方式。它更加可控,专注于小范围、精确的修改。
- 触发:
- 选中一小段你想要修改的代码。
- 按下
Ctrl/⌘ + K
。 - 输入你的修改指令。
- 工作流程:
- 选中一个函数,然后指示:“将这个函数改写为箭头函数”。
- AI 不会直接修改代码,而是会生成一个差异对比视图 ,清晰地展示旧代码和建议的新代码之间的区别。
- 对比差异,接受修改建议这些更改才会被应用到文件中。如果不满意,可以拒绝或重新编辑指令。
- 最佳用途:
- 精确控制:当你只想修改特定几行代码,不希望 AI “自作主张”修改其他地方时。
- 代码优化:选中一个循环,指示“优化这个循环的性能”。
- 风格统一:选中一段代码,指示“按照 ESLint 规则格式化”。
在日常使用中,这三者通常会结合使用。你会用 Ask 来快速解惑,用 Manual 来进行小范围的精确调整,用 Agent 来处理复杂和繁琐的大任务。
5. 核心功能详解
Cursor Tab – 智能代码补全
Cursor Tab是比GitHub Copilot更强大的代码补全工具,能够理解上下文并提供多行智能建议。
主要特性:
- 基于上下文的智能预测
- 支持多行代码生成
- 实时理解最近的代码变更
- 支持多种编程语言
示例:
// 例如,当你输入函数签名时:
function calculateTotal(items) {
// Cursor Tab会自动建议完整的实现
return items.reduce((sum, item) => sum + item.price, 0);
}
💡 使用技巧:
- Tab – 接受建议
- Esc – 拒绝建议
- Ctrl/⌘ + → – 部分接受
Cursor Chat – AI编程对话
Chat功能让你能够与AI进行自然语言对话,就像与一位了解你整个项目的同事在结对编程。
启动方式:
- Ctrl/⌘ + L – 打开Chat
- 选中代码后按 Ctrl/⌘ + L – 自动包含选中内容
操作按钮:
- Apply – 将代码应用到文件
- Accept – 接受修改
- Reject – 拒绝修改
Chat进阶技巧:
- @符号: 引用特定文件、函数或文件夹
- Ctrl/⌘ + Enter: 搜索整个代码库
- @Web: 搜索互联网获取最新信息
- 图片支持: 直接粘贴截图、设计图或错误界面
Cmd K – 内联编辑
Cmd K (在Windows/Linux上是Ctrl + K)是快速代码生成和编辑的利器,直接在编辑器中进行AI辅助的代码修改。
编辑现有代码:
- 选中要修改的代码
- 按 Ctrl/⌘ + K
- 描述需要的修改
- 按 Enter 应用
生成新代码:
- 将光标放在目标位置
- 按 Ctrl/⌘ + K
- 描述要生成的代码
- 按 Enter 生成
示例:
// 选中下面的函数,按Ctrl/Cmd + K,然后输入:
// "添加错误处理和参数验证"
function divide(a, b) {
return a / b;
}
// AI会自动重写为:
function divide(a, b) {
if (typeof a !== 'number' || typeof b !== 'number') {
throw new Error('Both arguments must be numbers');
}
if (b === 0) {
throw new Error('Division by zero is not allowed');
}
return a / b;
}
IGNORE_WHEN_COPYING_START content_copy download Use code with caution. JavaScript
IGNORE_WHEN_COPYING_END
🖥️ 终端中的Cmd K在终端中也可以使用Cmd K,用自然语言描述需要的命令,AI会自动转换为相应的终端命令。
Composer – AI代码创作助手
Composer是Cursor的高级功能,能够理解整个项目结构,进行大规模的代码生成和重构。
启动Composer:
- Ctrl/⌘ + I – 打开Composer
- Ctrl/⌘ + Shift + I – 全屏Composer
主要模式:
- 🤖 Agent模式:AI主动分析和探索解决方案
- 🧠 智能上下文:自动拉取相关代码和文档
- 💻 代码生成:生成和修改大量代码文件
⚠️ 注意事项:Composer功能强大但消耗较多AI资源,建议在Pro计划下使用,并在复杂项目重构时使用。
@ 4. 上下文管理 – @符号的力量
@符号是Cursor中控制AI上下文的关键工具,能够精确指定AI需要参考的代码、文档和资源。
基础@符号
- @filename:引用特定文件的内容 (@app.js)
- @functionName:引用特定函数或方法 (@calculateTotal)
- @variableName:引用变量或常量 (@API_URL)
高级@符号
- @codebase:搜索整个代码库 (@codebase 用户认证逻辑)
- @web:搜索互联网获取最新信息 (@web React 18新特性)
- @docs:引用项目文档或库文档 (@docs React)
实用示例
代码重构示例:
帮我重构 @UserService.js 中的 @getUserProfile 方法, 参考 @AuthService.js 的错误处理模式, 并确保与 @types/User.ts 中的类型定义兼容。
IGNORE_WHEN_COPYING_START content_copy download Use code with caution.
IGNORE_WHEN_COPYING_END
功能开发示例:
基于 @database/schema.sql 创建一个新的订单管理模块, 参考 @components/ProductList.vue 的组件结构, 并集成 @web Stripe支付API 的最新文档。
IGNORE_WHEN_COPYING_START content_copy download Use code with caution.
IGNORE_WHEN_COPYING_END
💡 上下文管理最佳实践
- 精确引用:使用具体的文件名和函数名。
- 分层引用:从具体到抽象,先引用直接相关的代码。
- 限制数量:一次对话中@符号不要过多,保持焦点明确。
- 及时更新:项目结构变化时,及时更新引用路径。
5. 快捷键大全
(说明:Windows/Linux使用Ctrl,macOS使用⌘)
AI功能快捷键
- 打开Chat:Ctrl/⌘ + L
- 内联编辑:Ctrl/⌘ + K
- 打开Composer:Ctrl/⌘ + I
- 全屏Composer:Ctrl/⌘ + Shift + I
- 代码库搜索:Ctrl/⌘ + Enter
Tab补全快捷键
- 接受建议:Tab
- 拒绝建议:Esc
- 部分接受:Ctrl/⌘ + →
- 应用更改:Ctrl/⌘ + Enter
- 取消更改:Ctrl/⌘ + Backspace
通用快捷键
- 命令面板:Ctrl/⌘ + Shift + P
- 打开设置:Ctrl/⌘ + ,
- 切换侧边栏:Ctrl/⌘ + B
- 切换终端:Ctrl/⌘ + \
- 新建文件:Ctrl/⌘ + N
快捷键使用建议
- 新手阶段:重点掌握 Ctrl/⌘ + L (Chat) 和 Ctrl/⌘ + K (内联编辑)。
- 进阶阶段:熟练使用 Ctrl/⌘ + I (Composer) 和 @ 符号进行上下文管理。
🚀 6. 高级功能
📄 .cursorrules – 自定义AI行为
通过.cursorrules文件,可以定制Cursor的AI行为,让AI更好地适应您的项目需求和编码风格。
- 全局规则:在Cursor设置中配置 (设置 → General → Rules for AI)。
- 项目规则:在项目根目录创建.cursorrules文件,优先级更高。
示例 .cursorrules 文件:
# 项目编码规范
- 使用TypeScript严格模式
- 优先使用函数式编程范式
- 所有函数必须有JSDoc注释
# 架构偏好
- 使用React + Next.js技术栈
- 状态管理使用Zustand
- 样式使用Tailwind CSS
# 代码生成要求
- 生成代码时必须包含单元测试
- 组件必须支持暗色模式
IGNORE_WHEN_COPYING_START content_copy download Use code with caution.
IGNORE_WHEN_COPYING_END
💡 规则编写技巧
- 具体明确:给出具体的技术栈和规范。
- 分类组织:按功能、架构、风格等分类。
- 定期更新:随着项目演进及时更新规则。
🧩 推荐插件与扩展
Cursor完全兼容VSCode插件生态。
- 开发效率类:GitLens, Auto Rename Tag, Path Intellisense
- 语言支持类:ES7+ React Snippets, Python, Rust Analyzer
- 主题美化类:One Dark Pro, Material Icon Theme, Indent Rainbow
🧠 AI模型配置与优化
根据不同场景选择最适合的模型。
- GPT-4:适合复杂逻辑、架构设计。
- Claude:适合长文本、代码重构。
- GPT-3.5:速度快,成本低,适合简单任务。
建议:
- 日常编码:使用GPT-3.5或Claude快速版。
- 复杂重构:使用GPT-4或Claude完整版。
- 代码审查:使用Claude。
🏆 7. 最佳实践
✍️ 提示词工程技巧
好的提示词是获得高质量AI响应的关键。
👍 好的提示词特征
- 具体明确,避免模糊
- 提供充足的上下文
- 明确指出期望的输出格式
- 包含相关的技术要求
👎 避免的提示词问题
- 过于简单(如”写个函数”)
- 缺乏上下文
- 一次性要求过多功能
优秀的提示词示例:
请帮我创建一个React组件用于用户个人资料编辑,要求如下:
**功能需求:**
- 包含姓名、邮箱、头像上传字段
- 支持表单验证(邮箱格式、必填项检查)
- 提交时显示loading状态
**技术要求:**
- 使用TypeScript
- 使用React Hook Form + Zod验证
- 使用Tailwind CSS样式
**上下文:**
- 这是一个Next.js项目
- 已有的UI库是Headless UI
- API接口已经准备好,格式为PUT /api/user/profile
请生成完整的组件代码并包含类型定义。
IGNORE_WHEN_COPYING_START content_copy download Use code with caution.
IGNORE_WHEN_COPYING_END
🌊 开发工作流优化
- 项目启动:设置.cursorrules,与AI讨论架构,生成项目基础结构。
- 功能开发:使用Composer开发大模块,Chat讨论细节,Cmd K快速修改。
- 代码审查:请AI检查代码质量和安全性,生成单元测试。
- 维护优化:使用AI进行代码重构,更新依赖,生成文档。
🤝 团队协作最佳实践
- 统一开发环境:共享.cursorrules文件,统一插件和主题。
- 知识管理:分享有效的提示词模板,记录最佳实践案例。
🛡️ 安全与隐私注意事项
- 代码安全:避免在对话中包含密钥、密码等敏感信息。
- 隐私保护:了解Cursor的数据使用政策,对于敏感项目考虑使用本地模型。
8. 实战案例
案例1:React Todo应用开发
通过Cursor从零开始构建一个功能完整的Todo应用。
项目需求:
- 添加、编辑、删除todo项目
- 标记完成状态
- 分类筛选(全部、未完成、已完成)
- 本地存储数据
- 响应式设计
第1步:项目初始化(使用Composer)
# Composer提示词:
创建一个React + TypeScript + Vite的Todo应用项目结构,要求:
- 使用Tailwind CSS样式
- 包含ESLint和Prettier配置
- 设置基础的组件结构
- 配置本地存储hook
第2步:核心组件开发(使用Chat)
# Chat对话示例: 请帮我创建Todo组件,参考 @components/TodoItem.tsx 的结构, 需要包含: - 状态管理(使用useState和useEffect) - CRUD操作函数 - 筛选逻辑 - 本地存储集成
第3步:样式优化(使用Cmd K)
# 选中样式代码,使用Cmd K: 优化这个组件的样式,添加: - 暗色模式支持 - 悬停和焦点状态 - 平滑的动画过渡 - 移动端适配
第4步:功能完善和测试
# 使用@codebase进行整体优化: @codebase 分析整个Todo应用,添加: - 单元测试 - 错误边界处理 - 性能优化 - 无障碍访问支持
成果: 在30分钟内完成一个功能完整、代码质量高的Todo应用。
案例2:Node.js RESTful API开发
使用Cursor开发一个完整的用户管理API。
- 技术栈: Node.js, Express, MongoDB, JWT
- 关键步骤: 在.cursorrules中定义API规范(如统一返回格式、错误处理中间件),然后让AI生成路由、控制器、模型和测试。
开发亮点: AI自动生成了完整的Swagger API文档,并智能建议了安全性最佳实践。
案例3:遗留代码重构
使用Cursor对一个老旧的jQuery项目进行现代化重构,迁移到React。
- 分析与计划 (使用Composer Agent模式):让AI分析旧代码,制定重构计划,设计React组件架构。
- 模块化重构 (使用@符号):逐个模块进行重构,精确引用旧代码文件和新组件模板。
重构成果: 代码行数减少70%,性能提升60%,测试覆盖率达到90%。
🔧 9. 常见问题解决
Q: Cursor启动缓慢或卡顿
解决方案:
- 关闭不必要的插件。
- 清理缓存(设置 → 搜索”cache”)。
- 更新到最新版本。
Q: AI响应质量不佳或不相关
解决方案:
- 使用更具体和详细的提示词。
- 通过@符号提供充足的上下文。
- 分解复杂任务为多个小步骤。
- 尝试不同的AI模型。
Q: 大型项目中Cursor反应缓慢
优化建议:
- 在.gitignore中排除不必要的文件(node_modules, dist等)。
- 使用.cursorignore文件排除大型文件夹。
- 限制同时打开的文件数量。
Q: 免费额度用完了怎么办?
选择方案:
- 升级到Pro计划。
- 使用自己的API密钥(OpenAI/Anthropic)。
- 等待每月额度重置。
🎓 10. 学习资源与进阶指南
官方资源
- 官方文档: docs.cursor.com
- 官方博客: www.cursor.com/blog
- 社区论坛: forum.cursor.com
中文资源
- Cursor中文文档: cursordocs.com
- Cursor101教程: cursor101.com
学习路径建议
- 🌱 初学者 (0-2周):熟练掌握Chat和Tab补全,练习使用@符号。
- 🚀 进阶用户 (2-8周):掌握Cmd K和Composer,学会配置.cursorrules。
- 👑 专家级 (8周+):优化团队工作流,开发自定义插件,进行大规模重构。
社区与支持
- 技术交流: 官方Discord服务器, Reddit r/cursor社区
- 获取帮助: 官方技术支持邮箱, 在线帮助文档
🎉 恭喜!您已经掌握了Cursor
通过这个教程,您已经从Cursor新手成长为能够熟练使用AI辅助编程的开发者。
记住,掌握工具只是开始,真正的价值在于用它创造出有意义的项目。继续实践,保持学习,让AI成为您编程路上的最佳伙伴!
- 高效编程
- 快速开发
- 智能辅助
- 创新未来
教程版本:v2.0 | 祝您在AI辅助编程的道路上越走越远!