Cursor vs GitHub Copilot


让我们聊聊 AI 编码助手。它们基本上是开发工具中的热门话题,而且理由充分。它们旨在帮助开发者更高效地编写代码并减少错误。确实非常酷。

虽然这个领域有很多参与者,但我们聚焦于两个主要竞争者。一方面是已经成熟的 GitHub Copilot,另一方面是正在搅动局势的新秀 Cursor。两者都试图让我们开发者的生活变得更轻松。

在体验了 Copilot 和 Cursor 之后,我觉得对比一下它们的表现可能会很有帮助。无论你是对它们感兴趣还是只是想知道为什么它们引起这么大的轰动,继续往下看吧。我们将深入探讨一些对开发者来说非常重要的关键功能。

Cursor AI

Cursor 基本上是一个超级强大的 AI 驱动代码编辑器。它是 Visual Studio Code 的一个分支,将先进的 AI 功能带入一个熟悉的界面。

GitHub Copilot

GitHub Copilot 是 GitHub 与 OpenAI 合作开发的 AI 编码助手。它利用机器学习生成代码建议,并直接在你的代码编辑器中完成任务(如 Visual Studio Code、Visual Studio、Vim/Neovim、JetBrains IDEs)。

Cursor AI 和 GitHub Copilot 都提供了一系列旨在提高生产力并支持开发者的功能。让我们深入了解这些具体功能,看看它们如何对比。

2024 年 8 月 VS Code 更新
此次更新为 GitHub Copilot 引入了多项新功能。然而,许多这些新增功能仍处于实验阶段,结果可能尚不稳定。

Tab 自动补全

你知道那种当你在打字时,IDE 就能理解你想做什么的感觉吗?我们说的就是这种功能。

Cursor

Cursor 的 Tab 自动补全非常强大。它会建议多行代码,并且会查看整个项目来提出建议。它甚至会猜测你接下来会编辑的地方。此外,它还能实时捕捉并修复错误。

Copilot

Copilot 更专注于内联建议。按 Tab 键接受建议,你就可以快速进入编码状态。它通常会根据开发者的风格预测下一行逻辑代码,这可以显著加快编码任务的速度。

代码生成

这部分就变得有趣了。想象一下,你描述你希望代码完成的任务,然后——它就生成了。

Cursor

Cursor 有一个名为 Composer 的功能,可以根据你的描述创建整个应用程序。在生成代码时,它会查看整个项目,尽量匹配你的风格。你可以使用 ⌘ + I 打开浮动窗口,或者⌘ + SHIFT + I进入全屏模式。对于内联生成、模板代码和编辑,你可以使用⌘ + K功能。令人印象深刻的是,它可以在同一个项目中处理多种编程语言,并根据需要调整建议。

Copilot

Copilot 更注重内联建议,但 Copilot Chat 可以处理较大段的代码,如果你准确地描述需求的话。它的命令行工具 (CLI) 也可以根据你的普通语言描述生成代码。

聊天功能

有时候你只需要问个问题。但与 AI 聊天真的有帮助吗?

Cursor

Cursor 的聊天功能(⌘ + L)具有上下文感知能力,因此它知道你正在处理的内容。你可以直接从聊天窗口应用代码建议,这非常方便。它甚至支持图片,以提供视觉上下文。

Copilot

GitHub Copilot Chat 类似——你可以询问它代码的解释或改进建议。它直接集成在 VS Code 中,使用体验相当流畅。最近还推出了一些新功能,比如更好的聊天记录和更多上下文附件的方式。不过如果你已经在使用 Cursor,可能不会觉得这些功能有什么颠覆性的变化。

终端

终端工作可能很麻烦,尤其是在处理复杂命令时。

Cursor

Cursor 将其 AI 功能扩展到终端,可以通过 ⌘ + K 使用。对于将模糊的想法转化为实际命令,这相当方便。

Copilot

Copilot 有一个 CLI 工具,功能类似。它可以根据你的操作生成 shell 命令,这非常酷,特别是当你每年只用一次的某个命令的确切语法记不住时。

上下文感知

这一点非常重要。这些工具能真正理解你的整个项目,还是仅仅局限于当前文件?

Cursor

在这方面,Cursor 表现得非常出色。它会查看整个代码库和项目结构。你甚至可以使用 @ 符号引用项目中的特定部分,比如 @Files、@Folders、@Code 等等。

Copilot

在最近的更新中,当使用 Quick Chat 时,你现在可以通过 Attach Context 操作,将文件和符号等上下文附加到你的 Copilot 请求中。

多文件支持

跨多个文件工作的支持使 AI 助手能够理解并修改复杂的项目结构。

Cursor

Cursor 的 Composer 可以对整个项目进行修改,这非常强大。它了解不同文件和组件之间的关系。Composer 可以一次性为整个应用程序生成文件。我个人用过这个功能将一个文件重构为更有组织的文件和文件夹。

Copilot

Copilot 在这方面的能力比较有限。它主要专注于当前文件,尽管它可以建议从其他文件中导入内容。

代码审查

有时候我们都需要第二双眼睛来检查代码。AI 驱动的代码审查可以对代码质量、潜在的错误以及最佳实践的遵守情况提供自动反馈。

Cursor

Cursor 有一个 AI Review 工具,可以分析你的更改。它会给出关于代码质量、潜在错误等方面的反馈。你甚至可以自定义它关注的内容。

Copilot

Copilot 没有专门的审查功能,但你可以使用 Copilot Chat 来解释代码并提出改进建议。

IDE 集成

没人愿意在一堆工具之间切换。

Cursor

Cursor 是一个独立的工具——它基于 VS Code 构建,所以如果你习惯使用 VS Code,界面会感觉很熟悉。

Copilot

另一方面,Copilot 集成了多个 IDE——VS Code、IntelliJ、Neovim。CLI 可以在任何终端中使用。

自定义

在编程中,一种标准并不适合所有人。你能根据具体需求调整这些工具吗?还是只能接受默认设置?

Cursor

Cursor 允许你通过设置和 .cursorrules 文件来自定义指令。你可以根据项目的特定需求进行调整。

Copilot

最近的一个实验性设置允许你定义一组指令,这些指令会被添加到每个 Copilot 的代码生成请求中,但目前似乎还不太稳定。

模型

Cursor

Cursor 提供了一系列模型,包括 GPT-4、Claude 3.5 Sonnet 以及他们的自定义 cursor-small 模型。你可以根据需要选择——速度或能力。

Copilot

Copilot 使用的是 OpenAI 的 Codex 模型。他们一直在更新,但你无法选择使用哪个模型。目前集成的是 OpenAI o1-preview 模型。

定价

聊聊价格吧。他们的定价模式如何对比?

Cursor

Cursor 提供了一个带有限制功能的免费 Hobby 级别,Pro 级别每月 20 美元,Business 级别每用户每月 40 美元。

Copilot

Copilot 的定价为个人用户每月 10 美元,或每年 100 美元。如果你是更大的组织,他们也提供企业定价。

总结:谁是赢家?

在深入比较了 Cursor 和 GitHub Copilot 后,是时候选出一个冠军了。请奏响鼓声…Cursor 拿下了这次的胜利。它的独特功能使它在 AI 辅助编程领域中难以超越。

当然,别误会,Copilot 是一个很不错的工具。它在快速建议方面表现出色,而且能很好地与各种不同的 IDE 兼容。但 Cursor?它在另一个层次上运行。

Cursor 胜出的原因如下:

  • 项目范围的智能:Cursor 不仅仅看当前文件,它能理解整个项目。这非常重要。
  • Composer:能够生成整个应用程序的结构或在多个文件间进行协调修改?这简直是下一代技术。
  • 自定义:通过 Cursor,你可以根据自己的需求调整 AI。那 .cursorrules 文件绝对是个游戏规则的改变者。
  • AI 审查:拥有一个能够审查代码更改并提供反馈的 AI?这就像有了一个永不疲倦的高级开发人员在团队中。
  • 模型选择:Cursor 让你选择适合需求的 AI 模型。有时你需要强大的功能,有时你需要速度。无论哪种,Cursor 都能满足。

Copilot 依然是一个强大的工具,如果你想找一个能轻松融入现有工作流程的工具,它可能是不错的选择。它的代码补全能力确实很令人印象深刻。但如果你想真正推动 AI 在编程中的应用边界,Cursor 是不二之选。

当然,最好的工具还是最适合你的那个。所以,如果可以,最好都试一下。但要是让我选?Cursor 目前是最值得一试的。