Cursor 不是”VS Code 加一个 ChatGPT 侧边栏”。它是 VS Code 的分支,把 AI 直接接进了文件操作、终端和代码库索引。真正好用的地方在那个闭环:你描述改动,模型直接改真实文件,你看 diff,再决定接受还是拒绝。这篇带你从冷启动安装,到完成并审过第一个修改,大约 30 分钟,附上每个快捷键,以及新手第一个小时最容易踩的两个坑。
一句话总结
- 三个入口:Inline edit(Cmd+K) 改单段代码,Composer(Cmd+I) 做跨文件改动,Ask/Chat(Cmd+L) 只问不改。
- Composer 里用 Shift+Tab 在 Agent / Ask / Plan 之间切换。Agent 能改文件、跑终端命令;Ask 只回答;Plan 先列步骤再动手。
- 索引跑完 ≠ 模型回答时一定用到。要用
@(指定文件)或@Codebase(全库语义搜索)显式注入上下文。 Apply前一定先看 diff。在 git 分支上干活,接错了一条git restore就能回去。- 截至 2026 年 6 月,Cursor 可跑 Claude Sonnet 4.6(性价比默认款)、Opus 4.7、GPT-5.5、Gemini 3.1 Pro,以及 Cursor 自家专攻快速多文件编辑的 Composer 2.5。
安装与第一次打开
- 从 cursor.com 下载(它是 VS Code 分支,首次启动时你原有的 VS Code 扩展和快捷键能直接导入)。
- 登录。Hobby(免费)档每月大约给 2,000 次补全和一小批慢速 agent 请求;Pro 是每月 20 美元(年付约 16 美元),自带约 20 美元的模型额度池。
- 选一个默认模型。Claude Sonnet 4.6 是日常性价比最好的选择。硬重构留给 Opus 4.7 或 GPT-5.5,日常多文件改动想要快就用 Composer 2.5。
- 打开一个已有的项目目录(
File > Open Folder)。别在空文件夹里起步——让 Cursor 看到真实代码才是重点。
三个核心操作
Inline edit——Cmd+K
光标停在某个函数里,或选中一段代码,按 Cmd+K(Mac)/ Ctrl+K(Windows/Linux),输入指令:“加 JSDoc”、“改成 TypeScript”、“抽一个辅助函数”。只改选中的这一段,接受前会给你并排 diff。这是最便宜、最可预测的动作——用它做单文件的精准小改。
Composer——Cmd+I
Cmd+I 打开 Composer,也就是跨文件的工作面板。在里面用 Shift+Tab 切换三种模式:
| 模式 | 作用 | 适用场景 |
|---|---|---|
| Agent | 读文件、跨仓库改代码、跑终端命令、自己修自己的报错 | ”在 routes/user.ts 里照着 routes/auth.ts 的结构写”、脚手架、生成测试 |
| Ask | 回答问题、给改动建议,但不动文件 | 让它真正动手前,先把一段流程搞懂 |
| Plan | 先列一份你确认后才执行的编号步骤 | 较大的改动,想在代码移动前先有个检查点 |
Agent 模式就是大家说”Cursor 帮我写的”时所指的那个自主闭环。它会自己挑文件,但每个文件你仍然能看 diff 再决定接受或拒绝。
Ask / Chat——Cmd+L
Cmd+L 在侧边栏打开只读对话。用它解释陌生代码、对比两种方案,或在动手前确认一下计划。它说的任何话,在你切到 Inline 或 Composer 之前都不会改动文件。
让 AI 真的看到你的项目
这一步新手最容易跳过,而它正是”Cursor 真神”和”Cursor 老编造不存在的函数”之间的分水岭。
Cursor 会在后台给你的仓库建语义索引。进度可以在 Cursor Settings → Features → Codebase Indexing 里看,那里也会显示已索引的文件数。但索引跑完,不代表某一次回答真的用到了它。 上下文要显式注入:
- 已经知道相关代码在哪,就输入
@选具体文件或文件夹。 - 不知道在哪,就输入
@Codebase,让它在整个仓库做语义搜索。一个好习惯:先@Codebase发现位置,定位后再换成精确的@。
索引任何大项目之前,先加一个 .cursorignore 文件(语法和 .gitignore 一样),把 node_modules/、dist/、build/、.next/ 以及大数据文件排除掉。不加的话,Cursor 会索引几万个依赖文件,然后开始引用根本不是你写的代码。如果加了之后已索引文件数还在 1,000 以上,就继续收紧 ignore 列表。
如果索引是真的卡在「Indexing…」好几个小时,而不只是慢,那是另一种故障——先看索引一直跑不完再盲目重试。
Apply 和回滚
模型给出改动后,你会看到 diff。可以逐个文件 Apply,也可以 Apply All。两条能救新手的规则:
- 先读 diff。 别在不熟的项目里一口气
Apply All几十个文件。Composer 可能会重命名、删除、移动你没让它碰的东西。 - 待在分支上。 开始 Composer 任务前先把
git status弄干净,然后在 feature 分支上干活。这样接错了离干净状态就只差一条命令:已提交的用git restore <file>或git checkout <file>,未暂存的 Inline 改动用Cmd+Z。
如果 Cursor 里看到的文件和磁盘上对不上——Apply 之后没把你刚手动改的算进去——说明它的内存状态漂了。别硬刚,开个新窗口重新加载就好,参考IDE 状态不同步。
适合 / 不适合
| 适合 | 不太适合 |
|---|---|
| 重构或重命名一个函数 | 大跨度架构决策 |
| 搭建相似的新文件 | 几小时的长链路调试(更适合 Claude Code 的 agent 闭环) |
| 给已有代码写测试 | 一次性堆很多可逆多步操作(git 历史会乱) |
| 解释陌生代码 | 任何你没法逐 diff 审查的东西 |
Cursor 这种绑在编辑器里的闭环到哪儿截止、终端型 agent 从哪儿接手,可以看Claude Code vs Cursor。
头 30 分钟,具体怎么走
拿一个真实项目跑,别用玩具示例:
- 0–5 分钟: 安装、登录、把 Sonnet 4.6 设为默认、打开一个真实文件夹。
- 5–10 分钟: 加
.cursorignore,再让它建索引。在 Settings → Features → Codebase Indexing 里确认文件数合理(几百,而不是几万)。 - 10–15 分钟: 用 Cmd+L 问”带我过一遍
[某个文件]是怎么被用到的”,并用@引用它。这一步测的是上下文注入,先不改代码。 - 15–25 分钟: 挑一个真实的小改动——加个测试、跨文件改个变量名、给一个模块补类型。单段用 Cmd+K,凡是动到多于一个文件的,先在 Plan 模式下用 Cmd+I。
- 25–30 分钟: 每个 diff 都读。对的接受,其余拒绝,再
git diff确认现实和编辑器一致。这个审查习惯才是真正要练的本事。
FAQ
Q:Inline(Cmd+K)、Composer、Chat 三者怎么选? A:只改一段就用 Inline(Cmd+K)——加注释、单个重构、类型转换。跨多个文件、想在一处统一审 diff 就用 Composer(Cmd+I);有风险的先切到 Plan 模式。暂时不想动代码、只是要问就用 Ask(Cmd+L)。选错了就是白费 token 和时间。
Q:为什么 Cursor 好像不知道项目里的其他文件?
A:要么索引没跑完,要么你压根没注入上下文。Cursor 不会每次回答都默默读整个仓库。用 @ 点名文件,或用 @Codebase 搜全库,并在 Settings → Features → Codebase Indexing 里看已索引文件数。
Q:第一次索引要多久,怎么让它快?
A:通常 30 秒到几分钟,取决于仓库大小。索引前先加 .cursorignore,把 node_modules、构建产物、大数据文件排除掉。如果已索引文件数还在 1,000 以上,说明 ignore 列表太松。
Q:不喜欢某个 AI 改动怎么回滚?
A:按 Apply 之前先拒绝 diff。已经 Apply 了就用 git——已提交文件用 git restore <file> 或 git checkout <file>,未暂存的 Inline 改动用 Cmd+Z。永远从干净的 git status 和 feature 分支起步,接错了也能轻松撤。
Q:2026 年默认模型选哪个? A:日常编辑 Claude Sonnet 4.6 性价比最好。硬重构往上切 Opus 4.7 或 GPT-5.5,长上下文阅读用 Gemini 3.1 Pro,日常多文件改动想要快就用 Cursor 的 Composer 2.5。
Q:免费的 Hobby 档够学吗? A:评估阶段够用。Hobby 每月大约给 2,000 次补全和一小批慢速 agent 请求——跑完这整套 30 分钟流程没问题。重度日用很快就到墙;Pro 每月 20 美元(年付约 16 美元)多了约 20 美元的模型额度池和更快的 agent 请求。