最近我试用了一下 Cursor,先说结论:这是一个我会心甘情愿为它付费的产品。
Cursor 是什么?
Cursor 是什么呢?从我的角度来看,这是一个基于 VSCode 二次开发的、深度结合了 AI 特性的代码编辑器。
由于 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。
关联阅读:
有了 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 用项目中更常用的那个写法来提供建议。