Chat
一、概念速览(只看思路、不看细节)
概念 |
简介 |
Chat(原 Composer) |
Cursor IDE 侧边栏里的 AI 助手;可对话、改代码、跑命令,无需来回切窗口。 |
四种模式 |
Agent(全自动改代码)/Ask(只读答疑)/Manual(精准手动编辑)/Custom(自定义工具组合)。切换快捷键 ⌘ .。 |
@‑引用 |
在输入框打 @ 选择文件、代码片段或第三方文档,精确补充上下文。 |
Rules |
把团队规范或个人偏好写成持久"规则";项目级放 .cursor/rules,用户级在设置里全局生效。 |
Checkpoints |
每次请求自动打快照,可随时回滚到任意历史状态。 |
二、操作速查(What → Why → How)
操作/快捷键 |
用来做什么 |
意义/背景 |
如何使用 |
打开 Chat⌘ L / Ctrl L |
呼出侧边栏聊天面板 |
开始与 AI 对话 |
在任意文件界面敲快捷键即可;光标自动定位到输入框。 |
新建聊天标签⌘ T / Ctrl T |
并行多任务 |
多个对话可同时运行,避免上下文干扰 |
按快捷键→顶部出现新 Tab;不同 Tab 互不锁文件。 |
切换/选择模式⌘ . / Ctrl . |
在 Agent / Ask / Manual / Custom 间切换 |
针对场景选最合适的工具组合 |
快捷键呼出 Mode Picker → 方向键选择。 |
Review |
预览 AI 生成的 diff |
防止误改;可逐行查看 |
请求结束后点击Review changes按钮。 |
Apply(Ask 模式) |
把 diff 真正写入文件 |
Ask 默认"只读",需手动确认 |
在 diff 视图点Apply。 |
Accept / Reject |
最终确认或撤销变更 |
保持代码库干净 |
代码写入后,顶栏会出现*✓ / ⟲*按钮供选择。 |
Restore Checkpoint |
回滚到某次请求前 |
快速撤销一连串修改 |
在聊天历史气泡左侧*+或输入框里的Restore Checkpoint*。 |
Model Picker |
指定或锁定使用的 LLM |
控费/控质量 |
聊天窗口底部选择模型;若保持Auto‑select即自动选最佳高级模型。 |
Show Chat History |
查看旧对话 & Token/费用 |
成本可见 |
在命令面板运行 "Show Chat History" 或点History图标。 |
声音通知 |
任务完成时响铃 |
长任务免去盯屏 |
Settings → Features → Chat →Play sound on finish(Beta)。 |
创建/管理 Rules |
持久化工作流约束 |
让 AI 遵守风格/流程 |
Cmd Shift P → New Cursor Rule 或设置面板 > Rules;文件存 .cursor/rules。 |
使用顺序推荐
- 打开 Chat (⌘ L) → 选择合适模式 (⌘ .)
- 描述需求
- Review → Apply → Accept(如需)
- 若不满意:Restore Checkpoint 回滚
一、概念速览
概念 |
简介 |
工具五大类 |
Search / Edit / Run / MCP Servers / Advanced Options 共 5 类,用于搜索、修改、运行、集成外部服务及自动化配置。 |
调用次数上限 |
每个 Chat 会话最多可自动调用 25 次工具;点Continue可继续,每次算一次请求。 |
自定义模式 |
在Custom Modes中可启用或禁用任意工具,精细控制 AI 权限。 |
二、操作速查(What → Why → How)
阅读技巧
1. Search 类
工具 |
用来做什么 |
意义 / 限制 |
如何使用 |
Read File |
读取文件内容 |
Max 模式最多 750 行,其余模式 250 行。 |
聊天输入 read file path/to/file.ts 或让 AI 自动调用。 |
List Directory |
查看目录树(不读文件内容) |
快速了解项目结构 |
list dir src/components |
Codebase |
语义搜索索引后的代码库 |
找相似实现 / API 例子 |
find usages of "getUserToken" |
Grep |
关键字/正则全文检索 |
精确匹配字符串 |
grep "TODO:" |
Search Files |
按文件名模糊匹配 |
比 VS Code ⌘P 更智能 |
search files "auth*.js" |
Web |
生成并执行 Web 搜索 |
查官方文档 / 方案 |
web search "how to debounce in react" |
Fetch Rules |
拉取指定规则片段 |
让 AI 调整代码时遵守规范 |
fetch rule linting |
2. Edit 类
工具 |
用来做什么 |
意义 / 背景 |
如何使用 |
Edit & Reapply |
生成补丁并自动应用 |
自动多文件改动 |
直接描述需求→AI 会调用 |
Delete File |
删除文件 |
保持项目整洁(可在设置中禁用) |
delete file old/unused.ts |
3. Run 类
工具 |
用来做什么 |
细节 |
如何使用 |
Terminal |
执行终端命令并回显 |
默认使用首个终端配置;可通过 Terminal: Select Default Profile 改 |
在对话中说明命令,例如 run "npm test";AI 会打开终端执行。 |
4. MCP Servers
工具 |
用来做什么 |
场景 |
如何使用 |
Toggle MCP Servers |
一键开关所有 MCP 服务器 |
与数据库 / 第三方 API 交互 |
toggle mcp servers;尊重Auto‑run设置。 |
5. Advanced Options
选项 |
用来做什么 |
何时开启 |
如何配置 |
Auto‑apply Edits |
自动应用补丁 |
信任 AI 小改动时 |
模式设置 autoApply: true |
Auto‑run |
自动执行终端命令并接受编辑 |
测试驱动 / 验证修改 |
autoRun: true |
Guardrails |
定义工具允许/拒绝列表 |
防止误删 / 跑敏感脚本 |
在模式文件里设 allowTools / denyTools |
Auto‑fix Errors |
自动修复 linter 错误 |
代码风格严格项目 |
autoFix: true |
推荐实践流程
- 搜索:先用 Search 工具锁定目标文件/目录/规则。
- 编辑:用 Edit & Reapply 或 Delete File 执行改动。
- 运行验证:让 Terminal 或 Auto‑run 跑测试。
- MCP 集成:需要外部服务时再 Toggle MCP。
- 高级自动化:在 Custom Mode 中开启 Auto‑apply/Auto‑fix 提升效率。
记得监控工具调用次数,上限 25 次,点Continue
CMD+ K
一、CMD K Prompt Bar
1. 概念速览
概念 |
简介 |
Prompt Bar |
按 ⌘/Ctrl K 弹出的输入框,支持自然语言与 @ 引用,为编辑器中的 AI 生成/编辑入口。 |
Inline Generation |
未选中文本时,Prompt Bar 会根据提示在光标处生成新代码块。 |
Inline Edits |
先选中要修改的代码,再用 Prompt Bar 输入指令,AI 会就地重写。 |
Follow‑up Instructions |
生成后可继续补充指令,按Enter 让 AI 迭代。 |
Quick Question |
在 Prompt Bar 内按Option/Alt + Enter,AI 先回答问题,不直接改代码。后续可输入 “do it” 继续执行。 |
Default Context |
Cursor 自动收集相关文件、最近查看文件等上下文并按相关度排序后送给 LLM。 |
2. 操作速查
操作/快捷键 |
用来做什么 |
为什么 |
如何使用 |
呼出 Prompt Bar⌘ K / Ctrl K |
打开 AI 输入框 |
进入生成/编辑/提问模式 |
在编辑器任意位置敲快捷键。 |
生成新代码 |
在光标处插入代码 |
快速草稿或补全逻辑 |
不选中任何文本 → 输入需求 →Enter。 |
就地编辑 |
重写选中代码 |
重构 / 修 bug |
选中代码 → ⌘ K → 输入修改指令 →Enter。 |
追加指令 |
细化上一步结果 |
快速迭代 |
直接续写提示 →Enter。 |
Quick QuestionOption/Alt Enter |
仅向 AI 询问,不生成代码 |
先确认思路 / 概念 |
输入问题 → ⎇/⌥ + Enter;得到答复后可再输入 “do it”。 |
上下文引用 @ |
精准指定文件/片段/文档 |
提高回答质量 |
在 Prompt Bar 输入 @,选择目标上下文。 |
二、Terminal CMD K
1. 概念速览
概念 |
简介 |
Terminal Prompt Bar |
在内置终端中按 ⌘/Ctrl K 呼出的输入框,可用自然语言描述要执行的操作。 |
Command Generation |
Prompt Bar 将指令转成终端命令,可选择仅接受或立即执行。 |
默认上下文 |
终端最近历史 + 用户指令 + 手动输入内容都会作为生成命令的参考。 |
2. 操作速查
操作/快捷键 |
用来做什么 |
为什么 |
如何使用 |
呼出 Terminal Prompt Bar⌘ K / Ctrl K |
打开命令生成输入框 |
用自然语言替代手写命令 |
在 Cursor 终端界面敲快捷键。 |
生成并查看命令 |
AI 建议命令但不执行 |
先验证准确性 |
输入描述 →Esc 接受(命令填入终端但不跑)。 |
生成并执行命令⌘/Ctrl + Enter |
直接运行建议命令 |
提升效率 |
输入描述 → ⌘/Ctrl + Enter。 |
利用上下文 |
让 AI 参考历史命令 |
连贯操作 |
无需额外动作,终端历史自动参与上下文。 |
推荐实际用法
- 编码时:
- ⌘ K → “实现一个 debounce 函数” → 生成新代码
- 后续 ⌘ K (选中函数)→ “重命名参数并添加类型注解”
- 终端操作:
- 在终端 ⌘ K → “启动本地 PostgreSQL 并查看日志” → 生成命令 → ⌘ Enter 运行
- 出现错误时按 ⌘ K → “解决端口占用并重试”
这样即可在 编辑区和终端 都用一键 Prompt Bar 获取 AI 助手,提升开发速度。
快捷键
General
Shortcut |
Action |
Cmd + I (⌘I) |
Toggle Sidepanel (unless binded to mode) |
Cmd + L (⌘L) |
Toggle Sidepan (unless binded to mode) |
Cmd + . (⌘.) |
Open Mode Menu |
Cmd + / (⌘/) |
Loop between AI models |
Cmd + Shift + J (⌘⇧J) |
Open Cursor settings |
Cmd + , (⌘,) |
Open General settings |
Cmd + Shift + P (⌘⇧P) |
Open command palette |
Chat
These shortcuts work while focused on the chat input box.
Shortcut |
Action |
Enter |
Submit |
Cmd + Shift + Backspace (⌘⇧⌫) |
Cancel generation |
Cmd + L (⌘L) with code selected |
Add selected code as context |
Cmd + Shift + L (⌘⇧L) with code selected |
Add selected code as context |
Cmd + Enter (⌘⏎) |
Accept all changes |
Cmd + Backspace (⌘⌫) |
Reject all changes |
Tab |
Cycle to next message |
Shift + Tab (⇧⇥) |
Cycle to previous message |
Cmd + Alt + / (⌘⌥/) |
Open model toggle |
Cmd + N (⌘N) / Cmd + R (⌘R) |
Create new chat |
Cmd + Shift + K (⌘⇧K) |
Open composer as bar |
Cmd + [ (⌘[) |
Open previous chat |
Cmd + ] (⌘]) |
Open next chat |
Cmd + W (⌘W) |
Close chat |
Esc |
Unfocus the field |
Cmd+K
Shortcut |
Action |
Cmd + K |
Open |
Cmd + Shift + K |
Toggle input focus |
Enter |
Submit |
Cmd + Shift + Backspace (⌘⇧⌫) |
Cancel |
Option + Enter |
Ask quick question |
Code Selection & Context
Shortcut |
Action |
@ |
@-symbols |
# |
Files |
/ |
Shortcut Commands |
Cmd + Shift + L |
Add selection to Chat |
Cmd + Shift + K |
Add selection to Edit |
Cmd + L |
Add selection to new chat |
Cmd + M |
Toggle file reading strategies |
Cmd + → |
Accept next word of suggestion |
Cmd + Enter |
Search codebase in chat |
Select code, Cmd + C, Cmd + V |
Add copied reference code as context |
Select code, Cmd + C, Cmd + Shift + V |
Add copied code as text context |
Tab
Shortcut |
Action |
Tab |
Accept suggestion |
Cmd + → |
Accept next word |
Terminal
Shortcut |
Action |
Cmd + K |
Open terminal prompt bar |
Cmd + Enter |
Run generated command |
Esc |
Accept command |
NotePads
如果没有显示NotePads区域,把菜单全部收起,右键空白地方,显示
一、概念速览
概念 |
简介 |
Notepads |
位于侧边栏的"可复用上下文笔记本"。它比 .cursorrules 更灵活,可存放规则、模板、架构说明、附件等,供 Composer 与 Chat 共用。 |
@Notepads |
在输入框输入 @ 后选择Notepads条目,即可把整个笔记作为上下文插入对话或 Cmd K。 |
附件支持 |
Notepads 允许挂接文件(如 YAML、Markdown、图片),方便将外部规范一并传给 LLM。 |
二、操作速查(What → Why → How)
操作 |
用来做什么 |
为什么 |
如何使用 |
创建 Notepad |
新建可复用上下文 |
把规则/模板集中管理 |
侧边栏Notepads区点击**"+"**→ 输入名称 → 填写内容与附件。 |
引用 Notepad |
把笔记内容注入对话或 Cmd K |
提升回答一致性,减少重复输入 |
在输入框键入 @,选择目标 Notepad;也可输入 @notepad-name 快速补全。 |
编辑/更新 |
调整笔记内容 |
规则变更或新增模板 |
在侧边栏双击 Notepad 打开编辑,保存后即时生效。 |
添加附件 |
上传规范文件 / 示例 |
让 AI 读取原始文档 |
在 Notepad 编辑界面拖拽或使用Attach按钮选文件。 |
删除 Notepad |
清理无用笔记 |
避免上下文混乱 |
右键 Notepad →Delete;不可逆操作请谨慎。 |
使用建议
- 将 项目架构、接口规范、代码模板 等长期有效内容放入 Notepads。
- 临时备忘或敏感信息不要写在 Notepads。
三、典型场景
- 动态脚手架:保存常用文件/目录模板,创建新功能时一句 @Frontend Scaffold 即可生成骨架。
- 团队开发规范:把代码风格、Commit 规范写进 Notepad,让新人快速对齐。
- 系统架构文档:集中维护微服务、数据模型、API 设计,随时 @Architecture Notes 引用。
四、Notepad 示例代码
下面是一份面向 Web API 项目 的 Notepad 模板,可直接贴到 Cursor 的 Notepad 编辑器中使用:
# API Development Guidelines
## Endpoint Structure
- Use RESTful conventions
- Base URL: `/api/v1`
- Resource naming in plural form
## Authentication
- JWT-based authentication
- Token format: Bearer {token}
- Refresh token mechanism required
## Response Format
{
"status": "success|error",
"data": {},
"message": "Optional message"
}
## Attached References
@api-specs.yaml
@auth-flow.md
Rules
一、概念速览
概念 |
简介 |
Rules |
为 Agent 与 Cmd K 提供持久、可复用的系统级指令,用来固化偏好、工作流或项目规范。 |
三种作用域 |
Project Rules(放 .cursor/rules,随代码库版本管理)User Rules(全局生效,设置中编写).cursorrules(旧格式,已弃用)。 |
四种 Rule 类型 |
Always(始终注入) / Auto Attached(按 glob 匹配文件时注入) / Agent Requested(AI 决定是否使用,需要描述) / Manual(必须 @引用)。 |
MDC 格式 |
规则文件采用MDC(Markdown + Front‑matter)语法,可在元数据区声明描述、glob、alwaysApply 等字段。 |
二、操作速查(What → Why → How)
操作 |
用来做什么 |
为什么 |
如何使用 |
新建 Project Rule |
在项目内创建规则文件 |
编码团队/项目专属规范 |
Cmd Shift P → New Cursor Rule → 自动生成 .cursor/rules/my-rule.mdc。 |
编辑/维护 Rule |
更新内容、glob、类型 |
规则迭代 |
直接在编辑器改 .mdc 文件;保存即生效。 |
在对话中引用 Rule |
手动触发 Manual 类型规则 |
精准控制上下文 |
输入 @rule-file-name;或在 @ 菜单选择。 |
生成 Rule |
把一段对话转存为规则 |
复用已有结论 |
对话里输入 /Generate Cursor Rules,按提示生成。 |
查看/管理 User Rules |
设置个人偏好 |
每个项目都生效 |
Cursor Settings → Rules 中编写纯文本。 |
排查未生效问题 |
Rule 未触发 |
类型/glob 不匹配 |
检查元数据:Agent Requested 必须写 description;Auto Attached 要确保路径匹配。 |
最佳实践
- 聚焦单一主题,<500 行为佳;大块内容拆分多条 Rule。
- 提供示例或 @file.ts 引用,让 AI 有可执行上下文。
- 重复用到的提示都写成 Rule,减少手打 prompt。
三、MDC 规则示例
将以下内容保存为 .cursor/rules/api-validation.mdc:
---
description: API 验证标准
globs:
- "src/api/**"
alwaysApply: false # Manual 规则;需手动 @api-validation
---
## API 验证规范
1. **统一使用 zod** 定义请求与返回值。
2. 每个接口必须导出 `type ApiResponse`。
3. 对错误返回使用 `status: "error"`,并附错误码。
@error-codes.ts # 引用常用错误码枚举
使用方式
- 任何时候在 Chat / Cmd K 输入 @api-validation,该 Rule 与 error-codes.ts 会被一并注入上下文
- 若想自动触发,可改 alwaysApply: true 或改为 Agent Requested 并添加描述字段。