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