# Cursor 使用技巧指南 ## 目录 - [基础操作技巧](#基础操作技巧) - [AI 功能使用](#ai-功能使用) - [快捷键大全](#快捷键大全) - [代码编辑技巧](#代码编辑技巧) - [搜索与导航](#搜索与导航) - [调试技巧](#调试技巧) - [多文件编辑](#多文件编辑) - [代码重构](#代码重构) - [Git 集成](#git-集成) - [插件与扩展](#插件与扩展) - [性能优化](#性能优化) - [常见问题解决](#常见问题解决) - [高级技巧](#高级技巧) --- ## 基础操作技巧 ### 快速打开文件 ```bash # 使用命令面板 Ctrl + Shift + P (Windows/Linux) Cmd + Shift + P (Mac) # 快速打开文件 Ctrl + P (Windows/Linux) Cmd + P (Mac) # 快速打开符号(函数、类等) Ctrl + Shift + O (Windows/Linux) Cmd + Shift + O (Mac) ``` ### 多光标编辑 ```bash # 添加多个光标 Alt + Click # 在多个位置添加光标 Ctrl + Alt + ↑/↓ # 在上/下行添加光标 Ctrl + D # 选择下一个相同的词 Ctrl + Shift + L # 选择所有相同的词 ``` ### 代码折叠 ```bash # 折叠/展开代码块 Ctrl + Shift + [ # 折叠当前代码块 Ctrl + Shift + ] # 展开当前代码块 Ctrl + K Ctrl + 0 # 折叠所有代码块 Ctrl + K Ctrl + J # 展开所有代码块 ``` ### 快速跳转 ```bash # 跳转到定义 F12 # 跳转到定义 Ctrl + Click # 按住Ctrl点击跳转 Alt + F12 # 预览定义(不跳转) # 跳转到引用 Shift + F12 # 查找所有引用 # 返回上一位置 Ctrl + - # 返回上一位置 Ctrl + Shift + - # 前进到下一位置 ``` --- ## AI 功能使用 ### Chat 功能 ```bash # 打开 Chat 面板 Ctrl + L (Windows/Linux) Cmd + L (Mac) # 或者使用命令面板 Ctrl + Shift + P -> "Cursor: Open Chat" ``` **使用技巧:** - 选中代码后,在 Chat 中会自动包含上下文 - 使用 `@文件名` 引用特定文件 - 使用 `@代码库` 引用整个代码库 - 使用 `@文档` 引用文档 ### Composer 功能 ```bash # 打开 Composer Ctrl + I (Windows/Linux) Cmd + I (Mac) ``` **使用场景:** - 多文件编辑 - 大型重构任务 - 跨文件代码生成 - 复杂功能实现 ### 内联编辑(Tab 补全) ```bash # 自动触发 # 输入代码时,Cursor 会自动提供建议 Tab # 接受建议 Ctrl + → # 接受部分建议 Esc # 拒绝建议 ``` ### 代码生成提示 ```bash # 使用注释触发 // TODO: 实现用户登录功能 // FIXME: 修复内存泄漏问题 // CURSOR: 生成一个用户注册表单 ``` ### AI 命令使用 ```bash # 在 Chat 中使用特殊命令 /explain # 解释代码 /refactor # 重构代码 /fix # 修复错误 /test # 生成测试 /document # 生成文档 ``` --- ## 快捷键大全 ### 文件操作 | 功能 | Windows/Linux | Mac | |------|--------------|-----| | 新建文件 | Ctrl + N | Cmd + N | | 打开文件 | Ctrl + O | Cmd + O | | 保存文件 | Ctrl + S | Cmd + S | | 保存所有 | Ctrl + K S | Cmd + K S | | 关闭文件 | Ctrl + W | Cmd + W | | 关闭所有 | Ctrl + K W | Cmd + K W | | 重新打开文件 | Ctrl + Shift + T | Cmd + Shift + T | ### 编辑操作 | 功能 | Windows/Linux | Mac | |------|--------------|-----| | 撤销 | Ctrl + Z | Cmd + Z | | 重做 | Ctrl + Y | Cmd + Shift + Z | | 复制行 | Shift + Alt + ↓ | Shift + Option + ↓ | | 删除行 | Ctrl + Shift + K | Cmd + Shift + K | | 移动行 | Alt + ↑/↓ | Option + ↑/↓ | | 注释行 | Ctrl + / | Cmd + / | | 格式化 | Shift + Alt + F | Shift + Option + F | | 全选 | Ctrl + A | Cmd + A | ### 导航操作 | 功能 | Windows/Linux | Mac | |------|--------------|-----| | 跳转到行 | Ctrl + G | Cmd + G | | 跳转到符号 | Ctrl + Shift + O | Cmd + Shift + O | | 跳转到定义 | F12 | F12 | | 查找引用 | Shift + F12 | Shift + F12 | | 返回上一位置 | Ctrl + - | Cmd + - | | 前进到下一位置 | Ctrl + Shift + - | Cmd + Shift + - | ### 搜索操作 | 功能 | Windows/Linux | Mac | |------|--------------|-----| | 查找 | Ctrl + F | Cmd + F | | 替换 | Ctrl + H | Cmd + Option + F | | 全项目查找 | Ctrl + Shift + F | Cmd + Shift + F | | 全项目替换 | Ctrl + Shift + H | Cmd + Shift + H | ### AI 相关快捷键 | 功能 | Windows/Linux | Mac | |------|--------------|-----| | 打开 Chat | Ctrl + L | Cmd + L | | 打开 Composer | Ctrl + I | Cmd + I | | 接受建议 | Tab | Tab | | 拒绝建议 | Esc | Esc | | 接受部分建议 | Ctrl + → | Cmd + → | --- ## 代码编辑技巧 ### 多光标编辑 ```javascript // 示例:同时编辑多个变量 // 1. 选中第一个变量名 // 2. 按 Ctrl + D 选择下一个相同的词 // 3. 继续按 Ctrl + D 选择更多 // 4. 开始编辑,所有选中的位置会同步修改 const userName = "John"; const userEmail = "john@example.com"; const userAge = 30; // 选中所有 "user" 后,可以统一重命名 ``` ### 列选择模式 ```bash # 进入列选择模式 Shift + Alt + 鼠标拖动 # Windows/Linux Shift + Option + 鼠标拖动 # Mac # 或者使用键盘 Ctrl + Shift + Alt + ↑/↓ # Windows/Linux Cmd + Shift + Option + ↑/↓ # Mac ``` ### 代码块选择 ```bash # 扩展选择 Ctrl + Shift + → # 扩展选择到词 Ctrl + Shift + Alt + → # 扩展选择到代码块 ``` ### 快速复制/移动 ```bash # 复制当前行 Shift + Alt + ↓ # 向下复制 Shift + Alt + ↑ # 向上复制 # 移动当前行 Alt + ↓ # 向下移动 Alt + ↑ # 向上移动 ``` ### 智能重命名 ```bash # 重命名符号 F2 # 重命名当前符号 # 会自动更新所有引用 ``` --- ## 搜索与导航 ### 快速文件搜索 ```bash # 按文件名搜索 Ctrl + P # 打开快速文件搜索 # 输入文件名或路径的一部分即可 # 按符号搜索 Ctrl + Shift + O # 在当前文件中搜索符号 Ctrl + T # 在整个项目中搜索符号 ``` ### 高级搜索 ```bash # 全项目搜索 Ctrl + Shift + F # 打开搜索面板 # 搜索选项 # - 区分大小写 # - 全词匹配 # - 正则表达式 # - 包含/排除文件 ``` ### 使用正则表达式搜索 ```bash # 在搜索框中启用正则表达式 # 示例: # 查找所有 console.log console\.log # 查找所有函数定义 function\s+\w+ # 查找所有 TODO 注释 TODO|FIXME|XXX ``` ### 文件导航 ```bash # 在文件之间快速切换 Ctrl + Tab # 切换最近打开的文件 Ctrl + P # 快速打开文件 # 在编辑器中导航 Ctrl + G # 跳转到指定行号 Ctrl + Shift + O # 跳转到文件中的符号 ``` --- ## 调试技巧 ### 断点设置 ```bash # 设置断点 F9 # 切换断点 Ctrl + Shift + F9 # 删除所有断点 # 条件断点 # 右键点击断点 -> 编辑断点 -> 添加条件 ``` ### 调试控制 ```bash F5 # 开始调试 F10 # 单步跳过 F11 # 单步进入 Shift + F11 # 单步跳出 Ctrl + Shift + F5 # 重启调试 Shift + F5 # 停止调试 ``` ### 调试面板 ```bash Ctrl + Shift + D # 打开调试面板 # 可以查看变量、调用栈、断点等 ``` ### 日志调试 ```bash # 使用 console.log console.log('Debug:', variable); # 使用断点 debugger; # 在代码中插入断点 ``` --- ## 多文件编辑 ### 分割编辑器 ```bash # 水平分割 Ctrl + \ # 分割编辑器 Ctrl + 1/2/3 # 切换到不同编辑器组 # 垂直分割 Ctrl + K Ctrl + \ # 垂直分割 # 关闭编辑器组 Ctrl + K W # 关闭当前编辑器组 ``` ### 并排编辑 ```bash # 打开文件到侧边 Ctrl + K → # 打开文件到右侧 Ctrl + K ← # 打开文件到左侧 # 移动文件到不同组 Ctrl + K Ctrl + ←/→ # 移动文件到左/右组 ``` ### 文件对比 ```bash # 对比两个文件 # 1. 右键点击文件 -> "Select for Compare" # 2. 右键点击另一个文件 -> "Compare with Selected" ``` --- ## 代码重构 ### 提取函数 ```bash # 选中代码块 # 右键 -> "Extract Function" # 或使用快捷键 Ctrl + Shift + R # 快速重构菜单 ``` ### 重命名符号 ```bash F2 # 重命名符号 # 会自动更新所有引用 ``` ### 提取变量 ```bash # 选中表达式 # 右键 -> "Extract Variable" # 或使用命令面板 Ctrl + Shift + P -> "Extract Variable" ``` ### 内联变量/函数 ```bash # 选中变量或函数调用 # 右键 -> "Inline Variable" 或 "Inline Function" ``` ### 移动代码 ```bash # 选中代码 Alt + ↑/↓ # 移动代码块 ``` --- ## Git 集成 ### Git 操作 ```bash # 打开源代码管理 Ctrl + Shift + G # 打开 Git 面板 # 常用操作 # - 查看更改 # - 暂存文件 # - 提交更改 # - 推送/拉取 ``` ### 查看 Git 历史 ```bash # 查看文件历史 # 右键文件 -> "Open Timeline" # 或使用命令 Ctrl + Shift + P -> "Git: View File History" ``` ### 分支管理 ```bash # 切换分支 Ctrl + Shift + P -> "Git: Checkout to..." # 创建分支 Ctrl + Shift + P -> "Git: Create Branch..." ``` ### 解决冲突 ```bash # 合并冲突时 # Cursor 会高亮冲突区域 # 使用 "Accept Current Change" / "Accept Incoming Change" 等选项 ``` --- ## 插件与扩展 ### 推荐插件 ```bash # 代码格式化 - Prettier - ESLint - Black (Python) # 主题 - One Dark Pro - Material Theme - Dracula Official # 实用工具 - GitLens - Error Lens - Bracket Pair Colorizer - Path Intellisense - Auto Rename Tag ``` ### 安装插件 ```bash # 打开扩展面板 Ctrl + Shift + X # 打开扩展面板 # 搜索并安装插件 ``` ### 插件配置 ```bash # 打开设置 Ctrl + , # 打开设置 # 搜索插件名称进行配置 ``` --- ## 性能优化 ### 禁用不必要的功能 ```bash # 在设置中禁用 # - 文件监听(如果项目很大) # - 某些语言服务器 # - 不必要的扩展 ``` ### 排除文件/文件夹 ```bash # 在 .cursorignore 或 .gitignore 中 node_modules/ dist/ build/ *.log ``` ### 限制 AI 上下文 ```bash # 在设置中调整 # - AI 上下文窗口大小 # - 自动补全延迟 # - 最大文件大小 ``` ### 清理缓存 ```bash # 清理 Cursor 缓存 # Windows %APPDATA%\Cursor\Cache # Mac ~/Library/Application Support/Cursor/Cache # Linux ~/.config/Cursor/Cache ``` ### 重启 Cursor Server ```bash # 如果 Cursor 变慢,可以重启服务 # Linux/Mac pkill -f "cursor-server" # 或者使用命令面板 Ctrl + Shift + P -> "Developer: Reload Window" ``` --- ## 常见问题解决 ### Cursor 无响应 ```bash # 1. 重启 Cursor # 2. 清理缓存 # 3. 检查系统资源 # 4. 禁用不必要的扩展 ``` ### AI 功能不工作 ```bash # 1. 检查网络连接 # 2. 检查 API 密钥设置 # 3. 查看 Cursor 状态栏的错误信息 # 4. 重启 Cursor ``` ### 代码补全不显示 ```bash # 1. 检查语言服务器是否运行 # 2. 检查文件类型是否正确识别 # 3. 重启语言服务器 Ctrl + Shift + P -> "Developer: Restart Extension Host" ``` ### 快捷键冲突 ```bash # 1. 检查系统快捷键设置 # 2. 在 Cursor 设置中自定义快捷键 Ctrl + K Ctrl + S # 打开快捷键设置 ``` ### 文件无法保存 ```bash # 1. 检查文件权限 # 2. 检查磁盘空间 # 3. 检查文件是否被其他程序占用 ``` ### 中文输入问题 ```bash # 1. 检查输入法设置 # 2. 在设置中启用 "Editor: Accept Suggestion On Commit Character" # 3. 调整输入法快捷键 ``` --- ## 高级技巧 ### 自定义代码片段 ```bash # 打开代码片段设置 Ctrl + Shift + P -> "Preferences: Configure User Snippets" # 示例:创建 React 组件片段 { "React Component": { "prefix": "rfc", "body": [ "import React from 'react';", "", "const ${1:ComponentName} = () => {", " return (", "
", " $0", "
", " );", "};", "", "export default ${1:ComponentName};" ], "description": "Create a React functional component" } } ``` ### 工作区设置 ```bash # 项目特定设置 # 在项目根目录创建 .vscode/settings.json { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode", "files.exclude": { "**/.git": true, "**/node_modules": true } } ``` ### 任务配置 ```bash # 在 .vscode/tasks.json 中配置任务 { "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "npm run build", "group": "build" } ] } # 运行任务 Ctrl + Shift + P -> "Tasks: Run Task" ``` ### 调试配置 ```bash # 在 .vscode/launch.json 中配置调试 { "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Launch Program", "program": "${workspaceFolder}/index.js" } ] } ``` ### 使用命令面板 ```bash # 常用命令 Ctrl + Shift + P # 打开命令面板 # 常用命令列表: # - "Format Document" 格式化文档 # - "Organize Imports" 整理导入 # - "Go to Symbol" 跳转到符号 # - "Change All Occurrences" 更改所有出现 # - "Rename Symbol" 重命名符号 ``` ### AI 提示词技巧 ```bash # 在 Chat 中使用更好的提示词 # ❌ 不好的提示 "修复这个bug" # ✅ 好的提示 "这个函数在处理空数组时会抛出错误,请添加空值检查并返回默认值" # 使用 @ 引用 @文件名 # 引用特定文件 @代码库 # 引用整个代码库 @文档 # 引用文档 # 使用特殊命令 /explain @file.js # 解释文件 /refactor @function # 重构函数 /test @component # 生成测试 ``` ### 代码审查技巧 ```bash # 使用 AI 进行代码审查 # 1. 选中代码 # 2. 在 Chat 中输入: "请审查这段代码,检查是否有bug、性能问题或可以改进的地方" # 使用 Composer 进行大规模审查 # 1. 打开 Composer # 2. 选择多个文件 # 3. 要求 AI 进行整体审查 ``` ### 批量操作 ```bash # 使用多光标进行批量操作 # 1. 选中第一个位置 # 2. Ctrl + D 选择下一个 # 3. 继续选择所有需要的位置 # 4. 同时编辑 # 使用查找替换 Ctrl + H # 打开替换 # 启用正则表达式 # 进行批量替换 ``` ### 代码生成模板 ```bash # 使用 AI 生成代码模板 # 在 Chat 中: "生成一个 React 函数组件,包含以下功能: - 使用 TypeScript - 包含 props 类型定义 - 使用 useState 管理状态 - 包含错误处理" ``` --- ## 实用配置示例 ### settings.json 推荐配置 ```json { // 编辑器设置 "editor.fontSize": 14, "editor.lineHeight": 1.6, "editor.tabSize": 2, "editor.insertSpaces": true, "editor.formatOnSave": true, "editor.formatOnPaste": true, "editor.codeActionsOnSave": { "source.fixAll": true, "source.organizeImports": true }, // 文件设置 "files.autoSave": "afterDelay", "files.autoSaveDelay": 1000, "files.exclude": { "**/.git": true, "**/node_modules": true, "**/dist": true, "**/build": true }, // AI 设置 "cursor.ai.enabled": true, "cursor.ai.autoComplete": true, // 搜索设置 "search.exclude": { "**/node_modules": true, "**/dist": true, "**/build": true } } ``` --- ## 学习资源 ### 官方资源 - [Cursor 官网](https://cursor.com) - [Cursor 文档](https://docs.cursor.com) - [Cursor 博客](https://cursor.com/blog) ### 社区资源 - [Cursor Discord](https://discord.gg/cursor) - [GitHub Discussions](https://github.com/getcursor/cursor/discussions) - [Reddit r/cursor](https://reddit.com/r/cursor) ### 视频教程 - YouTube 搜索 "Cursor AI tutorial" - 官方 YouTube 频道 --- ## 最佳实践 ### 1. 合理使用 AI - 不要过度依赖 AI,理解生成的代码 - 使用 AI 加速开发,但保持代码质量 - 定期审查 AI 生成的代码 ### 2. 保持代码整洁 - 使用格式化工具 - 及时清理未使用的代码 - 保持一致的代码风格 ### 3. 利用快捷键 - 学习常用快捷键,提高效率 - 自定义适合自己工作流的快捷键 - 定期复习快捷键 ### 4. 组织项目结构 - 使用工作区设置 - 配置合理的文件排除规则 - 保持项目结构清晰 ### 5. 版本控制 - 充分利用 Git 集成 - 定期提交代码 - 使用有意义的提交信息 --- ## 总结 Cursor 是一个强大的 AI 辅助代码编辑器,掌握这些技巧可以大大提高开发效率: 1. **基础操作**:多光标、快速导航、代码折叠 2. **AI 功能**:Chat、Composer、内联编辑 3. **代码编辑**:智能重命名、代码重构、批量操作 4. **调试技巧**:断点、日志、调试面板 5. **性能优化**:合理配置、清理缓存、排除文件 持续学习和实践这些技巧,让 Cursor 成为你开发路上的得力助手! --- *最后更新:2024年*