浅析Cursor官方文档学习要点:摘要、命令、规划、模式、工具、浏览器、Hooks、规则、代码库索引、忽略文件、MCP
Cursor 官方文档:https://cursor.com/cn/docs
summarize 摘要
1、为什么需要摘要?
想象 AI 的记忆力像一个固定大小的背包:背包只能装 10 本书(上下文窗口限制),对话越来越长 = 书越来越多,超过 10 本就装不下了。那怎么办?把旧书压缩成"读书笔记"!
2、消息摘要 -> 压缩对话历史
问题场景
对话开始:
你:"帮我写个登录功能" ← 1 本书
AI:"好的,代码如下..." ← 1 本书
你:"加上密码加密" ← 1 本书
AI:"已添加..." ← 1 本书
...(中间省略 20 轮对话)
你:"再加个验证码" ← 背包满了!💀
AI:"抱歉,我记不住之前说了什么了" 😱
Cursor 的解决方案
自动摘要:
旧对话(20 轮)→ 压缩成摘要 → 腾出空间 ✅
结果:
📦 背包内容:
- [摘要] 之前讨论了登录、密码加密、权限等 ← 1 本薄书
- [完整] 最近 5 轮对话 ← 5 本书
- 还有空间!可以继续对话 ← 4 本空位
手动触发摘要:输入 /summarize (当对话很长,感觉 AI 记不清了,可手动触发摘要:立即压缩历史对话、保留关键信息、释放上下文空间、AI 重新清醒)
3、使用技巧
(1)技巧1:定期手动摘要 ——(好习惯:每隔 20-30 轮对话 → /summarize → 保持清醒)
(2)技巧2:精确引用代码 ——(精确方式:@具体的文件 @Code [问题代码片段] 具体描述 ——> 让 AI 精准定位)
(3)技巧3:分步操作 —— (先看结构 → 再看细节 → 最后修改)探索 -> 定位 -> 精确修改
4、摘要会丢失信息吗?会的,但只丢失不重要的细节
保留的:讨论的主题、做出的决策、关键的代码逻辑
丢失的:详细的讨论过程、中间的试错、具体的代码细节
结论:重要信息不会丢
5、一句话总结:摘要功能就像给 AI 的记忆装上 "压缩包" 和 "扩展坞",让它能记住更多对话,处理更大的文件,保持长期开发对话的连贯性!
Commands 命令
见这篇:《浅析为什么要用Cursor Commands及在日常开发中如何使用的最佳实践 》
Plan 规划
1、是什么?把 AI 变成项目经理:不是直接开干,而是先做计划;把大任务拆成小任务;按顺序执行,不会乱。
2、价值:
| 场景 | 传统方式 | 使用规划功能 |
|---|---|---|
| 复杂功能 | 边想边做,容易遗漏 | 先规划,按步骤实现 |
| 多个想法 | 频繁打断 AI | 队列管理,不打断 |
| 进度追踪 | 不知道做到哪了 | 待办清单实时更新 |
| 团队协作 | 口头沟通,计划在脑子里 | 计划可视化、文档化 |
| 紧急插队 | 无法插队 | Cmd+Enter 强制推送 |
3、一句话总结:规划功能把 AI 从"码农"升级成"项目经理",先想清楚再动手,任务清单化管理,消息队列化处理,让复杂开发井井有条
Mode 模式
1、是什么?把 Agent 模式想象成工人的不同工作状态:
Agent 模式(全能干活) = 全能工人,能搬砖、设计、修理
Ask 模式(只看不动手) = 只看不动手的顾问
Plan 模式(先规划再干活) = 先做施工图纸的工程师
Debug 模式(侦探查案) = 专业修 Bug 的侦探
2、应用场景:你的需求是什么?
我只是想了解代码 —— 用 Ask 模式
我要写新功能:(1)功能比较简单 —— 用 Agent 模式;(2)功能很复杂,不确定怎么做 —— 用 Plan 模式
我要修 Bug:(1)Bug 很明确,知道在哪 —— 用 Agent 模式;(2)Bug 很诡异,不知道原因 —— 用 Debug 模式
| 你的需求 | 推荐模式 | 理由 |
|-------------------------|---------|---------------|
| "这个函数是干什么的?" | Ask | 只需要解释 |
| "给按钮加个点击效果" | Agent | 简单修改 |
| "实现一个完整的电商购物车" | Plan | 复杂功能,需要规划 |
| "登录偶尔失败,不知道为什么"| Debug | 需要日志追踪 |
| "重构整个用户模块" | Plan 或 Agent | 看复杂度决定 |
Tools 工具
1、是什么?把 Agent Tools 想象成给 AI 配备的工具箱:就像工人有扳手、锤子、电钻,AI 有搜索、编辑、运行命令等工具。你告诉 AI 要做什么,AI 自己选工具完成任务
2、AI 的工具箱(4 大类)
(1)搜索工具(找东西):读取文件、列出目录、代码库搜索、Grep 精确搜索关键词、搜索文件、网页搜索、获取规则
(2)编辑工具(改东西):编辑并重新应用、删除文件
(3)运行工具(执行命令):终端
(4)MCP 工具(外部集成):切换 MCP 服务器
(5)高级功能:自动应用修改、自动运行、安全护栏(设置白名单,只允许 AI 自动执行特定操作)、自动修复错误
(6)完整工作流程示例
你:"把登录页面的按钮改成绿色,并运行测试"
AI 自动执行:
1. 🔍 搜索工具:找到 login.vue 文件
2. 📖 读取工具:读取文件内容
3. ✏️ 编辑工具:修改按钮颜色为绿色
4. ⚡ 终端工具:运行 npm test
5. 🔧 修复工具:发现测试失败,自动修复
6. ⚡ 终端工具:重新运行测试
7. 💬 告诉你:"已完成,测试通过 ✅"
3、一句话总结:Agent Tools 是 AI 的 "手",让它能像人一样找文件、写代码、运行命令、查资料,全自动完成开发任务!
Browser 浏览器
1、是什么?Cursor 内置了一个浏览器工具,让 AI 能像真人一样浏览网页、点击按钮、填表单,帮你自动测试网站功能。
2、核心能力:AI 会用浏览器
AI 可以打开网页、点击元素、输入文字,就像你手动测试网站一样,但 AI 自动完成,适合测试你刚开发的功能是否正常
3、典型使用场景:(1)功能开发后立刻测试 - 不用手动点来点去(2)网页爬虫 - AI 自动访问页面提取数据(3)前端调试 - 查看元素、检查样式(4)端到端测试 - 模拟用户操作流程
4、一句话总结:把 AI 变成会用浏览器的测试员,自动帮你测试网页功能。
Hooks 钩子
1、是什么?把 Hooks 想象成机场安检:(1)AI 要执行某个操作前,必须先过"安检"(Hook)(2)你可以设置规则:允许通过、拒绝、或者询问你的意见(3)可以记录 AI 做了什么(审计日志)
(4)可以在 AI 完成操作后自动做额外处理(比如代码格式化)
2、主要用途:
1、安全防护
场景:防止 AI 误删数据库
Hook:拦截所有 SQL DELETE 命令,强制人工确认
2、自动格式化
场景:AI 写完代码后自动美化
Hook:文件编辑后自动运行 Prettier 格式化
3. 审计日志
场景:记录 AI 执行的所有操作
Hook:把每个命令、每次文件修改都记录到日志
4. 数据脱敏
场景:防止 AI 看到敏感信息
Hook:在 AI 读取文件前,自动隐藏密码、API Key
5. 权限控制
场景:限制 AI 只能执行特定命令
Hook:拦截 git push
3、Hook 的决策权限:allow - 直接允许(安全的操作)、deny - 直接拒绝(危险的操作)、ask - 询问(需要确认的操作)
4、核心价值
| 传统方式 | 使用 Hooks |
|---|---|
| AI 执行危险命令 → 💥 炸了 | Hook 拦截 → ✅ 安全 |
| AI 写完代码 → 手动格式化 | Hook 自动格式化 → ⚡ 高效 |
| AI 乱搞不知道 → 😱 心慌 | Hook 记录所有操作 → 📋 可追溯 |
| AI 看到密码 → 🔓 泄露 | Hook 自动脱敏 → 🔒 安全 |
5、一句话总结:Hooks 就是给 AI 加上"规矩"和"自动化处理",让它既安全又高效!
Rules 规则
规则见这几篇:
《浅析Cursor Rules了解(工作原理、四种规则类型对比、文件结构、分层设计)及如何在项目中使用的最佳实践 》
《浅析实际场景理解为什么Cursor Rules没有生效以及后续如何规避的最佳实践》
codebase-indexing 代码库索引
1、是什么?想象你有一个超级图书馆:
传统搜索(grep):按书名精确查找,"JavaScript" 只能找到书名含这个词的书
代码库索引:按内容和含义查找,你说"前端开发",它能找到 React、Vue、HTML、CSS 相关的书
2、核心功能:让 AI 能 "读懂" 你的代码,而不只是查找关键词
| 传统搜索 | 代码库索引 |
|---|---|
| "找 login.vue" | "找登录相关的所有代码" |
| 只能找文件名 | 能理解代码含义 |
| 需要精确关键词 | 用自然语言描述即可 |
| 找不到相关代码 | AI 自动发现关联 |
| 需要多次搜索 | 一次搜索全搞定 |
3、为什么需要它?
(1)传统搜索(grep)的局限
你:"找到导航栏相关代码"
传统 grep:
- 搜索 "navigation" → 找到 navigation.vue ✅
- 但漏掉了 header.tsx ❌(虽然它就是导航栏)
- 也漏掉了 TopBar.jsx ❌(也是导航)
(2)语义搜索的优势
你:"找到导航栏相关代码"
代码库索引:
✅ navigation.vue(包含 navigation)
✅ header.tsx(AI 知道 header 就是顶部导航)
✅ TopBar.jsx(AI 理解 TopBar 是导航栏)
✅ NavMenu.vue(AI 识别 NavMenu 是导航菜单)
4、工作原理(7 步流程)
用做饭来比喻
1. 采购食材 → 同步你的代码文件到服务器
2. 切菜切块 → 把代码分成函数、类等小块
3. 调味腌制 → AI 把代码转成"数学味道"(向量)
4. 放进冰箱 → 存储到向量数据库
5. 客人点菜 → 你输入搜索词
6. 配菜出菜 → 找到最匹配的代码
7. 上菜 → 展示搜索结果
技术流程详解
| 步骤 | 做什么 | 比喻 |
|---|---|---|
| 1. 文件同步 | 上传代码到服务器 | 把书搬到图书馆 |
| 2. 代码分块 | 按函数/类切分 | 把书拆成章节 |
| 3. AI 转换 | 转成向量(数学表示) | 给每个章节贴标签 |
| 4. 存储 | 保存到向量数据库 | 把书按主题分类上架 |
| 5. 查询转换 | 搜索词也转成向量 | 把你的需求翻译成图书馆语言 |
| 6. 匹配 | 找最相似的代码 | 找到最相关的书 |
| 7. 返回结果 | 按相关度排序展示 | 把书按匹配度递给你 |
5、索引自动同步
方式 1:首次打开项目
- 自动开始索引
- 进度到 80% 就能用
- 完整索引在后台继续
方式 2:每 5 分钟自动检查
- 新文件 → 自动加入索引
- 修改的文件 → 更新向量
- 删除的文件 → 从索引移除
方式 3:手动刷新
- Cursor 设置 → 代码库索引 → 重新索引
智能更新索引:
场景:你修改了 login.vue
笨方法:重新索引整个项目 → 等 10 分钟 💀
智能方法:只更新 login.vue 的向量 → 几秒搞定 ⚡
索引会过期:6 周不用就自动删除,重新打开项目会自动重建索引
6、性能优化建议:
(1)只索引源代码:如 src/
(2)避免索引:如 node_modules(100,000+ 文件)、编译后的代码(.min.js)、图片、视频等媒体文件、日志文件等
(3)排除大文件:如 node_modules/(依赖包)、dist/(编译产物)、.git/(版本控制)
(4)排除数据文件:如 *.json(大型配置)、*.csv(数据文件)、*.sql(数据库备份)
7、一句话总结:代码库索引让 AI 真正 "读懂" 你的代码,不只是查找关键词,而是理解代码的含义和关系,就像给 AI 配了一个智能图书管理员!
cursorignore 忽略文件
1、是什么?就像给 AI 设置禁入区域:
告诉 AI:这些文件/文件夹不许看、不许用
保护敏感信息(密码、密钥)
提高性能(不看无关文件)
2、排除文件的四种方法
(1).gitignore:Cursor 代码库索引会忽略
(2).cursorignore - 完全屏蔽:Cursor 代码库索引会忽略、Cursor AI 的所有功能都会忽略(包括聊天、补全等)
(3).cursorindexingignore - 灵活控制:只影响代码库索引(语义搜索时不包含)、但 AI 仍然可以通过 @ 引用访问这些文件
三者对比表:
| 文件 | Git 忽略 | 代码库索引忽略 | AI 完全不可见 | @ 引用可访问 |
|---|---|---|---|---|
| .gitignore | ✅ | ✅ | ❌ | ✅ |
| .cursorignore | ❌ | ✅ | ✅ | ❌ |
| .cursorindexingignore | ❌ | ✅ | ❌ | ✅ |
(4)全局忽略:在 Cursor 设置 → 全局忽略列表,其特点(对所有项目生效),适用于敏感文件统一保护
3、实际场景建议:
完全不想让 AI 看到 ——> .cursorignore
不自动索引,但需要时可以用 ——> .cursorindexingignore
Git 版本控制和 AI 都忽略 ——> .gitignore
敏感文件,所有项目有效避免 ——> 全局配置
4、分层忽略:子目录会继承父目录的 .cursorignore
项目结构:
root/
.cursorignore ← 忽略 .env
frontend/
.cursorignore ← 额外忽略 node_modules
backend/
.cursorignore ← 额外忽略 __pycache__
结果:
- frontend/ 会忽略:.env + node_modules
- backend/ 会忽略:.env + __pycache__
5、最佳实践 - 推荐配置组合
1. 全局忽略(Cursor 设置)
- **/.env*
- **/credentials.json
- **/*.key
2. .cursorignore(项目根目录)
- 项目特定的敏感文件
- 不想让 AI 看到的文件
3. .cursorindexingignore(可选)
- 大文件
- 临时文件
- 不常用但需要时可引用的文件
4. .gitignore(已有的)
- Cursor 会自动读取并应用
优先级
最严格 最宽松
↓ ↓
全局忽略 → .cursorignore → .cursorindexingignore → .gitignore
核心要点
✅ 做到:
- 敏感文件用 .cursorignore 完全屏蔽
- 大文件用 .cursorindexingignore 优化性能
- 全局敏感规则放到 Cursor 设置中
❌ 避免:
- 过度忽略(AI 需要足够上下文)
- 忽略重要业务代码
- 只依赖 .cursorignore 保护敏感数据(还需要其他安全措施)
6、一句话总结:.cursorignore 是给 AI 设置的 "禁入区",保护敏感信息并优化性能,但不是绝对安全屏障,还需配合其他安全措施
MCP
MCP 见这篇:《浅析MCP与Function Call知识: MCP是什么及其价值与核心要点、MCP Server的能力、MCP与Function Call 核心区别、Function Call 的作用本质》

浙公网安备 33010602011771号