Cursor 把 AI Agent 放进了代码编辑器
你有没有注意到一个现象?2024 年之前,大家讨论 AI 编程的时候,说的最多的还是"用 ChatGPT 写代码"或者"GitHub Copilot 真好用"。但从 2024 年下半年开始,风向突然变了——不管是 Twitter 上的独立开发者、YouTube 上的技术博主、还是国内小红书上做副业的程序员,一提到 AI 编程,出现频率最高的名字就是 Cursor。
这不是偶然的。Cursor 做对了一件当时所有竞争对手都没做好的事情:它不只是帮你补全一行代码,而是帮你做整个功能。 你可以在一个对话框里跟它说"帮我做一个带搜索功能的用户列表页面",然后看着它同时创建 3 个文件、修改 2 个已有文件,最后还帮你把路由配好。这在以前是不可想象的——以前的 AI 编程工具,最多帮你把一个函数补完,文件之间的关联你还得自己处理。

Cursor 到底是个什么东西?
简单粗暴地说:Cursor 就是一个"魔改版"的 VS Code,内置了非常强大的 AI 编程能力。
如果你用过 VS Code(就是微软出的那个免费代码编辑器),那你打开 Cursor 的第一反应大概率是"这不就是 VS Code 吗?"——界面几乎一模一样,快捷键一样,插件也兼容。这是因为 Cursor 就是在 VS Code 的开源代码基础上二次开发的。
但不同的是,Cursor 在底层深度集成了大语言模型的能力。这个"深度"到什么程度呢?它不是像 VS Code 的 Copilot 插件那样只在你写代码的时候给你补全建议——它能直接"看到"你整个项目的文件结构,能同时读取和修改多个文件,能理解文件之间的依赖关系,甚至能帮你执行终端命令。
话说回来,我觉得把 Cursor 和 VS Code + Copilot 做对比是不公平的,因为它们做的根本不是同一件事。Copilot 是"自动补全工具"——你在写代码的过程中,它猜你下一步要写什么。而 Cursor 的核心是"Composer"——你跟它对话,告诉它你要什么,它帮你从零开始生成,或者基于现有代码大幅修改。
这就是"代码补全"和"Vibe Coding"的本质区别。

为什么不直接用 ChatGPT 写代码?
你可能会想:"我用 ChatGPT 或者 Claude 对话也能写代码啊,为什么要用 Cursor?"
这是个好问题。我当初也是这么想的,直到我真的在一个有 50 多个文件的项目里用 ChatGPT 写了一周代码之后彻底崩溃了。
问题出在哪?上下文。
当你在 ChatGPT 里写代码的时候,AI 看不到你的项目。你得把相关的文件内容复制粘贴到对话里,然后 AI 给你生成一段代码,你再复制回去。如果涉及到多个文件的修改,你得来回复制好几次。更坑的是,ChatGPT 经常给你生成的代码引用了一个你项目里根本不存在的函数——因为它不知道你项目里有什么。
Cursor 解决这个问题的方式非常直接:你的项目文件就在编辑器里,AI 直接读取,直接修改。 没有复制粘贴,没有"这个函数在另一个文件里你帮我看看",没有"你生成的代码用了一个我没装的库"。
把 AI 放进编辑器的直接收益,是减少复制粘贴并保留项目上下文。但速度不能代替验证:生成页面后仍要检查 diff、运行测试并在浏览器里验收。
Cursor 的几个关键特点
在你开始用 Cursor 之前,先了解这几个核心卖点:
多文件编辑能力——这是 Cursor 的杀手锏。你跟 Composer 说"帮我加一个暗色主题",它可能会同时修改 theme.ts(定义颜色变量)、App.tsx(添加主题切换按钮)、Header.tsx(适配暗色样式),而且每个文件的修改都能看到 diff(就是绿色新增、红色删除的那个预览),你可以逐个接受或拒绝。
项目上下文理解——Cursor 不是无脑生成代码。它会读你的 package.json 知道你用了什么库,读你的 tsconfig.json 知道你的 TypeScript 配置,读你的文件目录结构知道代码怎么组织的。所以它生成的代码风格跟你现有代码是一致的。
差异预览和确认机制——每次 AI 提议修改的时候,它会用绿色标出新增的行、红色标出删除的行。你可以逐个文件、逐个修改地 Accept 或 Reject。这比 ChatGPT 给你一大块代码让你自己去找哪里改了强太多了。

支持多模型切换——可用模型随版本、套餐和账户设置变化。选择时看任务难度、延迟、价格和数据政策,并以产品内当前列表为准。
Cursor 也不是默认答案。选型前要核对当前订阅和用量规则、代码与遥测数据政策、团队许可,以及是否需要离线或自托管能力。
Cursor 是什么?为什么所有人都在用它?
了解 Cursor 的定位、它和 VS Code 的关系,以及为什么它成了 Vibe Coding 的代名词