AI赋能IDE:从Visual Studio到Cursor的进化之路

image-20240904152005343

豆包润色版本

四年前的程序员或许难以想象如今编程竟如此便捷,不得不感慨 GPT 给程序员带来的巨大冲击力。它确实提升了程序员的平均水平,让代码能力稍弱的人也能快速写出优秀代码。尽管有人认为这样无法学到真正的知识,但如何利用 AI 工具提升效率本身就是一门学问。

回想四年前刚进大学的自己,那时还在用被誉为“宇宙第一 IDE”的 Visual Studio 编程,按照老师要求一行一行地写下代码。印象最深的是一道人民币转大写的题目,全程用 switch 语句,不断复制粘贴,以至于腱鞘炎都快犯了,最后一个文件竟写了 4000 行。此事后来也一直为我津津乐道。

GPT 的出现大大提高了我的生产效率,即使是最初的 3.5 版本,也能快速生成一些代码,虽不够智能,但也有一定帮助。后来,Copilot 和 GPT4 的推出进一步提升了编程效率。首先,代码质量提高了,以前写的代码可能无法直接运行,常有 bug,现在只要逻辑不复杂,一般都能正常运行。如今广泛使用的 Copilot,作为学生能免费使用,只需写下注释,它就能根据意图和已有代码智能生成代码,我们只需按下 tab 键即可。

image-20240904152139388

前段时间我接触到了新的 IDE Cursor,它的主打亮点是将与 AI 的协作无缝融入开发体验中,基于 VS Code 却比 VS Code 更丝滑地使用 AI。

在原来的工作流程中,我一般先写一部分代码,再让 Copilot 完善,遇到问题就把代码发给 GPT 解决,解决过程中往往需要粘贴其他文件的代码,因为它没有基于整个项目上下文编程的能力,然后再把生成的代码复制粘贴回去,重新调试运行,若有 bug,就把错误输出发给 GPT 诊断,再把正确命令粘贴回来。总之,这些人工智能辅助工具虽作用巨大,但与现有编辑器的协作仍不完善

image-20240904152209348

这个软件很好地解决了这个问题。例如在命令行中,可以直接输入 cmd+k 进行咨询,就像跟机器人聊天一样,最重要的是,它能直接将生成的答案贴到命令行中,我们可以直接选择接受然后运行,也可以像跟 GPT 聊天一样进一步优化

image-20240904153027915 image-20240904153013211

除了命令行之外,代码工作区也提供了类似的无缝集成,可以使用不同的大语言模型和 prompt(参考Cursor.directory,比Copilot 更能“预判”,因为前者甚至可以给前面的部分添加预判,而后者只能单纯给后面添加预判

image-20240904152643656

提一嘴cursor.directory,实际上是给cursor加一个配置的prompt,类似于.prettierrc.json的配置文件,呵呵,这样它就更聪明了

image-20240904153637845 image-20240904154006912

最厉害的是,它在和机器人聊天时,可以进行基于整个代码库的聊天。在官方描述中,只要按下 cmd enter,它就会基于整个项目生成一个 RAG,然后传给机器人,这样就可以针对整个项目进行诊断。比如想加一个功能,它可以直接告诉你在什么文件夹新建什么文件,写什么代码,而我们只需按下 accept,它就会自动将代码应用上去,这比之前复制 GPT 的输出再粘贴回来轻松太多。

image-20240904153157710 image-20240904153517681

这让我不禁反思,现在写代码越来越快,到底是我越来越厉害,还是实际上越来越“废物”了呢?

当然,不得不提一下它的局限性。目前使用的大模型需要 token 且要付费,所以这个软件不可能免费。刚注册时会送两周的 Pro 版,在此期间每月可使用 500 次高级 API(如 GPT4o,Claude 3.5-sonnet),可以无限使用 Cursor small 和 4o mini 等一般模型。但两周试用期过后,就需要每月 20 美元,而且支付起来很麻烦。因此我在网上搜索到了更好的方法,能用 20%的价格收获 80%的体验,即 Cursor + 国产大模型deepseek coder + Codium/Copilot

Cursor 如何使用 deepseek coder api 呢?Cursor Pro 试用期只有两周。两周以后,可以使用便宜量大的 deepseek coder API。

步骤如下:

  1. 去 deepseek 注册账号。登录后生成 api key。注意:只有生成时才能复制,所以不要关掉复制窗口。
  2. 在 Cursor 的设置(Cursor -> Settings -> Cursor Settings -> Models)中,先点击“Add Model”添加一个名为“deepseek-coder”的 Model。注意:只能叫这个名字,名字错了就用不了了。
  3. 在“OpenAI API Key”中,输入第一步复制的 api key。
  4. 点开“Override OpenAI Base URL”,输入:https://api.deepseek.com/beta。
  5. 点击“Verify”,如果成功就没问题了。
    与原版 Pro 相比,有几个缺陷:
  6. 点击“Apply”无效了,只能复制/粘贴生成的代码。这在用户体验上相差很多
  7. 上传图片无法识别了,只能使用文字 Prompt。

Cursor + deepseek API 虽然可以近乎免费,但它有以下不足:1)不提供 AI 提示、按 Tab 自动补足的功能;2)不提供 Chat 中的代码覆盖到程序上的功能。Cursor 在理解用户需求上很厉害。所以用习惯 Cursor 之后,最终都会走上买 Pro 之路。

但我个人觉得体验不会差太多,Tab 自动补足的功能可以换成 Copilot 或者 Codeium插件(https://codeium.com/),折腾下来可以省很多钱来达到近似于 Pro 的效果。

image-20240904152807087

demo视频链接:https://www.youtube.com/watch?v=yk9lXobJ95E。

另外,这也涉及到编程语言的特点,类似 Tailwind CSS 的语言会更加适合 AI 生成,即使对于人类来说难以理解,但对 AI 来说特别容易理解,需要的上下文更少。这就像 v0(https://v0.dev/)为什么会生成这样的 Tailwind CSS 一样,Tailwind 和 v0 结合的效果想必更好。


Claude润色版本,太差了,不满意,放在这里鞭尸

近年来,人工智能在编程领域的应用给程序员带来了巨大的冲击和变革。回顾四年前,很多程序员可能难以想象如今coding的便捷程度。AI工具,尤其是GPT系列的出现,显著提升了程序员的平均水平,使得即便是编码能力较弱的人也能快速产出高质量的代码。

个人编程之旅

回想起四年前刚进入大学时的场景,我还在使用被戏称为”宇宙第一IDE”的Visual Studio进行编程。那时的我,按照老师的要求一行一行地编写代码,最深刻的记忆是完成一道人民币转大写的题目。当时,我大量使用switch语句和复制粘贴,最终完成了一个长达4000行的文件,这个经历至今仍令我印象深刻。

AI工具的革新

随着GPT的推出,我的编程效率得到了显著提升。即便是最初的GPT-3.5版本,也能帮助我快速生成代码。后来,Copilot和GPT-4的出现进一步提高了我的编程效率。这些工具不仅提升了代码质量,还大大减少了调试时间。特别是Copilot,只需写下注释,它就能根据上下文智能地生成代码,极大地简化了编程过程。

Cursor: AI辅助编程的新高度

最近,我接触到了一个名为Cursor的新IDE。它基于VS Code开发,但在AI协作方面提供了更为流畅的体验。Cursor解决了传统工作流程中的诸多痛点,如上下文理解、代码诊断等。它允许用户直接在命令行中与AI对话,并可以将AI生成的答案直接应用到代码中。更重要的是,Cursor能够基于整个项目进行分析和建议,这在复杂项目开发中尤其有价值。

使用建议和局限性

尽管Cursor提供了强大的功能,但它并非免费软件。在试用期结束后,需要支付月费才能继续使用全部功能。对此,我发现了一个替代方案:将Cursor与国产大语言模型结合使用,可以以较低的成本获得类似的体验。具体步骤包括注册deepseek账号,生成API key,并在Cursor中进行相应设置。

然而,这种方法也有其局限性,如无法使用”Apply”功能和图片识别等。但对于预算有限的用户来说,这仍是一个不错的选择。

未来展望

AI辅助编程工具的发展正在改变编程语言的设计理念。像Tailwind CSS这样的语言,虽然对人类来说可能较难理解,但非常适合AI生成,这可能预示着未来编程语言设计的新趋势。

结语

AI工具确实大大提升了程序员的工作效率,但也引发了一个值得思考的问题:我们是变得更强了,还是更依赖了?无论如何,学会有效利用AI工具来提升自己的效率,本身就是一项重要的技能。在拥抱新技术的同时,我们也要保持批判性思维,不断提升自己的核心编程能力。


btw,它还可以一键迁移vs code插件


AI赋能IDE:从Visual Studio到Cursor的进化之路
http://baokker.github.io/2024/09/04/AI赋能IDE-从Visual-Studio到Cursor的进化之路/
作者
Baokker
发布于
2024年9月4日
更新于
2024年9月6日
许可协议