Cursor 2.0 完整学习指南

零基础新手入门教程 - 全面覆盖 Cursor 2.0 所有功能


目录

  1. Cursor 2.0 简介
  2. 安装与配置
  3. 界面介绍
  4. 核心功能详解
  5. AI 功能深度解析
    • 5.5 知识库功能(Knowledge Base)
    • 5.6 上下文窗口管理
  6. 快捷键大全
  7. 高级技巧
    • 7.9 VS Code 扩展兼容性
    • 7.10 代码历史记录和版本对比
  8. 最佳实践
  9. 常见问题解答
  10. 实战案例
  11. 进阶学习资源
  12. 学习路径建议
  13. 总结
  14. 附录

1. Cursor 2.0 简介

1.1 什么是 Cursor?

Cursor 是一款基于 AI 的代码编辑器,由 Cursor AI 公司开发。它基于 VS Code 构建,但集成了强大的 AI 功能,可以帮助开发者更高效地编写代码。

1.2 Cursor 2.0 的核心特性

  • AI 代码补全:智能预测和补全代码
  • Chat 功能:与 AI 对话,获取代码建议
  • Composer 模式:多文件编辑和重构
  • @ 符号引用:引用文件、文件夹、代码、文档等上下文
  • 知识库功能:整合外部文档和资料,增强 AI 理解
  • 并行 Agent:多智能体并行工作,提供多种解决方案
  • Git Worktree:支持多个工作目录,实现并行开发
  • 代码解释:理解复杂代码逻辑
  • 代码生成:从自然语言生成代码
  • 代码审查:AI 辅助代码审查
  • 上下文窗口管理:智能管理上下文,优化 AI 性能
  • VS Code 扩展兼容:完全兼容 VS Code 扩展生态系统
  • 代码历史记录:查看和恢复代码修改历史
  • 多语言支持:支持几乎所有编程语言

1.3 Cursor 2.0 vs 其他编辑器

特性Cursor 2.0VS CodeGitHub Copilot
AI 代码补全
AI 对话
多文件编辑
代码解释
免费使用✓ (有限制)

2. 安装与配置

2.1 系统要求

  • 操作系统:Windows 10/11, macOS 10.15+, Linux
  • 内存:建议 8GB 以上
  • 存储空间:至少 500MB 可用空间

2.2 下载安装

  1. 访问 https://cursor.com/cn
  2. 点击 “Download” 按钮
  3. 选择对应操作系统的安装包
  4. 运行安装程序,按照提示完成安装

2.3 首次启动配置

2.3.1 登录账户
  • 启动 Cursor 后,会提示登录或注册
  • 可以使用 GitHub、Google 或邮箱注册
  • 免费账户有使用限制,付费账户功能更完整
2.3.2 选择主题
  • 打开设置:Ctrl+, (Windows/Linux) 或 Cmd+, (macOS)
  • 搜索 “Color Theme”
  • 选择喜欢的主题(推荐:Dark+、Monokai)
2.3.3 配置 AI 模型
  • 打开设置
  • 搜索 “AI Model” 或 “Model”
  • 选择模型:
    • Claude 3.5 Sonnet:推荐,平衡性能和速度
    • GPT-4:高质量但较慢
    • GPT-3.5 Turbo:快速但质量较低
2.3.4 设置 API Key(可选)

如果需要使用自己的 API Key:

  • 打开设置
  • 搜索 “API Key”
  • 输入你的 OpenAI 或 Anthropic API Key

3. 界面介绍

3.1 主界面布局

┌─────────────────────────────────────────────────┐
│ 菜单栏 (File Edit View ...)                     │
├──────────┬──────────────────────┬───────────────┤
│          │                      │               │
│  侧边栏  │      编辑区          │   侧边栏      │
│          │                      │   (可选)      │
│  - 文件  │                      │               │
│  - 搜索  │     代码编辑区        │               │
│  - Git   │                      │               │
│  - 扩展  │                      │               │
│          │                      │               │
│          ├──────────────────────┤               │
│          │      终端/输出        │               │
└──────────┴──────────────────────┴───────────────┘

3.2 主要区域说明

3.2.1 侧边栏(Activity Bar)
  • 文件资源管理器:浏览项目文件
  • 搜索:全局搜索代码
  • 源代码管理:Git 版本控制
  • 运行和调试:调试代码
  • 扩展:安装和管理扩展
3.2.2 编辑区
  • 标签页:显示打开的文件
  • 代码编辑器:编写代码的主要区域
  • 行号:显示行号,方便定位
3.2.3 状态栏
  • 分支信息:当前 Git 分支
  • 错误/警告:代码问题提示
  • 语言模式:当前文件的语言
  • AI 状态:AI 功能状态指示

3.3 AI 功能面板

3.3.1 Chat 面板
  • 位置:右侧或底部面板
  • 快捷键:Ctrl+L (Windows/Linux) 或 Cmd+L (macOS)
  • 功能:与 AI 对话,获取代码帮助
3.3.2 Composer 面板
  • 位置:底部面板
  • 快捷键:Ctrl+I (Windows/Linux) 或 Cmd+I (macOS)
  • 功能:多文件编辑和重构

4. 核心功能详解

4.1 AI 代码补全(Tab 补全)

4.1.1 什么是 Tab 补全?

当你输入代码时,Cursor 会自动预测你想要写的代码,并在编辑器中显示灰色提示。按 Tab 键接受建议。

4.1.2 使用方法
  1. 自动触发:输入代码时自动出现
  2. 接受建议:按 Tab 键
  3. 拒绝建议:继续输入,建议会自动消失
  4. 查看多个建议:按 Ctrl+→ 或 Ctrl+← 切换
4.1.3 示例
// 输入:function calculate
// AI 建议:function calculateSum(a, b) { return a + b; }
// 按 Tab 接受
4.1.4 配置选项
  • 启用/禁用:设置 → “Cursor Tab” → 启用
  • 触发延迟:设置延迟时间(默认 100ms)
  • 建议数量:显示多少个建议

4.2 Chat 功能

4.2.1 打开 Chat
  • 快捷键:Ctrl+L (Windows/Linux) 或 Cmd+L (macOS)
  • 点击图标:侧边栏的 Chat 图标
  • 命令面板:Ctrl+Shift+P → 输入 “Chat”
4.2.2 Chat 的使用场景
  1. 代码解释

    用户:解释这段代码的作用
    AI:[解释代码逻辑]
    
  2. 代码调试

    用户:为什么这段代码报错?
    AI:[分析错误原因并提供解决方案]
    
  3. 代码优化

    用户:如何优化这段代码?
    AI:[提供优化建议和代码]
    
  4. 学习新技术

    用户:如何使用 React Hooks?
    AI:[提供教程和示例]
    
4.2.3 Chat 的高级功能
4.2.3.1 代码引用和 @ 符号功能

@ 符号概述:在 Cursor 中,@ 符号用于引用特定的上下文信息,帮助 AI 更好地理解您的需求。在 Chat 或 Composer 中输入 @ 时,系统会显示可用的选项列表。

常用 @ 符号类型

  1. @Files(文件引用)

    • 引用项目中的特定文件
    • 使用方法:@文件名 或 @文件路径
    • 示例:@App.js 或 @src/components/Button.jsx
    • AI 会读取文件内容作为上下文
  2. @Folders(文件夹引用)

    • 引用整个文件夹及其所有内容
    • 使用方法:@文件夹名 或 @文件夹路径
    • 示例:@src/components 或 @utils
    • AI 会分析文件夹中的所有文件
  3. @Code(代码片段引用)

    • 引用选中的代码片段
    • 使用方法:选中代码后,在 Chat 中输入问题
    • Cursor 会自动添加 @Code 引用
    • 适合解释、优化和修改特定代码
  4. @Docs(文档引用)

    • 引用项目中的文档文件
    • 使用方法:@README.md 或 @docs/guide.md
    • AI 会参考文档内容回答问题
    • 适合项目规范、API 文档等
  5. @Git(Git 引用)

    • 引用 Git 版本控制信息
    • 使用方法:@Git 或 @Git:commit_hash
    • 可以查看提交记录、分支信息
    • 适合代码审查、版本对比
  6. @Web(网络搜索)

    • 从互联网获取最新信息
    • 使用方法:@Web 后输入问题
    • AI 会搜索网络获取实时信息
    • 适合获取最新技术文档、API 更新等

使用技巧

  • 多文件引用:可以同时引用多个文件

    @App.js @Button.jsx 请解释这两个文件的关系
    
  • 组合使用:可以组合不同类型的引用

    @src/components @README.md 根据文档规范重构组件
    
  • 自动补全:输入 @ 后,Cursor 会自动显示可用的文件和文件夹列表

  • 模糊搜索:输入部分文件名,Cursor 会显示匹配的文件

实际应用示例

  1. 解释特定文件

    @utils/helpers.js 解释这个文件中的所有函数
    
  2. 跨文件分析

    @App.js @components/Header.jsx 这两个文件如何交互?
    
  3. 参考文档开发

    @docs/api.md 根据文档创建 API 客户端
    
  4. 获取最新信息

    @Web React 18 的最新特性有哪些?
    
  5. 代码审查

    @Git:abc123 审查这次提交的代码
    
4.2.3.2 上下文理解
  • Chat 会自动理解当前文件的上下文
  • 可以询问关于整个项目的问题
  • 支持多文件上下文
4.2.3.3 代码生成
  • 在 Chat 中描述需求
  • AI 生成代码
  • 点击 “Insert” 插入代码
4.2.4 Chat 命令
  • /fix:修复代码错误
  • /explain:解释代码
  • /refactor:重构代码
  • /test:生成测试代码
  • /doc:生成文档

4.3 Composer 模式

4.3.1 什么是 Composer?

Composer 是 Cursor 2.0 的核心功能,允许 AI 同时编辑多个文件,进行大规模代码重构。

4.3.2 打开 Composer
  • 快捷键:Ctrl+I (Windows/Linux) 或 Cmd+I (macOS)
  • 命令面板:Ctrl+Shift+P → “Composer”
4.3.3 Composer 的使用场景
  1. 多文件重构

    用户:将所有函数改为箭头函数
    AI:[修改所有相关文件]
    
  2. 添加新功能

    用户:添加用户登录功能,需要创建 login.js 和 login.css
    AI:[创建并编辑多个文件]
    
  3. 代码迁移

    用户:将 JavaScript 代码迁移到 TypeScript
    AI:[修改所有文件并添加类型]
    
4.3.4 Composer 工作流程
  1. 输入需求:在 Composer 中输入自然语言描述
  2. AI 分析:AI 分析需要修改的文件
  3. 预览更改:查看 AI 计划做的更改
  4. 确认执行:点击 “Accept” 接受更改
  5. 审查结果:检查修改后的代码
4.3.5 Composer 最佳实践
  • 明确描述:尽可能详细地描述需求
  • 分步执行:复杂任务分多步完成
  • 审查更改:仔细检查 AI 的修改
  • 使用版本控制:使用 Git 管理更改

4.4 代码解释功能

4.4.1 选中代码解释
  1. 选中要解释的代码
  2. 右键 → “Explain Code”
  3. 或使用快捷键:Ctrl+K → E
4.4.2 在 Chat 中解释
  1. 选中代码
  2. 打开 Chat (Ctrl+L)
  3. 输入 “解释这段代码”
  4. AI 会自动引用选中的代码并解释

4.5 代码生成功能

4.5.1 从注释生成代码
// 创建一个函数,计算两个数的和
// 输入上面的注释后,按 Ctrl+K,AI 会生成代码
4.5.2 从需求生成代码
  1. 在 Chat 中描述需求
  2. AI 生成代码
  3. 点击 “Insert” 插入
4.5.3 生成测试代码
用户:为这个函数生成单元测试
AI:[生成测试代码]

4.6 代码审查功能

4.6.1 审查单个文件
  1. 打开文件
  2. Chat 中输入:/review 或 “审查这段代码”
  3. AI 提供审查意见
4.6.2 审查整个项目
  1. 在 Chat 中:@项目名 审查整个项目
  2. AI 分析项目结构和代码质量

4.7 核心快捷键对比详解

4.7.1 Ctrl+I vs Ctrl+L:Chat 与 Composer 的区别

快速对比表

特性Ctrl+L (Chat)Ctrl+I (Composer)
主要功能AI 对话助手多文件代码编辑
使用场景问答、解释、调试重构、批量修改、新功能开发
编辑范围单文件或对话式修改多文件同时编辑
交互方式对话式,一问一答一次性完成复杂任务
适用任务简单修改、学习、咨询大规模重构、跨文件修改

Ctrl+L - Chat(聊天助手)

功能定位:Chat 是一个对话式的 AI 助手,类似于与一个懂代码的同事聊天。

主要特点

  1. 对话式交互

    • 可以连续对话
    • 可以追问和澄清
    • 适合学习和探索
  2. 单文件编辑为主

    • 通常一次修改一个文件
    • 可以插入代码片段
    • 可以解释和优化代码
  3. 即时反馈

    • 快速回答简单问题
    • 提供代码建议
    • 解释代码逻辑

使用场景示例

适合用 Chat 的场景:

  • 代码解释:选中代码后问"这段代码是做什么的?"
  • 简单修改:“把这个函数改成箭头函数”
  • 调试问题:“为什么这段代码报错?”
  • 学习新技术:“React Hooks 怎么用?”
  • 代码优化建议:“如何优化这个函数?”

Chat 界面特点

  • 显示在右侧或底部面板
  • 有对话历史记录
  • 可以引用文件:@文件名
  • 可以引用代码:选中代码后提问

Ctrl+I - Composer(多文件编辑器)

功能定位:Composer 是一个强大的多文件编辑工具,可以同时修改多个文件,完成复杂的重构任务。

主要特点

  1. 多文件同时编辑

    • 可以同时修改多个文件
    • 保持文件间的一致性
    • 自动更新相关引用
  2. 一次性完成复杂任务

    • 不需要多次对话
    • 一次性描述完整需求
    • AI 自动规划修改方案
  3. 预览和确认

    • 显示将要修改的文件列表
    • 预览所有更改
    • 确认后统一应用

使用场景示例

适合用 Composer 的场景:

  • 大规模重构:“将所有类组件改为函数组件”
  • 添加新功能(涉及多文件):“添加用户登录功能,需要创建 login.jsx、login.css,并在 App.jsx 中集成”
  • 代码迁移:“将 JavaScript 代码迁移到 TypeScript”
  • 重命名和重构:“将所有 userName 改为 username”
  • 创建完整功能模块:一次性创建多个相关文件

Composer 界面特点

  • 显示在底部面板
  • 显示文件修改列表
  • 可以预览所有更改
  • 一次性应用所有更改

选择建议

什么时候用 Chat (Ctrl+L)?

  • ✓ 简单的问题和修改
  • ✓ 需要对话和澄清
  • ✓ 探索性编程
  • ✓ 学习新技术

什么时候用 Composer (Ctrl+I)?

  • ✓ 复杂的多文件任务
  • ✓ 大规模重构
  • ✓ 添加完整功能模块
  • ✓ 需要一次性完成

记忆技巧

  • Ctrl+L = Like Learning(学习/对话)

    • 像和老师聊天一样,一问一答
  • Ctrl+I = Integrated(集成/多文件)

    • 集成多个文件,一次性完成复杂任务
4.7.2 Ctrl+L vs Ctrl+K:Chat 与代码生成的区别

快速对比表

特性Ctrl+L (Chat)Ctrl+K (代码生成)
主要功能AI 对话助手内联代码生成和编辑
使用方式打开对话面板在编辑器中直接操作
交互方式对话式,一问一答快速命令式操作
编辑位置面板中显示,需插入直接在光标位置生成
适用场景复杂问题、多轮对话快速生成、解释、重构

Ctrl+L - Chat(对话面板)

功能定位:打开一个独立的对话面板,与 AI 进行多轮对话。

主要特点

  1. 独立面板

    • 打开一个专门的对话窗口
    • 可以查看对话历史
    • 可以引用多个文件
  2. 多轮对话

    • 可以连续提问
    • 可以追问和澄清
    • 适合复杂问题
  3. 代码插入

    • AI 生成代码后
    • 需要点击 “Insert” 插入
    • 可以预览后再插入

使用场景

  • 需要多轮对话的复杂问题
  • 需要引用多个文件
  • 需要查看对话历史
  • 学习和探索性编程

示例

1. 按 Ctrl+L 打开 Chat
2. 输入:"解释这段代码的作用"
3. AI 回答后,继续问:"如何优化?"
4. AI 提供优化方案
5. 点击 "Insert" 插入代码

Ctrl+K - 代码生成(内联操作)

功能定位:在编辑器中直接触发 AI 操作,无需打开面板。

主要特点

  1. 内联操作

    • 直接在编辑器中操作
    • 不打开额外面板
    • 更快速便捷
  2. 快速命令

    • Ctrl+K:触发代码生成
    • Ctrl+K E:解释代码
    • Ctrl+K R:重构代码
    • Ctrl+K S:保存所有文件
  3. 即时生成

    • 代码直接生成在光标位置
    • 或替换选中的代码
    • 无需额外操作

使用场景

  • 快速生成代码
  • 快速解释代码
  • 快速重构代码
  • 需要保持编辑流程不中断

常用组合键

快捷键功能说明
Ctrl+K触发代码生成在注释后按,生成代码
Ctrl+K E解释代码选中代码后按,快速解释
Ctrl+K R重构代码选中代码后按,快速重构
Ctrl+K S保存所有文件保存所有打开的文件

示例

  1. 从注释生成代码

    // 创建一个函数,计算两个数的和
    // 输入上面的注释后,按 Ctrl+K,AI 会生成代码
    
  2. 快速解释代码

    1. 选中代码
    2. 按 Ctrl+K,然后按 E
    3. AI 在编辑器中显示解释
    
  3. 快速重构代码

    1. 选中代码
    2. 按 Ctrl+K,然后按 R
    3. AI 直接重构代码
    

选择建议

什么时候用 Chat (Ctrl+L)?

  • ✓ 需要多轮对话
  • ✓ 需要引用多个文件
  • ✓ 复杂的问题需要讨论
  • ✓ 需要查看对话历史
  • ✓ 学习和探索

什么时候用 Ctrl+K?

  • ✓ 快速生成代码
  • ✓ 快速解释代码
  • ✓ 快速重构代码
  • ✓ 不想打断编辑流程
  • ✓ 简单直接的操作

实际使用对比

场景:解释一段代码

使用 Chat (Ctrl+L):

1. 选中代码
2. 按 Ctrl+L 打开 Chat
3. 输入:"解释这段代码"
4. AI 在面板中回答
5. 可以继续提问

使用 Ctrl+K E:

1. 选中代码
2. 按 Ctrl+K,然后按 E
3. AI 直接在编辑器中显示解释
4. 更快,但无法继续对话

结论

  • 需要详细解释和多轮对话 → 用 Chat ✓
  • 快速了解代码作用 → 用 Ctrl+K E ✓

记忆技巧

  • Ctrl+L = Long Learning(长时间学习/对话)

    • 打开对话面板,可以多轮对话
  • Ctrl+K = Keyboard Command(键盘命令)

    • 快速命令,直接在编辑器中操作

总结对比

维度Chat (Ctrl+L)Ctrl+K
打开方式打开对话面板编辑器内操作
交互方式多轮对话单次命令
代码位置面板中,需插入直接生成
适用场景复杂问题快速操作
速度较慢(需打开面板)快速(直接操作)

简单记住

  • Chat (Ctrl+L) = 对话助手,适合复杂问题和多轮对话
  • Ctrl+K = 快速命令,适合简单快速的操作

5. AI 功能深度解析

5.1 代码补全引擎

5.1.1 工作原理
  1. 上下文分析:分析当前文件和项目上下文
  2. 模式识别:识别代码模式和风格
  3. 预测生成:生成最可能的代码补全
  4. 实时更新:根据你的输入实时更新建议
5.1.2 提高补全质量
  • 编写清晰的代码:代码越清晰,补全越准确
  • 使用有意义的变量名:帮助 AI 理解代码意图
  • 添加注释:注释提供额外上下文
  • 保持代码风格一致:AI 会学习你的风格

5.2 上下文理解

5.2.1 文件级上下文
  • Cursor 会分析当前打开的文件
  • 理解文件中的函数、变量、类等
  • 基于文件内容提供建议
5.2.2 项目级上下文
  • 分析整个项目结构
  • 理解文件之间的关系
  • 跨文件引用和补全
5.2.3 代码库索引

什么是代码库索引?

Cursor 会自动索引你的代码库,建立代码结构、函数、类、变量等的索引,以便快速查找相关代码并提供更准确的 AI 建议。

索引的工作原理

  1. 自动索引:打开项目时,Cursor 会自动扫描并索引代码库
  2. 增量更新:文件修改后,索引会自动更新
  3. 语义理解:不仅索引代码结构,还理解代码的语义关系
  4. 跨文件关联:建立文件之间的引用关系

索引包含的内容

  • 函数和类定义:所有函数、类、方法的定义位置
  • 变量和常量:变量声明和使用位置
  • 导入和导出:模块之间的依赖关系
  • 代码模式:常见的代码模式和结构
  • 注释和文档:代码注释和文档字符串

如何提高索引效率

  1. 保持代码结构清晰

    • 使用有意义的文件名和文件夹结构
    • 保持函数和类的命名规范
    • 添加适当的注释
  2. 优化项目大小

    • 排除不必要的文件(使用 .gitignore 或 .cursorignore)
    • 避免索引大型二进制文件
    • 合理组织项目结构
  3. 配置索引范围

    • 在设置中配置需要索引的文件类型
    • 排除 node_modules、dist 等构建产物目录

索引状态查看

  • 状态栏会显示索引进度
  • 索引完成后,AI 建议会更准确
  • 大型项目可能需要几分钟完成初始索引

常见问题

  • 索引速度慢:检查项目大小,排除不必要的文件
  • 索引不完整:等待索引完成,或手动触发重新索引
  • 内存占用高:减少索引的文件数量或类型

5.3 多文件编辑

5.3.1 文件选择

在 Composer 中:

  • 使用 @文件名 指定要编辑的文件
  • 或让 AI 自动选择相关文件
5.3.2 同步编辑
  • AI 可以同时修改多个文件
  • 保持文件间的一致性
  • 自动更新引用

5.4 代码重构

5.4.1 重命名
用户:将所有的 userName 重命名为 username
AI:[在所有文件中重命名]
5.4.2 提取函数
用户:将这段代码提取为一个函数
AI:[创建新函数并替换原代码]
5.4.3 代码优化
用户:优化这段代码的性能
AI:[提供优化方案]

5.5 知识库功能(Knowledge Base)

5.5.1 什么是知识库?

知识库是 Cursor 2.0 的高级功能,允许你将外部文档、网站、笔记等资料整合到 Cursor 的知识库中,让 AI 助手能够基于这些资料提供更精准的回答和建议。

5.5.2 知识库的核心价值
  • 项目文档集成:将 API 文档、设计规范、项目文档等整合到知识库
  • 团队知识共享:团队成员可以共享知识库,统一项目理解
  • 上下文增强:AI 可以基于知识库内容提供更准确的代码建议
  • 跨项目复用:知识库可以在多个项目间复用
5.5.3 创建和管理知识库

创建知识库

  1. 打开设置:Ctrl+, (Windows/Linux) 或 Cmd+, (macOS)
  2. 搜索 “Knowledge Base” 或"知识库"
  3. 点击 “Create Knowledge Base” 创建新知识库
  4. 输入知识库名称和描述

添加内容到知识库

  1. 添加文件

    • 点击知识库设置中的 “Add Files”
    • 选择要添加的文档文件(支持 .md、.txt、.pdf 等格式)
    • Cursor 会自动解析文件内容
  2. 添加网站

    • 点击 “Add URL”
    • 输入网站 URL
    • Cursor 会抓取网站内容并添加到知识库
  3. 添加文件夹

    • 选择整个文件夹
    • Cursor 会索引文件夹中的所有文档
  4. 手动输入

    • 直接在知识库中粘贴文本内容
    • 适合添加笔记、规范等
5.5.4 在 Chat 中使用知识库

引用知识库

在 Chat 中使用 @Knowledge Base 或 @知识库名称:

@Knowledge Base 根据项目规范创建用户登录组件

自动引用

  • Chat 会自动检测是否需要引用知识库
  • 当问题涉及项目规范、API 文档等时,会自动引用相关知识库

示例场景

  1. 参考 API 文档开发

    @API文档 根据文档创建用户认证 API 客户端
    
  2. 遵循设计规范

    @设计规范 创建符合规范的按钮组件
    
  3. 参考技术文档

    @技术文档 如何实现文件上传功能?
    
5.5.5 在 Composer 中使用知识库

在 Composer 中也可以引用知识库:

@Knowledge Base 根据项目架构规范重构代码结构

Composer 会基于知识库内容生成符合规范的代码。

5.5.6 知识库最佳实践

内容组织

  • 分类管理:为不同类型的文档创建不同的知识库

    • API 文档知识库
    • 设计规范知识库
    • 技术文档知识库
    • 项目规范知识库
  • 定期更新:保持知识库内容的最新状态

  • 精简内容:只添加必要的文档,避免知识库过大

命名规范

  • 使用描述性的知识库名称
  • 例如:项目API文档React组件规范数据库设计规范

团队协作

  • 共享知识库给团队成员
  • 统一项目理解和代码规范
  • 减少重复解释和沟通成本
5.5.7 知识库配置选项

索引设置

  • 自动索引:文件添加后自动索引
  • 手动索引:需要时手动触发索引
  • 索引频率:设置索引更新频率

内容过滤

  • 排除特定文件类型
  • 设置文件大小限制
  • 配置索引深度

隐私设置

  • 设置知识库访问权限
  • 控制知识库共享范围
5.5.8 实际应用示例

示例:创建项目知识库

  1. 创建知识库

    • 名称:React项目规范
    • 描述:包含组件规范、代码风格、最佳实践
  2. 添加内容

    • 添加 组件规范.md
    • 添加 代码风格指南.md
    • 添加 API文档.md
  3. 使用知识库

    @React项目规范 创建一个符合规范的用户卡片组件
    
  4. AI 响应

    • AI 会参考知识库中的规范
    • 生成符合项目规范的代码
    • 自动应用代码风格和最佳实践

5.6 上下文窗口管理

5.6.1 什么是上下文窗口?

上下文窗口是指 AI 在处理请求时能够"看到"的代码和文档的范围。Cursor 会智能管理上下文窗口,确保 AI 能够访问到最相关的信息。

5.6.2 上下文窗口的工作原理

自动上下文选择

  • Cursor 会自动分析当前文件和相关文件
  • 根据代码引用关系选择相关上下文
  • 优先包含当前编辑的文件和直接引用的文件

上下文大小限制

  • 不同模型有不同的上下文窗口限制
  • Cursor 会智能压缩和优化上下文
  • 超出限制时会自动选择最重要的部分

上下文更新

  • 文件修改后,上下文会自动更新
  • 切换文件时,上下文会相应调整
  • 保持上下文与当前任务的相关性
5.6.3 手动管理上下文

使用 @ 符号指定上下文

@App.js @utils/helpers.js 解释这两个文件的关系

排除不需要的上下文

  • 在设置中配置忽略的文件和文件夹
  • 使用 .cursorignore 文件排除文件
  • 避免大型依赖库占用上下文空间
5.6.4 优化上下文使用

减少上下文大小

  1. 排除不必要文件

    • 在 .cursorignore 中添加 node_modules、dist 等
    • 排除大型二进制文件
    • 排除测试文件(如不需要)
  2. 使用精确引用

    • 使用 @文件名 精确指定需要的文件
    • 避免引用整个文件夹(除非必要)
  3. 分步骤处理

    • 将大任务分解为小步骤
    • 每次只处理相关的文件

提高上下文质量

  1. 保持代码清晰

    • 使用有意义的变量名
    • 添加适当的注释
    • 保持代码结构清晰
  2. 组织项目结构

    • 合理的文件夹结构
    • 清晰的模块划分
    • 避免过深的嵌套
5.6.5 上下文窗口配置

查看上下文使用情况

  • 在 Chat 或 Composer 中可以看到使用的上下文大小
  • 状态栏显示当前上下文状态

配置上下文选项

  1. 打开设置:Ctrl+,
  2. 搜索 “Context” 或"上下文"
  3. 配置以下选项:
    • 最大上下文大小:设置上下文窗口的最大值
    • 自动包含文件:配置自动包含的文件类型
    • 排除模式:设置排除的文件和文件夹模式
5.6.6 常见问题

Q: 上下文窗口太小怎么办?

A:

  • 使用更精确的 @ 引用,只包含必要的文件
  • 排除不必要的大型文件
  • 考虑升级到支持更大上下文的模型

Q: AI 没有看到我需要的文件?

A:

  • 使用 @文件名 明确指定文件
  • 检查文件是否在排除列表中
  • 确保文件已保存

Q: 如何查看当前使用的上下文?

A:

  • 在 Chat 或 Composer 中查看上下文指示器
  • 检查状态栏的上下文信息

6. 快捷键大全

6.1 通用快捷键

功能Windows/LinuxmacOS
打开命令面板Ctrl+Shift+PCmd+Shift+P
打开设置Ctrl+,Cmd+,
打开文件Ctrl+PCmd+P
保存文件Ctrl+SCmd+S
保存所有文件Ctrl+K SCmd+K S
关闭编辑器Ctrl+WCmd+W
切换侧边栏Ctrl+BCmd+B

6.2 AI 功能快捷键

功能Windows/LinuxmacOS
打开 ChatCtrl+LCmd+L
打开 ComposerCtrl+ICmd+I
接受 AI 建议TabTab
拒绝 AI 建议EscEsc
下一个建议Ctrl+→Ctrl+→
上一个建议Ctrl+←Ctrl+←
触发代码生成Ctrl+KCmd+K
解释代码Ctrl+K ECmd+K E
重构代码Ctrl+K RCmd+K R

6.3 编辑快捷键

功能Windows/LinuxmacOS
复制行Shift+Alt+↓Shift+Option+↓
移动行Alt+↓Option+↓
删除行Ctrl+Shift+KCmd+Shift+K
多光标Alt+ClickOption+Click
选择所有匹配Ctrl+Shift+LCmd+Shift+L
格式化文档Shift+Alt+FShift+Option+F

6.4 导航快捷键

功能Windows/LinuxmacOS
跳转到定义F12F12
查看引用Shift+F12Shift+F12
跳转到符号Ctrl+Shift+OCmd+Shift+O
跳转到行Ctrl+GCtrl+G
切换文件Ctrl+TabCtrl+Tab

6.5 自定义快捷键

  1. 打开设置:Ctrl+,
  2. 搜索 “Keyboard Shortcuts”
  3. 点击 “Open Keyboard Shortcuts”
  4. 搜索要修改的命令
  5. 双击设置新快捷键

7. 高级技巧

7.1 使用 .cursorrules 文件

7.1.1 什么是 .cursorrules?

.cursorrules 是一个配置文件,用于告诉 Cursor 你的项目规则和偏好。

7.1.2 创建 .cursorrules

在项目根目录创建 .cursorrules 文件:

# 代码风格
- 使用 2 个空格缩进
- 使用单引号
- 函数名使用驼峰命名

# 项目规则
- 所有 API 调用必须包含错误处理
- 组件必须包含 PropTypes
- 使用 TypeScript 类型

# AI 行为
- 生成代码时添加注释
- 优先使用现代 JavaScript 特性
7.1.3 示例配置
# React 项目规则

## 代码风格
- 使用函数组件和 Hooks
- 使用 TypeScript
- 组件文件使用 PascalCase
- 工具函数使用 camelCase

## 最佳实践
- 所有组件必须有 PropTypes 或 TypeScript 类型
- 使用 React.memo 优化性能
- API 调用使用 async/await
- 错误处理必须完善

## 禁止事项
- 不要使用 class 组件
- 不要使用 var
- 不要使用 any 类型(除非必要)

7.2 使用代码片段(Snippets)

7.2.1 创建代码片段
  1. 打开命令面板:Ctrl+Shift+P
  2. 输入 “Configure User Snippets”
  3. 选择语言
  4. 添加代码片段
7.2.2 代码片段示例
{
  "React Functional Component": {
    "prefix": "rfc",
    "body": [
      "import React from 'react';",
      "",
      "const ${1:ComponentName} = () => {",
      "  return (",
      "    <div>",
      "      $0",
      "    </div>",
      "  );",
      "};",
      "",
      "export default ${1:ComponentName};"
    ],
    "description": "React Functional Component"
  }
}

7.3 使用任务(Tasks)

7.3.1 配置任务

创建 .vscode/tasks.json:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "启动开发服务器",
      "type": "shell",
      "command": "npm start",
      "problemMatcher": []
    },
    {
      "label": "运行测试",
      "type": "shell",
      "command": "npm test",
      "problemMatcher": []
    }
  ]
}
7.3.2 运行任务
  • Ctrl+Shift+P → “Run Task”
  • 选择要运行的任务

7.4 使用调试功能

7.4.1 配置调试

创建 .vscode/launch.json:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "启动程序",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/index.js"
    }
  ]
}
7.4.2 设置断点
  • 点击行号左侧设置断点
  • 按 F5 开始调试
  • 使用调试工具栏控制执行

7.5 使用 Git 集成

7.5.1 查看更改
  • 侧边栏 → 源代码管理
  • 查看修改的文件
  • 查看差异
7.5.2 提交更改
  1. 暂存文件(点击 + 号)
  2. 输入提交信息
  3. 点击 ✓ 提交
7.5.3 AI 辅助提交信息
  • 在提交信息框中输入 /generate
  • AI 会根据更改生成提交信息

7.6 并行 Agent(多智能体并行工作)

7.6.1 什么是并行 Agent?

并行 Agent 是 Cursor 2.0 的高级功能,允许同时运行多个 AI 代理(Agent)来处理同一个任务,每个代理提供不同的解决方案,让开发者可以比较和选择最佳方案。

7.6.2 核心概念

多智能体(Multi-Agents)

  • 可以同时运行最多 8 个代理
  • 每个代理使用相同或不同的 AI 模型
  • 所有代理处理同一个任务,提供多种解决方案
  • 适合复杂问题,需要多种实现方案

关键特点

  • 同一任务:所有代理处理相同的任务描述
  • 多种方案:每个代理可能提供不同的实现方法
  • 独立运行:每个代理在独立的工作空间中运行
  • 结果比较:完成后可以比较各代理的输出,选择最佳方案
7.6.3 工作原理
  1. 任务发布:在 Composer 中发布一个任务
  2. 选择模型:选择要使用的 AI 模型(可以选多个)
  3. 并行执行:多个代理同时处理同一任务
  4. 结果展示:每个代理完成后显示其解决方案
  5. 方案比较:开发者比较各方案,选择最佳方案
  6. 应用方案:将选中的方案应用到主代码库
7.6.4 使用方法

步骤 1:初始化 Git 仓库

并行 Agent 需要 Git 仓库才能工作:

git init
git add .
git commit -m "Initial commit"

步骤 2:打开 Composer

  • 按 Ctrl+I (Windows/Linux) 或 Cmd+I (macOS) 打开 Composer

步骤 3:启用并行 Agent

  1. 在 Composer 中输入任务描述
  2. 点击 “Use Multiple Models” 或选择并行模式
  3. 选择要使用的模型(最多 8 个)
    • 可以选择相同的模型(如 3 个 Claude 3.5 Sonnet)
    • 也可以选择不同的模型(如 Claude、GPT-4、GPT-3.5 各一个)

步骤 4:提交任务

输入任务描述,例如:

实现 PDF 压缩功能,要求:
- 支持多种压缩算法
- 保持文件质量
- 提供进度反馈

步骤 5:等待完成

  • 每个代理会在独立的工作空间中运行
  • 可以实时查看各代理的进度
  • 等待所有代理完成

步骤 6:比较和选择

  • 查看每个代理生成的代码
  • 比较不同方案的优缺点
  • 选择最佳方案应用到主代码库
7.6.5 使用场景

适合使用并行 Agent 的场景:

  1. 复杂后端逻辑

    • 需要多种实现方案
    • 例如:PDF 压缩、图像处理、数据加密
    • 可以比较不同算法的效果
  2. 性能优化

    • 需要尝试不同的优化策略
    • 例如:数据库查询优化、缓存策略
    • 比较不同方案的性能表现
  3. 架构设计

    • 需要多种架构方案
    • 例如:微服务设计、API 设计
    • 比较不同架构的优缺点
  4. 算法实现

    • 需要多种算法实现
    • 例如:排序算法、搜索算法
    • 比较不同算法的效率
  5. 问题调试

    • 需要多种解决方案
    • 例如:修复复杂 bug
    • 比较不同修复方案的有效性
7.6.6 最佳实践

任务描述

  • 提供清晰、详细的任务描述
  • 明确要求和约束条件
  • 说明期望的输出格式

模型选择

  • 对于复杂任务,选择强大的模型
  • 对于简单任务,可以使用快速模型
  • 可以混合使用不同模型,比较效果

结果审查

  • 仔细审查每个代理的输出
  • 运行测试验证功能
  • 检查代码质量和性能

资源管理

  • 根据任务复杂度选择代理数量
  • 建议使用 2-4 个代理(平衡效率和资源)
  • 监控系统资源使用情况
7.6.7 注意事项

重要提示:

  1. 需要 Git 仓库

    • 并行 Agent 功能需要 Git 仓库
    • 确保项目已初始化 Git
  2. 资源消耗

    • 多个代理会消耗更多 API 配额
    • 根据账户配额合理选择代理数量
  3. 代码审查

    • 每个代理生成的代码都需要审查
    • 不要盲目选择第一个方案
    • 运行测试确保功能正常
  4. 工作空间隔离

    • 每个代理在独立的工作空间中运行
    • 使用 Git Worktree 实现隔离(见下文)
7.6.8 实际示例

示例:实现 PDF 压缩功能

  1. 打开 Composer (Ctrl+I)

  2. 输入任务

    实现 PDF 压缩功能,要求:
    - 支持多种压缩算法(ZIP、LZW、Flate)
    - 保持文件质量,压缩率至少 30%
    - 提供压缩进度反馈
    - 包含错误处理
    
  3. 选择并行模式

    • 点击 “Use Multiple Models”
    • 选择 3 个代理:Claude 3.5 Sonnet × 2,GPT-4 × 1
  4. 提交任务

    • 点击提交,等待所有代理完成
  5. 比较方案

    • 代理 1:使用 Node.js + pdf-lib 库
    • 代理 2:使用 Python + PyPDF2 库
    • 代理 3:使用 Web API + 后端服务
    • 根据项目需求选择最佳方案
  6. 应用方案

    • 选择代理 1 的方案(Node.js 方案)
    • 点击 “Apply” 应用到主代码库

7.7 Worktree(Git 工作树)

7.7.1 什么是 Worktree?

Worktree 是 Git 的原生功能,允许在同一个 Git 仓库中创建多个工作目录,每个工作目录可以关联不同的分支,实现并行开发和代码隔离。

7.7.2 核心概念

工作树(Worktree)

  • 一个 Git 仓库可以有多个工作目录
  • 每个工作目录是独立的文件系统路径
  • 可以同时在不同的工作目录中工作
  • 避免频繁切换分支的麻烦

关键特点

  • 并行开发:可以同时在不同分支上工作
  • 代码隔离:每个工作目录独立,互不干扰
  • 共享仓库:所有工作目录共享同一个 Git 仓库
  • 独立操作:可以在不同工作目录中独立提交、推送
7.7.3 工作原理
  1. 主工作目录:Git 仓库的原始工作目录
  2. 创建 Worktree:使用 git worktree add 创建新的工作目录
  3. 关联分支:每个工作目录关联一个分支
  4. 独立工作:在不同工作目录中独立开发
  5. 合并代码:完成后合并到主分支
7.7.4 基本命令

创建 Worktree

# 创建新的工作目录并关联新分支
git worktree add ../project-feature feature-branch

# 创建新的工作目录并关联已存在的分支
git worktree add ../project-hotfix hotfix-branch

# 创建新的工作目录但不创建分支(detached HEAD)
git worktree add ../project-test HEAD~1

列出所有 Worktree

git worktree list

删除 Worktree

# 删除工作目录(需要先删除关联的分支或合并)
git worktree remove ../project-feature

# 强制删除(即使有未提交的更改)
git worktree remove --force ../project-feature

移动 Worktree

git worktree move ../old-path ../new-path
7.7.5 在 Cursor 中使用 Worktree

方法 1:通过终端创建

  1. 打开 Cursor 的集成终端
  2. 创建新的 Worktree:
    git worktree add ../my-project-feature feature-branch
    
  3. 在新目录中打开 Cursor:
    • File → Open Folder
    • 选择新创建的 Worktree 目录

方法 2:通过 Cursor 界面

  1. 打开源代码管理面板
  2. 创建新分支
  3. 使用 Git 命令创建 Worktree(需要终端)
7.7.6 使用场景

适合使用 Worktree 的场景:

  1. 并行开发多个功能

    • 同时开发多个不相关的功能
    • 例如:功能 A 和功能 B 同时开发
    • 避免频繁切换分支
  2. 代码审查

    • 在独立工作目录中审查代码
    • 不影响主开发环境
    • 可以同时打开多个 PR 进行审查
  3. 实验性开发

    • 尝试新的实现方案
    • 不影响主代码库
    • 可以随时丢弃实验性代码
  4. Bug 修复

    • 紧急修复生产环境 bug
    • 同时继续开发新功能
    • 互不干扰
  5. 版本维护

    • 同时维护多个版本
    • 例如:v1.x 和 v2.x 同时维护
    • 独立的工作目录便于管理
7.7.7 最佳实践

命名规范

  • 使用描述性的目录名
  • 例如:…/project-auth-feature、…/project-bugfix-123

分支管理

  • 每个 Worktree 关联一个独立分支
  • 使用清晰的分支命名
  • 定期清理不需要的 Worktree

资源管理

  • 不要创建过多的 Worktree
  • 定期清理不需要的工作目录
  • 注意磁盘空间使用

代码同步

  • 定期从主分支拉取更新
  • 及时合并到主分支
  • 避免长时间分离开发
7.7.8 注意事项

重要提示:

  1. 分支限制

    • 不能在不同 Worktree 中检出同一个分支
    • 每个分支只能在一个 Worktree 中使用
  2. 删除顺序

    • 删除 Worktree 前需要先删除或合并关联的分支
    • 或者使用 --force 强制删除
  3. 磁盘空间

    • 每个 Worktree 都会占用磁盘空间
    • 注意管理磁盘使用
  4. 文件冲突

    • 虽然工作目录独立,但共享同一个 Git 仓库
    • 注意避免文件冲突
7.7.9 实际示例

示例:并行开发两个功能

# 1. 创建功能 A 的 Worktree
git worktree add ../project-feature-a feature-a
cd ../project-feature-a
# 开发功能 A...

# 2. 创建功能 B 的 Worktree(在另一个终端)
git worktree add ../project-feature-b feature-b
cd ../project-feature-b
# 开发功能 B...

# 3. 查看所有 Worktree
git worktree list
# 输出:
# /path/to/main        abc123 [main]
# /path/to/feature-a    def456 [feature-a]
# /path/to/feature-b    ghi789 [feature-b]

# 4. 完成后删除 Worktree
git worktree remove ../project-feature-a
git worktree remove ../project-feature-b

7.8 并行 Agent 与 Worktree 的关联

7.8.1 关联关系

并行 Agent 功能利用 Git Worktree 实现代码隔离

当使用并行 Agent 功能时,Cursor 会自动为每个 Agent 创建独立的 Git Worktree,确保:

  • 每个 Agent 在独立的工作空间中运行
  • Agent 之间的代码修改互不干扰
  • 可以安全地并行处理同一任务
  • 完成后可以比较和选择最佳方案
7.8.2 工作流程
  1. 任务发布:在 Composer 中发布任务并选择并行模式
  2. 创建 Worktree:Cursor 自动为每个 Agent 创建独立的 Worktree
  3. 并行执行:每个 Agent 在自己的 Worktree 中处理任务
  4. 结果收集:所有 Agent 完成后,收集各 Worktree 的结果
  5. 方案比较:开发者比较各 Worktree 中的代码
  6. 应用方案:选择最佳方案,合并到主代码库
  7. 清理 Worktree:删除不需要的 Worktree
7.8.3 技术实现

自动创建 Worktree

主代码库 (main)
├── worktree-agent-1/  (Agent 1 的工作空间)
├── worktree-agent-2/  (Agent 2 的工作空间)
└── worktree-agent-3/  (Agent 3 的工作空间)

工作流程

  1. Cursor 检测到并行 Agent 模式
  2. 自动执行 git worktree add 为每个 Agent 创建 Worktree
  3. 每个 Agent 在独立的 Worktree 中运行
  4. 完成后,Cursor 展示各 Worktree 的结果
  5. 用户选择方案后,Cursor 合并到主代码库
  6. 自动清理临时 Worktree
7.8.4 优势

代码隔离

  • 每个 Agent 的修改完全独立
  • 不会相互覆盖或冲突
  • 可以安全地并行运行

方案比较

  • 可以同时查看所有方案
  • 方便比较不同实现
  • 选择最佳方案

安全性

  • 主代码库不受影响
  • 可以随时丢弃不需要的方案
  • 使用 Git 管理,可追溯
7.8.5 注意事项

使用并行 Agent 时的注意事项:

  1. 需要 Git 仓库

    • 并行 Agent 依赖 Git Worktree
    • 确保项目已初始化 Git 仓库
  2. 磁盘空间

    • 每个 Agent 会创建独立的 Worktree
    • 注意磁盘空间使用(特别是使用多个 Agent 时)
  3. 清理工作

    • Cursor 通常会自动清理临时 Worktree
    • 如果异常退出,可能需要手动清理
    • 使用 git worktree list 查看所有 Worktree
  4. 分支管理

    • Cursor 会自动管理 Worktree 关联的分支
    • 通常使用临时分支,完成后自动删除
    • 不需要手动管理分支
7.8.6 实际应用

场景:使用并行 Agent 实现 PDF 压缩

  1. 初始化 Git(如果还没有):

    git init
    git add .
    git commit -m "Initial commit"
    
  2. 打开 Composer (Ctrl+I)

  3. 启用并行 Agent

    • 输入任务描述
    • 选择 “Use Multiple Models”
    • 选择 3 个 Agent
  4. Cursor 自动创建 Worktree

    project/
    ├── .git/
    ├── worktree-agent-1/  (自动创建)
    ├── worktree-agent-2/  (自动创建)
    └── worktree-agent-3/  (自动创建)
    
  5. Agent 并行工作

    • Agent 1 在 worktree-agent-1 中实现方案 A
    • Agent 2 在 worktree-agent-2 中实现方案 B
    • Agent 3 在 worktree-agent-3 中实现方案 C
  6. 比较和选择

    • 查看三个 Worktree 中的代码
    • 比较实现方案
    • 选择最佳方案
  7. 应用和清理

    • 将选中的方案合并到主代码库
    • Cursor 自动删除临时 Worktree

7.9 VS Code 扩展兼容性

7.9.1 扩展兼容性概述

Cursor 基于 VS Code 构建,因此完全兼容 VS Code 的扩展生态系统。你可以安装和使用几乎所有 VS Code 扩展,扩展 Cursor 的功能。

7.9.2 安装扩展

方法 1:通过扩展市场安装

  1. 点击侧边栏的扩展图标(或按 Ctrl+Shift+X)
  2. 在搜索框中输入扩展名称
  3. 点击 “Install” 安装扩展
  4. 安装完成后可能需要重启 Cursor

方法 2:从 VSIX 文件安装

  1. 下载扩展的 .vsix 文件
  2. 在扩展面板中点击 “…” 菜单
  3. 选择 “Install from VSIX…”
  4. 选择下载的 .vsix 文件

方法 3:通过命令行安装

cursor --install-extension publisher.extension-name
7.9.3 推荐扩展

代码质量

  • ESLint:JavaScript/TypeScript 代码检查
  • Prettier:代码格式化
  • SonarLint:代码质量分析

Git 增强

  • GitLens:Git 功能增强,查看代码历史、作者信息等
  • Git Graph:可视化 Git 提交历史

开发效率

  • Auto Rename Tag:自动重命名配对的 HTML/XML 标签
  • Bracket Pair Colorizer:括号配对着色
  • Path Intellisense:路径自动补全
  • Import Cost:显示导入包的大小

主题和美化

  • One Dark Pro:流行的暗色主题
  • Material Icon Theme:文件图标主题
  • Dracula Official:Dracula 主题

语言支持

  • Python:Python 语言支持
  • Rust:Rust 语言支持
  • Go:Go 语言支持
  • Java Extension Pack:Java 开发扩展包
7.9.4 扩展与 AI 功能的配合

代码格式化扩展

  • Prettier、ESLint 等扩展可以与 Cursor 的 AI 功能配合
  • AI 生成的代码会自动应用格式化规则
  • 在 .cursorrules 中可以指定使用的格式化工具

Git 扩展

  • GitLens 等扩展可以增强 Git 功能
  • 与 Cursor 的 Git 集成功能互补
  • 可以查看更详细的代码历史信息

语言支持扩展

  • 语言扩展提供语法高亮、代码补全等功能
  • 与 Cursor 的 AI 补全功能配合,提供更准确的建议
7.9.5 扩展配置

扩展设置

  1. 打开设置:Ctrl+,
  2. 搜索扩展名称
  3. 配置扩展选项

工作区扩展

  • 可以为特定项目推荐扩展
  • 在 .vscode/extensions.json 中配置推荐扩展
  • 团队成员打开项目时会看到扩展推荐

示例 .vscode/extensions.json

{
  "recommendations": [
    "dbaeumer.vscode-eslint",
    "esbenp.prettier-vscode",
    "eamodio.gitlens"
  ]
}
7.9.6 扩展冲突处理

性能问题

  • 某些扩展可能影响 Cursor 的性能
  • 如果遇到性能问题,尝试禁用不必要的扩展
  • 使用扩展的禁用功能临时关闭扩展

功能冲突

  • 某些扩展可能与 Cursor 的 AI 功能冲突
  • 如果遇到问题,检查扩展设置
  • 考虑使用替代扩展

扩展更新

  • 定期更新扩展以获得最新功能
  • 注意扩展的兼容性说明
  • 更新前备份重要配置
7.9.7 扩展开发

创建自定义扩展

  • Cursor 支持 VS Code 扩展 API
  • 可以使用 VS Code 扩展开发工具包
  • 参考 VS Code 扩展开发文档

扩展调试

  • 使用扩展开发主机调试扩展
  • 查看扩展输出日志
  • 测试扩展功能

7.10 代码历史记录和版本对比

7.10.1 AI 修改历史

查看修改历史

Cursor 会记录 AI 对代码的所有修改,你可以查看和恢复之前的版本。

访问修改历史

  1. 通过源代码管理面板

    • 打开源代码管理面板(Ctrl+Shift+G)
    • 查看文件修改历史
    • 可以看到 AI 的每次修改
  2. 通过文件历史

    • 右键点击文件
    • 选择 “Timeline” 或"时间线"
    • 查看文件的所有修改记录
  3. 通过 Git 历史

    • 如果使用 Git,可以通过 Git 历史查看
    • 使用 GitLens 扩展查看更详细的历史
7.10.2 版本对比功能

对比文件版本

  1. 对比当前版本和之前版本

    • 在源代码管理面板中选择文件
    • 点击 “Compare with Previous Version”
    • 查看两个版本的差异
  2. 对比任意两个版本

    • 在时间线中选择两个版本
    • 右键选择 “Compare”
    • 查看版本间的差异
  3. 对比 Git 提交

    • 使用 Git 对比功能
    • 对比不同提交之间的差异
    • 查看详细的代码变更
7.10.3 恢复之前的版本

撤销 AI 修改

  1. 使用撤销功能

    • Ctrl+Z 撤销最近的修改
    • 可以多次撤销,回到之前的版本
  2. 恢复文件版本

    • 在时间线中选择要恢复的版本
    • 右键选择 “Restore” 或"恢复"
    • 文件会恢复到选中的版本
  3. 使用 Git 恢复

    • 如果使用 Git,可以使用 Git 恢复功能
    • git checkout -- 文件名 恢复文件
    • git reset HEAD~1 撤销最后一次提交
7.10.4 代码变更追踪

查看变更统计

  • Cursor 会显示文件的变更统计
  • 可以看到添加、删除、修改的行数
  • 在源代码管理面板中查看

变更高亮

  • 修改的行会高亮显示
  • 绿色表示添加的行
  • 红色表示删除的行
  • 蓝色表示修改的行

变更导航

  • 使用快捷键快速跳转到下一个/上一个变更
  • Ctrl+Shift+P → “Go to Next Change”
  • Ctrl+Shift+P → “Go to Previous Change”
7.10.5 最佳实践

频繁提交

  • 每完成一个功能就提交代码
  • 使用清晰的提交信息
  • 利用 AI 生成提交信息功能

使用分支

  • 为不同功能创建分支
  • 使用 Git Worktree 并行开发
  • 完成后合并到主分支

代码审查

  • 提交前审查 AI 生成的代码
  • 使用代码对比功能检查变更
  • 确保代码质量和功能正确性

备份重要版本

  • 定期创建代码快照
  • 使用 Git 标签标记重要版本
  • 保留关键版本的备份
7.10.6 实际应用示例

示例:恢复 AI 修改

  1. AI 修改了代码

    • 使用 Composer 修改了多个文件
    • 发现修改不符合预期
  2. 查看修改历史

    • 打开源代码管理面板
    • 查看所有修改的文件
    • 检查每个文件的变更
  3. 对比版本

    • 对比当前版本和修改前的版本
    • 查看具体的变更内容
    • 确认需要恢复的部分
  4. 恢复代码

    • 选择要恢复的文件
    • 点击 “Discard Changes” 或使用 Git 恢复
    • 代码恢复到修改前的状态

示例:审查 AI 修改

  1. AI 完成修改

    • Composer 完成了多文件重构
    • 需要审查所有变更
  2. 查看变更列表

    • 在源代码管理面板查看所有变更
    • 逐个文件检查修改
  3. 对比关键文件

    • 对比重要文件的变更
    • 确保逻辑正确
    • 检查是否有遗漏
  4. 测试和提交

    • 运行测试确保功能正常
    • 确认无误后提交代码
    • 使用 AI 生成提交信息

8. 最佳实践

8.1 编写清晰的提示

8.1.1 好的提示示例

清晰明确:

创建一个用户登录组件,包含用户名和密码输入框,
使用 React Hooks,添加表单验证,样式使用 Tailwind CSS

模糊不清:

做个登录页面
8.1.2 提示技巧
  • 具体描述:说明要做什么,怎么做
  • 提供上下文:提及相关文件或功能
  • 指定技术栈:说明使用的框架、库
  • 说明要求:性能、可访问性等要求

8.2 代码审查流程

  1. 让 AI 生成代码
  2. 仔细审查代码
  3. 测试功能
  4. 检查性能
  5. 确认安全性
  6. 提交代码

8.3 使用版本控制

  • 频繁提交:每完成一个功能就提交
  • 清晰的提交信息:使用 AI 生成或自己写
  • 分支管理:使用分支开发新功能
  • 代码审查:提交前审查代码

8.4 性能优化

8.4.1 减少 AI 请求
  • 一次性描述完整需求
  • 避免频繁的小修改
  • 使用 Composer 进行大规模重构
8.4.2 提高响应速度
  • 关闭不必要的扩展
  • 使用本地模型(如果支持)
  • 优化项目文件数量

8.5 安全注意事项

8.5.1 不要提交敏感信息
  • API Keys
  • 密码
  • 个人信息
  • 私钥
8.5.2 使用环境变量
// 错误
const apiKey = "sk-1234567890";

// 正确
const apiKey = process.env.API_KEY;
8.5.3 代码审查
  • 审查 AI 生成的代码
  • 检查安全漏洞
  • 验证输入验证

9. 常见问题解答

9.1 基础问题

Q: Cursor 是免费的吗?
A: Cursor 有免费版本,但功能有限。付费版本提供更多 AI 请求次数和高级功能。

Q: Cursor 支持哪些编程语言?
A: Cursor 支持几乎所有主流编程语言,包括 JavaScript、Python、Java、C++、Go、Rust 等。

Q: 需要网络连接吗?
A: 是的,AI 功能需要网络连接。代码编辑功能可以离线使用。

Q: 如何更新 Cursor?
A: 打开设置 → 关于 → 检查更新,或访问官网下载最新版本。

9.2 AI 功能问题

Q: AI 补全不准确怎么办?
A:

  • 检查代码上下文是否清晰
  • 尝试添加注释说明意图
  • 使用 Chat 明确描述需求
  • 检查 .cursorrules 配置

Q: Chat 响应慢怎么办?
A:

  • 检查网络连接
  • 尝试切换到更快的模型
  • 减少上下文大小
  • 关闭其他占用资源的程序

Q: Composer 修改了错误的文件怎么办?
A:

  • 使用 Git 撤销更改:git checkout – 文件名
  • 或使用 Cursor 的撤销功能:Ctrl+Z
  • 提交前仔细审查更改

Q: 如何提高 AI 代码质量?
A:

  • 编写清晰的提示
  • 提供足够的上下文
  • 使用 .cursorrules 配置规则
  • 分步骤完成复杂任务

9.3 配置问题

Q: 如何切换 AI 模型?
A: 设置 → 搜索 “Model” → 选择模型

Q: 如何配置代码风格?
A: 创建 .cursorrules 文件或使用项目配置文件

Q: 如何导入 VS Code 设置?
A: 设置 → 搜索 “Import Settings” → 选择 VS Code 配置文件

Q: 快捷键冲突怎么办?
A: 设置 → 键盘快捷键 → 搜索冲突的快捷键 → 修改

9.4 性能问题

Q: Cursor 占用内存太多?
A:

  • 关闭不必要的扩展
  • 减少打开的文件数量
  • 禁用不需要的 AI 功能
  • 增加系统内存

Q: 代码补全延迟?
A:

  • 检查网络连接
  • 减少项目文件数量
  • 调整补全延迟设置
  • 使用本地模型(如果支持)

9.5 故障排除

Q: Cursor 无法启动?
A:

  • 检查系统要求
  • 重新安装 Cursor
  • 查看错误日志
  • 联系技术支持

Q: AI 功能不工作?
A:

  • 检查网络连接
  • 验证账户状态
  • 检查 API Key(如果使用)
  • 重启 Cursor

Q: 扩展无法安装?
A:

  • 检查网络连接
  • 清除扩展缓存
  • 手动下载安装
  • 检查扩展兼容性

10. 实战案例

10.1 案例 1:创建 React 组件

任务描述

创建一个用户卡片组件,显示用户头像、姓名和邮箱。

步骤
  1. 打开 Composer (Ctrl+I)

  2. 输入需求

创建一个 React 用户卡片组件 UserCard.jsx,
包含:
- 用户头像(圆形)
- 用户姓名(粗体)
- 用户邮箱(灰色)
使用 Tailwind CSS 样式,组件接收 user 对象作为 props
  1. AI 生成代码
import React from 'react';

const UserCard = ({ user }) => {
  return (
    <div className="bg-white rounded-lg shadow-md p-6 max-w-sm">
      <div className="flex items-center space-x-4">
        <img
          src={user.avatar || '/default-avatar.png'}
          alt={user.name}
          className="w-16 h-16 rounded-full object-cover"
        />
        <div>
          <h3 className="text-xl font-bold text-gray-800">{user.name}</h3>
          <p className="text-gray-500">{user.email}</p>
        </div>
      </div>
    </div>
  );
};

export default UserCard;
  1. 审查和测试
  • 检查代码逻辑
  • 测试组件功能
  • 调整样式

10.2 案例 2:重构代码

任务描述

将类组件重构为函数组件。

步骤
  1. 选中要重构的代码

  2. 打开 Chat (Ctrl+L)

  3. 输入需求

将这段类组件重构为使用 React Hooks 的函数组件
  1. AI 提供重构方案

  2. 应用更改

10.3 案例 3:添加新功能

任务描述

在现有项目中添加用户搜索功能。

步骤
  1. 打开 Composer (Ctrl+I)

  2. 输入需求

添加用户搜索功能:
1. 创建 SearchBar.jsx 组件(搜索输入框)
2. 创建 UserList.jsx 组件(显示搜索结果)
3. 在 App.jsx 中集成搜索功能
4. 添加搜索逻辑(过滤用户列表)
使用 React Hooks 和 Tailwind CSS
  1. AI 创建多个文件

  2. 审查和测试

10.4 案例 4:调试代码

任务描述

修复一个 JavaScript 错误。

步骤
  1. 选中错误代码

  2. 打开 Chat (Ctrl+L)

  3. 输入

这段代码报错:TypeError: Cannot read property 'name' of undefined
请帮我修复
  1. AI 分析并提供修复方案

  2. 应用修复

10.5 案例 5:代码优化

任务描述

优化一个性能较差的函数。

步骤
  1. 选中函数代码

  2. Chat 中输入

优化这个函数的性能,当前执行时间较长
  1. AI 提供优化建议

  2. 应用优化


11. 进阶学习资源

11.1 官方资源

  • 官网:https://cursor.sh
  • 文档:https://docs.cursor.sh
  • 博客:https://cursor.sh/blog
  • 社区:https://cursor.sh/community

11.2 视频教程

  • YouTube 搜索 “Cursor 2.0 tutorial”
  • B站搜索 “Cursor 教程”
  • 官方 YouTube 频道

11.3 社区资源

  • GitHub Discussions:讨论和提问
  • Discord:实时交流
  • Reddit:r/cursor
  • Twitter:@cursor_ai

11.4 实践项目

  1. 待办事项应用:练习基础功能
  2. 博客系统:练习多文件编辑
  3. API 客户端:练习代码生成
  4. 全栈应用:综合练习

12. 学习路径建议

12.1 第 1 周:基础入门

  • 安装和配置 Cursor
  • 熟悉界面和基本操作
  • 学习使用 AI 代码补全
  • 练习基本快捷键

12.2 第 2 周:AI 功能

  • 掌握 Chat 功能
  • 学习使用 Composer
  • 练习代码解释和生成
  • 完成 2-3 个小项目

12.3 第 3 周:高级功能

  • 学习使用 .cursorrules
  • 创建和管理知识库
  • 掌握代码重构技巧
  • 学习上下文窗口管理
  • 安装和配置 VS Code 扩展
  • 学习调试和测试
  • 完成一个中型项目

12.4 第 4 周:精通应用

  • 使用并行 Agent 处理复杂任务
  • 掌握代码历史记录和版本对比
  • 优化工作流程
  • 学习最佳实践
  • 解决复杂问题
  • 分享经验和技巧

13. 总结

13.1 核心要点

  1. Cursor 2.0 是强大的 AI 代码编辑器
  2. 掌握 Chat 和 Composer 是核心
  3. 清晰的提示能提高 AI 输出质量
  4. 始终审查 AI 生成的代码
  5. 使用版本控制管理更改

13.2 持续学习

  • 关注 Cursor 更新
  • 参与社区讨论
  • 实践新功能
  • 分享学习经验

13.3 下一步

  1. 开始使用 Cursor 2.0
  2. 完成学习路径中的任务
  3. 在实际项目中应用
  4. 不断优化工作流程

附录 A:快速参考卡片

A.1 常用命令

命令快捷键说明
ChatCtrl+L打开 AI 对话
ComposerCtrl+I多文件编辑
命令面板Ctrl+Shift+P所有命令
接受建议Tab接受 AI 补全

A.2 Chat 命令

  • /fix - 修复错误
  • /explain - 解释代码
  • /refactor - 重构代码
  • /test - 生成测试
  • /doc - 生成文档

A.3 @ 符号引用功能

文件引用

  • @文件名 - 引用特定文件(如 @App.js)
  • @文件路径 - 引用完整路径(如 @src/components/Button.jsx)

文件夹引用

  • @文件夹名 - 引用整个文件夹(如 @src/components)

代码引用

  • 选中代码后自动引用 - 在 Chat 中输入问题会自动引用
  • @Code - 显式引用代码片段

文档引用

  • @README.md - 引用文档文件
  • @docs/guide.md - 引用文档路径

Git 引用

  • @Git - 引用 Git 信息
  • @Git:commit_hash - 引用特定提交

网络搜索

  • @Web - 从互联网获取最新信息

知识库引用

  • @Knowledge Base - 引用知识库
  • @知识库名称 - 引用特定知识库(如 @API文档)

组合使用

  • @文件1 @文件2 - 同时引用多个文件
  • @文件夹 @文档 - 组合不同类型的引用
  • @Knowledge Base @文件 - 组合知识库和文件引用

A.4 并行 Agent 快速参考

基本使用

  • 打开 Composer (Ctrl+I)
  • 输入任务描述
  • 选择 “Use Multiple Models”
  • 选择要使用的模型(最多 8 个)

关键特点

  • 所有代理处理同一个任务
  • 每个代理提供不同的解决方案
  • 可以比较和选择最佳方案

最佳实践

  • 需要 Git 仓库
  • 建议使用 2-4 个代理
  • 仔细审查每个代理的输出
  • 运行测试验证功能

A.5 Worktree 快速参考

基本命令

# 创建 Worktree
git worktree add ../project-feature feature-branch

# 列出所有 Worktree
git worktree list

# 删除 Worktree
git worktree remove ../project-feature

使用场景

  • 并行开发多个功能
  • 代码审查
  • 实验性开发
  • Bug 修复

注意事项

  • 每个分支只能在一个 Worktree 中使用
  • 注意磁盘空间使用
  • 定期清理不需要的 Worktree

A.6 并行 Agent 与 Worktree 的关联

关联关系

  • 并行 Agent 使用 Git Worktree 实现代码隔离
  • Cursor 自动为每个 Agent 创建独立的 Worktree
  • 每个 Agent 在独立的 Worktree 中运行
  • 完成后可以比较各 Worktree 的结果

工作流程

  1. 启用并行 Agent → Cursor 自动创建 Worktree
  2. Agent 在各自 Worktree 中工作
  3. 比较各 Worktree 的结果
  4. 选择最佳方案合并到主代码库
  5. 自动清理临时 Worktree

A.7 知识库功能快速参考

创建知识库

  • 设置 → 搜索 “Knowledge Base” → 创建知识库
  • 添加文件、URL、文件夹或手动输入内容

使用知识库

  • @Knowledge Base - 在 Chat 或 Composer 中引用知识库
  • @知识库名称 - 引用特定知识库

最佳实践

  • 分类管理不同类型的文档
  • 定期更新知识库内容
  • 精简内容,只添加必要文档
  • 团队共享知识库

A.8 上下文窗口管理快速参考

查看上下文

  • Chat/Composer 中显示上下文使用情况
  • 状态栏显示上下文状态

优化上下文

  • 使用 @文件名 精确指定文件
  • 排除不必要文件(.cursorignore)
  • 分步骤处理大任务

配置选项

  • 设置 → 搜索 “Context” → 配置上下文选项
  • 设置最大上下文大小
  • 配置自动包含/排除模式

A.9 VS Code 扩展快速参考

安装扩展

  • Ctrl+Shift+X 打开扩展市场
  • 搜索并安装扩展
  • 或从 VSIX 文件安装

推荐扩展

  • ESLint、Prettier(代码质量)
  • GitLens(Git 增强)
  • 语言支持扩展(Python、Rust、Go 等)

扩展配置

  • .vscode/extensions.json - 项目推荐扩展
  • 设置 → 搜索扩展名称 → 配置选项

A.10 代码历史记录快速参考

查看历史

  • 源代码管理面板(Ctrl+Shift+G)
  • 文件时间线(右键 → Timeline)
  • Git 历史(使用 GitLens)

版本对比

  • 对比当前版本和之前版本
  • 对比任意两个版本
  • 对比 Git 提交

恢复版本

  • Ctrl+Z 撤销修改
  • 时间线中选择版本 → Restore
  • Git 恢复命令

附录 B:配置文件示例

B.1 .cursorrules 示例

# 项目代码规范

## 代码风格
- 使用 2 个空格缩进
- 使用单引号
- 行尾不加分号
- 使用 const/let,不使用 var

## React 规范
- 使用函数组件和 Hooks
- 组件使用 PascalCase
- Props 使用 TypeScript 类型
- 使用 React.memo 优化

## 代码质量
- 所有函数必须有注释
- 错误处理必须完善
- 避免魔法数字和字符串
- 使用有意义的变量名

B.2 settings.json 示例

{
  "editor.tabSize": 2,
  "editor.insertSpaces": true,
  "editor.formatOnSave": true,
  "cursor.aiModel": "claude-3.5-sonnet",
  "cursor.enableTabCompletion": true,
  "cursor.chat.enabled": true,
  "cursor.composer.enabled": true
}

祝你在 Cursor 2.0 的学习之旅中取得成功!

如有问题,欢迎查阅官方文档或社区资源。


版本:Cursor 2.0

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐