Cursor
编辑器界面
┌────────────────────────────────────────────┐
│ 顶部菜单栏(File / 编辑 / 选择 / 查看...)│
├────────────────────────────────────────────┤
│ 左侧侧边栏(文件树 / 项目 / Git 等) │
├────────────────────────────────────────────┤
│ 中间主编辑区(代码编辑) │
├────────────────────────────────────────────┤
│ 右侧 AI 面板(Cursor 智能助手 / Chat) │
├────────────────────────────────────────────┤
│ 底部状态栏(分支 / 文件类型 / 行列信息等) │
└────────────────────────────────────────────┘
如何使用 Cursor 的 AI 功能
| 功能 | 作用 | 快捷键(默认) |
|---|---|---|
| 🧠 Inline Edit | 选中一段代码 → Ctrl + K(或右键 “Ask Cursor”)→ 输入自然语言指令(如“优化正则表达式”) |
Ctrl + K |
| 🤖 Agent 面板 | 打开一个“聊天窗口”,直接和 Cursor 对话(如“帮我写个登录验证函数”) | Ctrl + I |
| ✨ Tab 补全 | 在代码中输入时,Cursor 自动预测后续内容 | Tab |
| 🔁 重新生成建议 | 当灰色提示出现但不理想时,按 `Alt + ``(或右键 “Regenerate”) | `Alt + `` |
选择一段代码+CTRL+K
修改指定的代码,直接在代码编辑区弹出修改窗口调用大模型。CTRL+ENTER 或者鼠标点击 应用修改
CTRL+N 或者 **鼠标点击 **拒绝修改
CTRL+I

1)图中设置的Auto表示自动选择模型;
2)@ 可以添加文件、文件夹到当前对话上下文,如果你在代码编辑区选择一段代码再 CTRL+I 或者 CTRL+L,也会自动将它添加进来。还可以直接拖拽资源管理器中的文件到AI对话框中。
3)+Browser 模式可以让模型看到整个项目文件
| 任务 | 你可以直接问 Cursor |
|---|---|
| 找函数定义 | “verifyPassword 函数定义在哪个文件?” |
| 查找引用 | “verifyCode 被调用了多少次?” |
| 理解架构 | “帮我总结整个项目的模块结构。” |
| 改代码 | “把所有 JS 文件里的 var 改成 let。” |
| 生成文档 | “根据这个项目代码生成一份 README。” |
4)对话模式
Agent模式,默认的对话模式,功能最全,AI 不仅能回答,还会“主动思考、规划和执行”。可以理解为:“帮我干活”的模式。
Plan 模式,它可以浏览整个项目文件,但不会直接改代码,而是会:把你的需求拆分成多个步骤;告诉你“下一步该干什么”;有时生成一份修改计划或脚本方案。
Ask 模式:问答模式,和网页版使用大模型一样。
TAB

一般注释起手,如果出现灰色预测文字时,直接 Tab 就能接受 AI 自动补全 ,按ESC可以拒绝这个建议;否则就是普通的缩进。
触发逻辑
传统 IDE(比如 VS Code、IntelliJ) 的补全是词法或语法级触发:
- 你输入 “pri” → 提示 “print()”;
- 它只是基于关键字匹配。
而 Cursor 的补全 是“语义级”的:
AI 根据上下文 推断你下一步可能在做什么。
它会综合考虑:
- 当前光标前后的代码;
- 注释 / 函数签名;
- 文件名;
- 项目中的其他定义;
- 甚至最近你在这个 Tab 里做的事。
| 阶段 | 触发动作 | AI 响应 |
|---|---|---|
| 检测阶段 | 监听输入变化(按键、换行、注释等) | 分析上下文语义树(AST) |
| 预测阶段 | 生成“意图向量” | 模型推断用户下一步目标 |
| 展示阶段 | 在光标后显示灰色 ghost text | 等待你按 Tab 接受 |
触发时机
| 类型 | 触发条件 | 示例 | 行为 |
|---|---|---|---|
| 函数触发 | 输入 function / def | function check... |
预测参数和函数体 |
| 控制语句触发 | 输入 if / for 等 | if (phone) |
预测条件或逻辑块 |
| 注释触发 | 输入 //、#、/** | // 校验邮箱格式 |
按注释生成实现 |
| 模板触发 | class / import / try | class User |
预测类体、导入内容 |
| 上下文模仿 | 类似已有代码块 | 第二个函数定义 | 模仿风格 |
| 文件结构触发 | 同名模块、utils | utils. |
补出函数名 |
| 空行预测 | 新行、缩进后 | 空一行 | 猜测下一个合逻辑语句 |
Index&Docs
Codebase Indexing(代码索引):
-
Cursor 会扫描整个项目文件夹;
-
提取文件路径、函数定义、类名、依赖关系;
-
生成语义向量(embeddings)并存储(只保存索引,不上传源代码)。
界面说明:索引完成度100%;已被索引的文件数量为 78;
Index New Folders:
- 当你创建或添加新文件夹时,Cursor 是否自动索引它。
Ignore Files in .cursorignore:
- 告诉 Cursor 哪些文件不要被索引。类似
.gitignore
Docs(文档索引):
-
可以手动添加官方文档、API 文档、开发指南,让它当作参考知识。
-
添加一个
README.md或内部 API 规范; -
或添加外部文档(如一个 SDK 的文档网站);
-
之后在 Chat 里用
@doc引用
如何撤销修改
在AI编辑窗口提问,应用修改,点击Accept

应用完之后,若想回退版本,可以点击提问右边的回撤箭头。


整体思路(重要)
1)先打开项目,然后用browser模式,让AI对这个项目生成一个 .cursorignore 文件,自动忽略哪些文件无需添加进上下文。
2)打开设置,Index&docs,重新索引一下。
3)把项目相关的需求文档、接口文档、技术文档,全部录入到docs中,作为知识库以作备用。这与项目代码文件夹解耦的。
4)在项目根目录下创建 .cursorrules 文件,不需要 @ 引用,自动生效。
.cursorrules 就是 Cursor 的 AI 指令与代码风格规则文件,用来告诉 AI:在这个项目里写代码、命名、注释、格式化时都按照这些规则来做。是一个 系统级提示词 。
eg:
ai_behavior:
- 所有回答必须使用中文
- 代码中添加必要的注释
style:
indentation: 4 spaces
naming_convention:
variables: camelCase
AI 背后接收到的系统指令:你是一个 Java 开发助手。
遵循以下项目规则:
- 所有回答必须使用中文。
- 代码中添加必要的注释。
- 使用 4 空格缩进。
- 变量名使用 camelCase。 用户请求: 「写一个计算阶乘的 Java 函数」。