深入掌握 Cursor 的高级功能,提升开发效率
Composer 是 Cursor 2.0 引入的强大功能,允许你在单个提示下同时编辑多个文件,实现项目级别的代码生成和修改。
Cmd/Ctrl + LCmd/Ctrl + Shift + P → “Composer”在 Composer 中输入:
"创建一个用户认证系统,包含注册、登录、密码重置功能"
Composer 会:
1. 分析项目结构
2. 创建必要的文件
3. 实现完整功能
4. 显示所有更改预览
使用 Composer 重构整个模块:
"重构用户模块:
- 将认证逻辑分离到 auth 服务
- 将数据访问逻辑分离到 repository
- 更新所有相关文件
- 保持 API 接口不变"
"在现有项目中添加评论功能:
- 创建评论模型
- 添加评论 API 路由
- 更新前端组件
- 添加评论列表和表单"
"修复这个 bug:用户删除后,相关订单没有处理
- 检查所有相关文件
- 添加级联删除逻辑
- 更新测试"
Multi-Agents 是 Cursor 2.0 的功能,允许在单个提示下同时运行多个 AI 代理,每个代理在独立的代码库副本中工作。
"重构整个项目,使用以下代理:
- 代理 1:重构数据模型
- 代理 2:重构 API 路由
- 代理 3:重构前端组件
- 代理 4:更新测试
并行执行,避免冲突"
"同时开发多个功能模块:
- 代理 1:用户认证模块
- 代理 2:商品管理模块
- 代理 3:订单处理模块
每个代理独立工作"
"使用多个代理审查代码:
- 代理 1:审查安全性
- 代理 2:审查性能
- 代理 3:审查代码质量
- 代理 4:审查测试覆盖
并行审查,提高效率"
Cursor 可以索引整个代码库,让你用自然语言查询代码。
Cmd/Ctrl + ,在 AI 对话中(Cmd/Ctrl + I):
"查找所有使用 JWT 认证的地方"
"显示用户模型的定义"
"找到处理文件上传的函数"
"查找所有包含 'TODO' 或 'FIXME' 的代码"
"找到所有未使用的导入"
"显示所有 API 路由的定义"
"这个函数被哪些地方调用?"
"这个类有哪些子类?"
"这个模块依赖哪些其他模块?"
"分析这个项目的架构"
"找出性能瓶颈"
"检查安全漏洞"
创建 .cursorrules 文件来定义项目特定的规则:
# 项目代码规范
- 使用 TypeScript
- 遵循 Airbnb 代码规范
- 函数不超过 50 行
- 必须包含 JSDoc 注释
# 代码风格
- 使用 2 空格缩进
- 使用单引号
- 尾随逗号
# 测试要求
- 所有函数必须有单元测试
- 测试覆盖率 > 80%
# 安全要求
- 所有用户输入必须验证
- 使用参数化查询
- 敏感信息使用环境变量
# AI 行为配置
- 生成代码时优先使用函数式编程
- 避免使用全局变量
- 优先使用 async/await 而非 Promise.then
- 错误处理使用 try-catch
# 项目上下文
这是一个电商平台项目,使用:
- 后端:Node.js + Express
- 数据库:PostgreSQL
- 前端:React + TypeScript
# 常用模式
- API 路由使用 RESTful 规范
- 数据验证使用 Joi
- 认证使用 JWT
虽然 Cursor 已经集成了 AI 功能,但以下扩展仍然有用:
在 Cursor 中:
1. 打开扩展面板:Cmd/Ctrl + Shift + X
2. 搜索扩展名称
3. 点击安装
在 Cursor 中打开终端:
- 快捷键:Cmd/Ctrl + `
- 或:View → Terminal
可以运行命令、测试代码等
使用 Cursor 的 Git 功能:
- 查看更改:Cmd/Ctrl + Shift + G
- 提交更改:直接在界面中操作
- 查看历史:GitLens 扩展
使用调试器:
1. 设置断点
2. 按 F5 开始调试
3. 查看变量、调用栈等
在设置中:
- 排除 node_modules
- 排除 .git
- 排除构建输出目录
调整 AI 补全设置:
- 减少补全延迟
- 限制补全长度
- 只在需要时触发
- 禁用不常用的扩展
- 定期更新扩展
- 检查扩展性能影响
在函数上方写注释:
// 这个函数计算订单总价,包括商品价格、税费和运费
function calculateTotal(order) {
// AI 会基于注释生成更好的代码
}
// TypeScript 或 JSDoc
/**
* @param {string} userId - 用户 ID
* @returns {Promise<User>} 用户对象
*/
async function getUser(userId) {
// AI 会理解类型,生成更好的代码
}
创建代码模板,快速生成常用代码:
在 Cursor 中创建代码片段:
1. Cmd/Ctrl + Shift + P
2. "Snippets: Configure User Snippets"
3. 定义模板
例如:
"api-route": {
"prefix": "api",
"body": [
"router.${1:method}('/${2:path}', async (req, res) => {",
" try {",
" ${3:// code}",
" res.json({ success: true, data: ${4:result} });",
" } catch (error) {",
" res.status(500).json({ error: error.message });",
" }",
"});"
]
}
使用多光标进行批量编辑:
1. Alt + Click:创建多个光标
2. Cmd/Ctrl + D:选中下一个相同文本
3. Cmd/Ctrl + Shift + L:选中所有相同文本
4. 同时编辑多个位置
创建常用代码片段库:
- API 路由模板
- 组件模板
- 测试模板
- 工具函数
在需要时快速插入
让 AI 解释代码:
"解释这段代码的工作原理"
"这个设计模式是什么?"
"如何优化这段代码?"
通过提问学习编程知识
让 AI 审查代码:
"审查这段代码,检查:
- 安全性问题
- 性能问题
- 代码质量问题
- 最佳实践"
使用 Composer 快速创建原型:
"创建一个待办事项应用的原型"
→ 快速生成基础代码
→ 测试功能
→ 迭代优化
分步骤开发:
1. 使用 AI 对话设计功能
2. 使用 Composer 生成代码
3. 使用内联编辑优化
4. 测试和调试
使用 Multi-Agents 重构:
"重构这个模块,使用多个代理并行工作"
| 功能 | 快捷键 |
|---|---|
| 打开 Composer | Cmd/Ctrl + L |
| 打开 AI 对话 | Cmd/Ctrl + I |
| 内联编辑 | Cmd/Ctrl + K |
| 代码补全 | Tab |
| 多光标 | Alt + Click |
| 命令面板 | Cmd/Ctrl + Shift + P |
掌握 Cursor 高级功能可以:
掌握高级功能,提升开发效率! 🚀