# 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 (", "