# 聊一聊 Cursor 比其他编程助手好在哪里

> 本文开放前 70% 正文，剩余内容会员可见。

原文：https://utgd.net/article/20909

最近我试用了一下 Cursor，先说结论：这是一个我会心甘情愿为它付费的产品。

### Cursor 是什么？

Cursor 是什么呢？从我的角度来看，这是一个基于 VSCode 二次开发的、深度结合了 AI 特性的代码编辑器。

🔗 Cursor 官网

由于 VSCode 本身的功能和插件足够广泛，完全可以把它当成一个 IDE 来使用。Cursor 基于它二次开发，自然也是站在了巨人的肩膀上。

由此带来的好处是，你可以无缝的导入 VSCode 里的插件、配置、主题，完全不会有陌生感。甚至可以用 Github、Microsoft 账号同步你在 Cursor 里的配置回到 VSCode 里。

坏处则是，你如果习惯用其他编辑器开发，Cursor 目前没有提供可供其他编辑器使用的 AI 插件。而且 VSCode 的功能本身非常多，也遇到了一些插件与 Cursor 发生冲突和不适配的情况。

### Cursor 不是插件，而是编辑器

现有的 AI 编程助手已经有多家巨头在竞争了。光我试用过的就有许多：海外产品有 Github Copilot、Amazon CodeWhisperer，国内产品有字节的豆包 MarsCode、阿里的通义灵码、讯飞的 iFlyCode 等等。

在所有的这些 AI 编码助手中，Github Copilot 本是当之无愧的第一，这样的优势来源于 Github 本身得天独厚的代码库优势（作为数据源），以及微软提供的 Azure \+ OpenAI 模型（作为云和模型）。两者一个确保了质量，一个确保了速度。

所以在 2022、2023 年我都在年度推荐中给 Github Copilot 做了详细介绍，我一度认为其他家很难超越 Github Copilot。

关联阅读： \- 2023 年度推荐 \| AI 浪潮之下，我给这些 AI 工具颁了奖 \- 2022 年度 AI：GitHub Copilot

有了 Github Copilot 打样，其他 AI 产品纷纷推出自己的 AI 编码插件，用法大同小异：

- Tab 补全

- 自然语言生成

- 对话式提问

它们大多以插件形式提供，有且只有这些功能。

Cursor 之所以不做插件，它在文档中也提到了原因，是因为它需要对 UI 有更多的控制权、Cursor Tab 等功能无法以插件形式呈现。

而 Cursor 本身，在数据源和模型都没有做出巨大突破的情况下，实现了弯道超车，获得了极高的好评。它凭借的是什么呢？

我认为是对开发者习惯的极致观察。

### Cursor 到底比其他编程助手好在哪里？

我举几个例子，Cursor 到底是如何直击用户痛点的。

Codebase：Cursor 会在你提问时，自动加入当前代码库作为参考文档。Cursor 在展示视频中给出的效果是，你可以主动 @特定文档 来参考某段代码。

但实际上在首次提问时，Cursor 会完整扫描整个文件夹里的文件作为数据源支撑，这样多数情况下，你不必在 Chat 环节自己检查和复制关联的代码进去。这样不仅简化了手工的操作，也能更贴合你的实际开发环境。而“引用多段代码”“遵循现有写法”恰恰是开发者对 AI 最迫切的需求。

举个例子，Vue 3 的语法中有两种写法 \<script\> 和 \<script setup\> ，不同写法的代码在结构上有所不同。如果你不给出任何参考去问 ChatGPT，ChatGPT 可能会随机给出一种答案，也许就是你不想要的。而有了 Cursor，它总是可以借助 Codebase 用项目中更常用的那个写法来提供建议。

这几天 Slack 读者群里有读者 @arthurY 提到，可以用 Cursor 实现类似知识库 RAG 的效果，可以把文件放进代码库中用 Cursor 打开，让其自动扫描文件后进行 AI 提问。

我经过实验后发现，Cursor 的 Codebase 确实可以做到类似本地知识库的效果。

以往建立知识库都是需要加一层 RAG，从数据库里提取数据、形成 chunk、喂给 AI 作答才能实现的。Cursor 实现了一个简易版的过滤和回答。Cursor 虽然在文档里没有提到 RAG 这个说法，但 Cursor 提供的 @Codebase 逻辑确实非常接近 RAG 。所以当做本地知识库是完全可行的。

但 Cursor 的 Codebase 功能与 RAG 功能还有一些区别，由于 Cursor 提供的 Chat 功能上下文长度为 20000 字符，特别巨量的知识库在检索完如果超出上限的话，可能还是不太够用。

主动纠错能力：这个功能在 Cursor 官网叫 Smart Rewrites 功能（智能重写），比如你在 CSS 里缺了引号、缺了逗号，都能帮你纠正。另外还能解决一些“不是错误的错误”。

比如下图就是一种“推断”而非“纠错”。像是有一位老教授一直在旁边实时批改你的代码，一边说着“这里可以优化”“那里这样写更好”，一边就把示例摆在你面前了。

再加上非常方便的一键 Apply \+ 自带审阅功能，让 Code Review 也变成一件赏心悦目的事情了。

AI 纠错：在代码出现明确报错的时候，鼠标移动到错误上，会在错误信息这里显示一个 AI Fix 按钮，点一下就会走 Chat 窗口，自动带上代码和报错信息，综合起来给出建议。

代码“报错”时，往往是开发者最需要帮助的时候，而且也恰恰是 AI 最擅长的功能。这项功能在阿里的通义灵码里也有类似的体现，我觉得是一个很好的 AI 入口。每当发现这样的功能的时候，我就不禁感叹：“Cursor 加 AI 的地方真是太对了”。

“快”：Cursor 响应速度极快。有时候不需要你按下 Tab ，AI 结果就直接展示了。“快”对编码体验的增强实在是太大了，因为越快越不需要过脑子。看到代码只需要大致审阅一遍 AI 提供的代码，就可以直接上屏了。如果迟迟不出 AI 提示，就需要等待响应、或者转为自己编写的逻辑了。

这一点在不同模型中也有很大区别，Github Copilot 和阿里的通义灵码可以达到较快

---

[前往标准阅读页](https://utgd.net/article/20909?audience=web)
