说实话,Cursor 这个名字在我耳边已经响了快两年了。
最早是 2024 年,刷 Twitter 看到有人说“用了 Cursor 再也回不去 VS Code”。然后是 2025 年,朋友圈开始有人晒“AI 自动写代码”的截图。再到今年,连我们技术群里都在讨论“氛围编程”(vibe coding)——据说描述一下需求,AI 就能把整个项目搭起来。
但我一直没动手。
原因也简单:VS Code 用得好好的,Copilot 也够用,总觉得再换编辑器是折腾。再加上 Cursor 这名字听着像某个小众工具,谁知道会不会用两天就弃坑。
直到上个月,有个同事用 Cursor 半天重构了一个我拖了两周的模块。我站在他身后看着——他就敲了几行注释,按了几下 Tab,代码自己蹦出来了。那个瞬间我意识到:不是我够用,是我不知道什么是“更好用”。
于是决定花一周时间,从零开始认真学一遍 Cursor。这篇笔记就是我这周的记录,全是亲测,没有废话。
一、Cursor 到底是什么?
1.1 一句话说清楚
Cursor 是一个内置了顶级 AI 能力的代码编辑器。它长得和 VS Code 一模一样,因为它本身就是 VS Code 的一个分支。这意味着:你用 VS Code 的习惯、快捷键、插件,在 Cursor 里全都能用。
不同的是,Cursor 把 AI 从“插件”变成了“内核”。Copilot 是装在编辑器里的助手,而 Cursor 的编辑器本身就是为 AI 设计的。
1.2 为什么它这么火?
几个数字可以说明问题:
- 增长速度:Cursor 从零到 10 亿美元年度经常性收入(ARR),只用了 24 个月——这是 SaaS 史上最快的纪录。
- 资本追捧:2025 年 11 月完成 23 亿美元融资,估值飙到 293 亿美元,英伟达、谷歌都在抢着投。
- 用户渗透:英伟达 CEO 黄仁勋公开说,希望公司 4 万名工程师都用 Cursor。OpenAI、Spotify、Uber 这些公司的团队也在用。
为什么这么火?因为 Cursor 踩中了一个关键的节点:模型能力刚好强到“能辅助但不能独立”,而 Cursor 把“人+AI”的协作体验做到了极致。
1.3 和 Copilot 有什么区别?
| 维度 | GitHub Copilot | Cursor |
|---|---|---|
| 定位 | VS Code 插件 | 独立的 AI 原生编辑器 |
| 交互方式 | 自动补全为主 | 聊天、内联指令、Agent 自主执行 |
| 上下文理解 | 当前文件或选区 | 全项目代码库 |
| 任务执行 | 建议代码,手动应用 | 可自动修改多文件、跑测试、修 bug |
说白了,Copilot 是“你写代码它补全”,Cursor 是“你说需求它干活”。
二、安装与初始化(十分钟上手)
2.1 下载
官网 https://cursor.sh/ 直接下,支持 Windows、macOS、Linux。
我是 Windows 本,下载的是 .exe 安装包,两百多兆,两分钟装完。
2.2 登录
第一次打开会提示登录。可以用 Google、GitHub 或者邮箱注册。免费版每个月有 200 次 AI 调用,足够新手尝鲜。Pro 版 20 美元/月,不限次数。
2.3 从 VS Code 迁移(如果你在用)
Cursor 最贴心的一点:第一次启动时,会自动检测你有没有装 VS Code,问你要不要导入插件、配置、快捷键。我点了“是”,重启后打开 Cursor——界面、主题、插件全都在,完全无缝。
如果你没用过 VS Code,直接默认配置就行,后面可以慢慢调。
三、核心功能:三个最常用的操作
3.1 Chat:全局问答(快捷键:Cmd+L / Ctrl+L)
我能问什么?
- “帮我解释这段代码是什么意思”
- “这个项目的核心逻辑是什么”(拖拽整个文件夹进去)
- “写一个 Python 脚本,把当前目录下的所有 .log 文件按日期归档”
实测例子:
我把自己一个老项目的文件夹拖进 Chat,输入“这个项目是干什么的?画个架构图说明”。AI 扫了一遍代码,给我生成了:
- 项目整体描述(Express + React + MongoDB)
- 核心模块列表
- 数据流转图(文字版)
省了我自己翻半小时代码的时间。
小技巧:用 @ 符号可以引用特定文件、文件夹,甚至 GitHub 仓库,让 AI 理解更多上下文。
3.2 Inline:内联指令(快捷键:Cmd+K / Ctrl+K)
这是我最常用的功能。选中一段代码,按 Cmd+K,弹出一个小输入框,直接说你想干啥。
常用指令:
- “重构这个函数,用 async/await 替代 Promise.then”
- “加错误处理”
- “改成 TypeScript”
- “写单元测试”
- “解释这段代码在干什么”
AI 会直接修改你选中的代码,并以 diff 形式显示改动——绿色是新增,红色是删除。按 Tab 接受,按 Esc 拒绝。
实测例子:
有一段老代码:
javascript
function processData(d) {
let r = [];
for (let i = 0; i < d.length; i++) {
if (d[i] > 10) {
r.push(d[i] * 2);
}
}
return r;
}
选中,按 Cmd+K,输入“用数组方法重写”。AI 直接改成:
javascript
function processData(d) {
return d.filter(x => x > 10).map(x => x * 2);
}
按一下 Tab,搞定。
3.3 Tab:智能补全
Cursor 的自动补全比 Copilot 更“懂你”。你写一行注释,它可能直接把整段代码补出来。
比如我写:
python
# 读取 sales.csv,按月份统计销售额,画柱状图
刚敲完注释,AI 自动补全了下面这段:
python
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('sales.csv')
df['月份'] = pd.to_datetime(df['日期']).dt.month
monthly = df.groupby('月份')['销售额'].sum()
monthly.plot(kind='bar')
plt.show()
不是我写的,是它猜的。而且猜对了。
四、进阶玩法:从“助手”到“代理”
Cursor 1.0 的核心是“Chat + Tab”,也就是你问它答、你写它补。但 Cursor 2.0 发布后,玩法变了。
4.1 什么是 Agent 模式?
简单说:Agent 模式让 AI 从“给建议”升级到“自己动手”。
在传统模式下,你说“帮我重构这个模块的错误处理”,AI 给你一段代码,你自己复制粘贴、手动改文件。在 Agent 模式下,你说同样的话,AI 会:
一句话总结:以前 AI 是你的“参谋”,现在 AI 是你的“实习生”——派活就行,不用教怎么干。
4.2 Agent 能干什么?
官方数据显示,Agent 模式处理复杂任务的效率比传统模式高 2.3 倍。几个典型场景:
| 场景 | 传统方式 | Agent 模式 |
|---|---|---|
| 跨文件重构 | 手动找所有引用,挨个改 | 自动扫描全项目,批量修改 |
| 添加新功能 | 自己搭架子、写代码 | 输入需求,AI 生成完整实现 |
| 替换废弃 API | 搜索替换,手动测试 | 自动识别所有调用点,适配新 API |
实测例子:
我在一个 Express 项目里想把所有 console.log 换成结构化日志。传统做法:全局搜索、挨个改、可能漏掉。用 Agent:打开 Composer(Cmd+I),输入“把所有 console.log 换成 winston 日志,保留原有日志级别”。AI 自己找到 23 个文件里的 47 处调用,全部替换,还自动加了 winston 的 import。整个过程 30 秒。
4.3 多 Agent 并行
Cursor 2.0 还支持同时跑多个 Agent——最多 8 个,各自在独立的 Git 分支里干活,最后挑最好的结果合并。
有开发者形容:“坐在那看 8 个 AI 赛马,闻到了 token 疯狂燃烧的味道”。
五、程序员专用技巧(实测有效)
5.1 注释驱动开发
这是我从 Cursor 学到的最重要的一课:想要 AI 生成得好,先把注释写清楚。
❌ 别这么写:
javascript
// 处理数据
✅ 要这么写:
javascript
// 读取 data.json,过滤掉 status=inactive 的条目,按 created_at 倒序排序,取前 10 条
// 输入格式:{ "items": [{ "status": "active", "created_at": "2026-02-20" }] }
// 输出:排序后的数组,直接返回
注释写得越具体,AI 生成的代码越能用。
5.2 把测试用例当“验收标准”
text
实现一个函数 normalizePhone(phone: string): string 要求: - 去掉所有非数字字符 - 如果以 86 开头,替换为 +86 - 如果是 11 位数字,格式化为 3-4-4 格式(如 138-1234-5678) 测试用例: - "138 1234 5678" -> "138-1234-5678" - "8613812345678" -> "+86-138-1234-5678" - "0755-12345678" -> "0755-12345678"
AI 生成的函数大概率一次跑通所有用例。
5.3 自定义指令(Commands)
在项目根目录建一个 .cursor/commands.json:
json
{
"commands": [
{
"name": "gen-api-test",
"description": "为 API 接口生成测试用例",
"prompt": "为 {file} 中的每个接口生成 Jest 测试用例,覆盖正常情况和异常情况"
},
{
"name": "add-logging",
"description": "添加结构化日志",
"prompt": "给 {file} 中的所有函数添加 winston 日志,记录入参和返回值"
}
]
}
然后在 Chat 里输入 @gen-api-test 就能调用。
5.4 快捷键速查
| 操作 | Mac | Windows |
|---|---|---|
| 打开侧边聊天 | Cmd + L | Ctrl + L |
| 内联指令 | Cmd + K | Ctrl + K |
| 打开 Composer(Agent) | Cmd + I | Ctrl + I |
| 接受建议 | Tab | Tab |
| 拒绝 | Esc | Esc |
记不住没关系,我贴显示器上了。
六、避坑指南(我踩过的)
坑1:它还是会“一本正经地胡说八道”
有次让 Cursor 写个加密函数,它自己造了一个“AES-256-CBC-Plus”——看起来像模像样,实际上标准库里根本没这个算法。
教训:安全相关的代码、金融计算、底层系统,必须人工审查。AI 适合写“能跑的代码”,不一定写“对的代码”。
坑2:Agent 改文件前记得提交
Agent 一次性改十几个文件,如果没提交 Git,改完发现有问题想回退就麻烦了。我后来养成习惯:每次用 Agent 前,先 git commit -m "before agent"。
坑3:长对话会“失忆”
一个对话窗口用太久,AI 可能忘记项目结构。我现在的做法:一个功能开一个新对话,避免上下文污染。
坑4:免费额度不够用
免费版 200 次/月,重度使用几天就没了。Pro 版 20 美元/月,个人开发者可以考虑。
七、到底值不值得用?
我的答案是:值得。
不是说 Cursor 完美,而是它把“AI 辅助编程”这件事做到了一个新的高度。以前我用 Copilot,感觉是“帮我少敲几个字”;现在用 Cursor,感觉是“帮我想清楚该怎么写”。
几个让我回不去的点:
- 选中代码按
Cmd+K直接改,不用切窗口 - 拖文件夹进去问“这项目是干啥的”,AI 给我画架构图
- 写注释自动补全整段代码
但也要清楚它的边界:AI 是搭档,不是替代。它不会替你设计架构,不会替你思考业务逻辑,不会替你做技术决策。那些事,还得自己来。