Cursor编辑器进阶使用技巧 (v0.50.5+)
目录
核心功能
Agent模式
Agent模式是Cursor中最强大的功能之一,它可以自主完成复杂任务,包括编写代码、修复错误、运行命令等。
特点:
- 自主选择上下文:Agent能够智能识别并选择相关的上下文内容,使代码理解和任务执行更精准
- 终端操作能力:可以直接在终端中执行命令,简化复杂的命令行操作
- 独立完成任务:能够独立完成复杂的工作流程,无需过多人工干预
- 推理能力:具备强大的推理能力,可以连续执行多个操作
- 自动修复错误:能够检测并自动修复代码中的语法错误和lint错误
使用方法:
- 在聊天界面选择Agent模式
- 输入明确的任务描述
- Agent会自动分析任务、查找相关代码、执行必要操作
- 对于需要执行的终端命令,可以选择确认、编辑或跳过
进阶技巧:
- 结合Yolo模式让Agent自动执行终端命令 (无须人工审批)
- 使用规则系统指导Agent的行为
- 让Agent查看你的最近更改以获取更好的上下文
- 使用
@
符号手动添加额外上下文 - 使用自定义Agent模式为特定任务创建专用工作流
Chat高级技巧
自动包含当前代码库到与 AI 对话的上下文中,这里介绍一些高级用法:
上下文控制:
- 使用
@Web
获取互联网上的最新信息 - 使用
@Docs
引用文档(包括自定义文档,可基于特定的文档对话) - 使用
@Git
引用Git提交、差异或PR - 使用
@Files
引用整个文件 - 使用
@Folders
引用整个文件夹 - 使用
@Code
引用代码的特定部分 - 使用
@Linter Errors
引用代码中的lint错误 - 使用
@Recent Changes
引用最近的代码更改 - 使用
@Cursor Rules
引用Cursor规则 - 使用
@Notepads
引用笔记内容 - 使用
@Past Chats
引用过去的对话
图片支持:
- 可以将图片拖拽到聊天中作为视觉上下文
- 上传UI设计图,让AI生成对应的代码
- 使用图片按钮上传截图或其他图像
- 支持分析错误截图和图表
聊天标签:
- 使用
⌘+T/Ctrl+T
创建新的聊天标签,同时处理多个对话 - 在标签之间切换,保持多个上下文会话
- 为不同项目或任务创建专用聊天标签
Tab自动补全
Tab是Cursor中比传统代码补全更强大的功能,由定制模型驱动,能理解你的代码上下文并提供智能建议:
主要功能:
- 多行编辑:一次性提供多个编辑建议,大幅提高编码效率
- 光标预测:预测你的下一个光标位置,实现无缝代码导航
- 错误纠正:自动纠正代码编写错误,提高代码质量
- 智能重写:即使输入不完整或有错误,也能理解意图并提供正确代码
- 上下文感知:考虑你最近的更改和周围代码,提供更相关的建议
进阶使用:
- 使用连续Tab跳转到预测的下一个编辑位置
- 结合规则系统定制Tab补全行为
- 在设置中调整Tab补全的触发时机和行为
- 使用Tab补全处理重复性代码模式
- 利用Tab补全自动完成常见编码模式(如循环、条件语句等)
Inline-Edit
Inline Edit (⌘+K/Ctrl+k) 允许你在编辑器窗口中快速生成或编辑代码,无需切换到聊天界面:
使用场景:
- 生成新代码:在没有选中任何代码时使用,根据描述生成代码
- 修改现有代码:选中代码后使用,根据指令修改所选代码
- 终端命令生成:在终端中使用⌘K生成命令
进阶技巧:
- 使用@符号引用其他上下文,增强编辑的准确性
- 通过多次迭代细化提示,逐步完善生成的代码
- 使用
⌘L
将当前编辑任务发送到Agent继续处理 - 使用具体明确的指令获得更精准的结果
- 在终端中使用⌘K生成复杂命令序列
- 使用"Quick Question"功能快速获取代码相关问题的答案
快捷键组合:
⌘K
:打开Inline Edit⌘L
:将任务发送到AgentEscape
:取消当前编辑
最佳实践:
- 提供清晰具体的指令
- 指定所需的编程语言和风格
- 对于复杂任务,先在小范围测试后再应用到大型代码
- 使用@符号引用相关文件或文档作为上下文
高级特性
规则系统
Cursor规则系统允许你控制AI的行为,可以理解为大语言模型的指令或系统提示词。规则系统是提升AI响应质量和一致性的关键工具:
规则类型:
- Always:始终包含在模型上下文中,应用于每个聊天和命令
markdown
---
alwaysApply: true
---
# 编码规范
- 使用UTF-8编码
- 缩进使用2个空格,不使用Tab
- 每行代码长度不超过100个字符
- 文件末尾保留一个空行
- 变量命名使用有意义的名称,避免单字母变量(除了循环索引)
- 所有函数必须有注释说明功能和参数
- Auto Attached:基于glob模式匹配特定文件类型
markdown
---
globs: src/**/*.js,src/**/*.jsx
---
# JavaScript/React开发规则
## 代码风格
- 使用ES6+语法
- 优先使用const,其次let,避免使用var
- 使用箭头函数表达简短函数
- 使用解构赋值获取对象属性
- 使用 TypeScript
- Agent Requested:基于描述字段,AI根据需要选择应用
markdown
---
description: USE WHEN implementing API endpoints or backend services
---
# 后端开发规则
## API设计
- 遵循RESTful设计原则
- 使用复数名词表示资源集合
- 使用HTTP方法表示操作(GET、POST、PUT、DELETE)
- 返回适当的HTTP状态码
## 错误处理
- 所有异常必须被捕获并处理
- 返回统一的错误响应格式
- 包含错误代码和描述信息
- 生产环境不暴露敏感的错误详情
## 安全性
- 验证所有用户输入
- 实现适当的授权和认证
- 防止SQL注入和XSS攻击
- 敏感数据加密存储
- Manual:需要手动引用才会加载 (通过
@Cursor Rules
)
markdown
---
description: 数据库操作规范
---
# 数据库操作规范
## 查询优化
- 只查询需要的字段,避免SELECT *
- 为频繁查询的字段创建索引
- 使用参数化查询防止SQL注入
- 大型查询分页处理
## 事务处理
- 保持事务简短
- 避免长时间锁定表
- 使用适当的隔离级别
- 正确处理事务回滚
## 连接管理
- 使用连接池管理数据库连接
- 操作完成后及时释放连接
- 设置合理的超时时间
- 实现重试机制处理临时连接失败
规则文件存储位置:
- 项目规则:存储在
.cursor/rules
目录中的.mdc
文件 - 全局规则:在Cursor设置中配置的Rules for AI
旧版规则:.cursorrules
文件(已弃用)
规则文件格式:
规则文件使用Markdown格式(.mdc),包含前置元数据和主体内容:
markdown
---
description: USE WHEN writing React components
globs: src/**/*.tsx,src/**/*.jsx
alwaysApply: false
---
规则激活机制:
规则激活分为两个阶段:
- 注入阶段:规则被注入到系统提示上下文中
alwaysApply: true
:无条件注入规则globs
:基于文件匹配模式注入规则
- 激活阶段:规则是否生效取决于
description
字段- AI会评估上下文决定是否应用规则
创建有效规则的建议:
- 使用一致的"USE WHEN"前缀明确触发条件
- 使用明确的动作条件
- 避免同时使用globs和description
- 保持规则简洁明确
- 使用分层结构组织复杂规则
- 为不同类型的任务创建专门的规则
自动生成规则:
- 使用
/Generate Cursor Rules
命令从现有对话中生成规则 - 对于带有路径模式的
Auto Attached
规则,Agent会在读取或写入文件时自动应用相应规则
规则管理:
- 在设置中查看和管理全局规则
- 使用版本控制系统管理项目规则
- 通过
@Cursor Rules
在聊天中引用特定规则 - 使用规则组合解决复杂场景
MCP工具集成
MCP(Model Context Protocol)是一个开放协议,允许你向Cursor中的AI Agent提供自定义工具和额外的上下文信息,大幅扩展AI的能力范围:
主要功能:
- 允许Agent使用外部工具和API
- 支持自定义工具的开发和集成
- 可以执行复杂的任务序列
- 实现与外部服务和数据源的交互
设置步骤:
- 在Cursor设置中添加MCP服务器
- 配置传输类型和运行命令
- 在Agent模式中启用相应的工具
- 设置必要的环境变量和身份验证
MCP服务器配置示例:
json
{
"mcpServers": {
"everything": {
"url": "http://localhost:3001/sse"
},
"everything-stdio": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-everything"]
}
}
}