你应该从 VSCode 切换到 Cursor 吗?
原文:
towardsdatascience.com/should-you-switch-from-vscode-to-cursor-45b1a0320d07
你应该从 VSCode 切换到 Cursor 吗?
使用 FLUX.1 由 Black Forest Labs(通过 Grok 2)人工生成的图像。
简介
作为开发者,我们一直在寻找工具来提高我们的生产力和使编码更加愉快。我已经使用 Visual Studio Code (VSCode)超过六年,它几乎是我所合作的几乎所有开发者的首选集成开发环境(IDE)。
在 2023 年,Cursor(由 Anysphere 研究实验室设计)从 OpenAI 筹集了800 万美元并总共筹集了 1100 万美元,他们传达的信息是:
在接下来的几年里,我们希望构建一个比世界上任何所见都更有帮助、更令人愉悦、更有趣的代码编辑器。
到 2024 年,许多开发者开始测试或完全过渡到使用 Cursor 作为他们首选的主要 IDE。
本文的目的是为您提供我使用 Cursor 的经验的第一人称视角,以及我将如何将其与 VSCode 进行比较。具体来说,我将讨论每个 IDE 在使用各自的人工智能辅助功能进行数据科学时的表现。
Cursor 是什么?
原先是从Microsoft 的 VSCode GitHub 仓库分叉出来的,Anysphere 团队利用其开源代码库,并决定将其作为开发Cursor的绝佳基础。
光标代表着当前开发实践与未来人机协作编程的未来之间的桥梁。光标的使命是开发一个高度集成了人工智能(AI)的集成开发环境(IDE),其效率可以比任何一位程序员高出整整一个数量级。
通过保留 VSCode 熟悉的界面和全面的扩展生态系统,Cursor 降低了开发者的采用门槛,使得过渡到 AI 驱动的 IDE 感觉像是一个自然、无缝的升级,而不是一次破坏性的技术变革。
我之前的 VSCode 体验
我已经使用 VSCode 超过 6 年,并且自从其发布以来一直是 GitHub Copilot 的测试员,并为其付费。
从界面角度来看,VSCode 很棒。它是可定制的,但即使是它的默认布局也提供了您在项目工作时所需的一切(我可以理解为什么 Anysphere 保持这种方式)。VSCode 还有一个出色的扩展生态系统,Anysphere 也认可了这一点,并在开发 Cursor 时决定保持原样。
2024 年 10 月 29 日,Claude 3.5 Sonnet 在 GitHub Copilot 上提供。在此之前,由于 OpenAI 与微软的合作,你唯一的 LLM 选项是 OpenAI 模型。这并不糟糕,但看到其他 LLM 在与编码相关的基准测试中表现更好,这让人感到沮丧,因为它们在 GitHub Copilot 上不可用。
作为数据科学家,我大部分的探索性工作都是使用 Jupyter Notebooks 完成的。我发现 VSCode(以及 GitHub Copilot)与 Jupyter Notebooks 工作得非常好,如下所示,每次创建新的单元格时,你都有权提示 GitHub Copilot 提供帮助。
VSCode 添加新的 Jupyter Notebook 单元格时的 “生成” 选项。
请求 Copilot 通过提示编写代码后的输出示例。
VSCode 还允许你与 GitHub Copilot 讨论你的项目。使用如 /explain、/fix 和 /tests 的快捷键,你可以提示 GitHub Copilot 在 vscode、工作区或终端级别提供帮助。使用 “#” 符号,你可以提示 GitHub Copilot 专门查看你的代码选择、代码库、编辑器或文件。
所有这些快捷键都使得在 VSCode 中使用 GitHub Copilot 与 Jupyter Notebooks(以及其他文件类型)变得非常好。非 OpenAI LLM 的引入是一个很好的补充,尽管它仍然处于起步阶段。
为了这篇文章的目的,我正在突出我使用 VSCode 和 GitHub Copilot 的经验中的高级要点。如果你有更具体的问题想要询问,请随时通过社交媒体联系我.
我为什么切换?
根据 “我的 Previous VSCode 经验”,人们可能会问为什么我决定下载 Cursor,因为我的 VSCode 经验听起来并不太糟糕。
主要原因是与我交谈的越来越多的开发者倡导者已经自己切换了。也就在这个时候,Aman Sanger、Arvid Lunnemark、Michael Truell 和 Sualeh Asif 出现在 Lex Fridman 播客 上,详细讨论 Cursor。我听了整整 2 小时 29 分钟,并且喜欢我听到的内容。
最后,Cursor 可以免费安装,并提供免费层,让你体验其功能。我可能因为长时间将其置于一旁而不得不亲自探索 Cursor。
我使用 Cursor 的体验
我对 Cursor 的第一印象是他们保留了 VSCode 界面,同时提示你立即下载所有 VSCode 扩展。在编写任何代码(或提示 LLM)之前,你会感到非常自在。
当第一次打开 Cursor 时,你会看到一个欢迎清单,它出现在探索侧边栏上方。
使用 Cursor 开始时的欢迎清单。
清单的目的是介绍 Cursor 的一些主要功能,这是一个很好的细节,因为它介绍了使用 IDE 执行每个任务所需的快捷键。
在完成入门(下载扩展等)后,我决定导入我最近一直在工作的一个侧项目。就在这个时候,我意识到 Cursor 与 Jupyter Notebooks 的兼容性不如 VSCode。
添加新的 Jupyter Notebook 单元格时的 Cursor 选项。
如上图所示,Cursor 中没有“生成”选项卡。你仍然可以使用Ctrl/⌘ + K来提示一个 LLM,但体验不如 VSCode。
一旦你有了代码片段,你可以使用Ctrl/⌘ + L与 LLM 聊天,不幸的是,当在 Cursor 中使用 Jupyter Notebooks 时,接受 LLM 推荐代码片段的应用功能不起作用,我发现这非常令人失望。
在这个阶段,我决定创建一个新的 Python 项目。我只使用了.py 文件,并选择了一个我经验有限的主题,预计需要几个小时才能开发出一个没有使用 AI 辅助的最小可行产品(MVP)。我决定选择一个使用 pygame 创建的游戏开发项目。
Cursor 有一个名为“Composer”的功能,允许开发者通过在提示中描述他们的项目概念来生成整个项目结构。开发者无需手动设置文件、配置环境或编写样板代码,可以利用 AI 来简化初始项目设置。
通过实现 Composer,你可以指定关键的项目信息,例如:
-
项目概念或想法
-
偏好的编程语言
-
测试需求
-
所需的文档(如 README.md)
-
虚拟环境配置(requirements.txt)
我想通过将此功能应用于我的 pygame 项目想法来测试它。我最初使用的提示是:
使用 pygame 创建一个俄罗斯方块游戏,添加测试,并将所有说明添加到 README.md 中以便运行游戏。创建正确的文件夹结构,将 src、tests 等分开,并按照项目结构创建所有 Python 脚本
只需进行少量更改,结果就非常出色!项目文件夹结构完美,测试创建成功,并生成了一个非常详细的 README.md 文件,解释用户如何启动俄罗斯方块游戏。
使用 Cursor 开发的俄罗斯方块游戏。
所有这些都在几分钟内完成,还花了一些额外的时间来修复一些小错误和重新设计俄罗斯方块板布局。
有关 Cursor 提供功能的更多信息,请参阅这里。
结论
在过去两周使用 Cursor 之后,我决定将之用于我未来的所有项目。
我在使用 Cursor 的 Composer 功能时所获得的体验,在我作为数据科学家职业生涯中经历的所有事情中都是无与伦比的。我认为这是一个变革性的产品,如果微软有一个团队正在开发自己的版本以增加 GitHub Copilots 的功能,我并不会感到惊讶。
话虽如此,我并没有完全放弃 VSCode。在最近几周,GitHub Copilot 进行了一些更新,显示出与竞争保持同步的意图。
由于 Cursor 是 VSCode 的一个分支,在 IDE 之间来回切换不需要对您的代码库或 IDE 配置进行任何额外更改。我选择使用哪个工具将主要取决于它们提供的功能,这些功能如何帮助我完成手头的任务,以及最后,访问这些工具的价格。
最后关于价格的一点,GitHub Copilot 目前每月收费 10 美元,是 Cursor Pro 级别的一半,后者每月收费 20 美元。每个产品都不需要签订任何约定的合同期,如果您选择的话,您可以在两个工具之间每月交替使用,而无需额外费用。
***免责声明:*本文中分享的所有观点都是基于我个人的经验,我与 Cursor 没有任何关联。此外,除非另有说明,本文中包含的所有图片均为作者所有。
如果您喜欢阅读这篇文章,请关注我在 Medium 上的账号,X,以及GitHub,以获取更多与数据科学、人工智能和工程相关的内容。
快乐学习!🚀
更多推荐



所有评论(0)