来自独立开发者idoubi的AI编程工具体验,他详细评测了目前市面上主流的AI代码生成工具,并针对不同的场景提供了不同工具的详细评测和搭配建议。
最近AI编程非常火,社交媒体上充斥着各种神奇的帖子:
一个比一个Amazing,看的人心痒痒,恨不得马上上手创作。
也不禁让人感概:我们真的已经进入了“人人皆可做产品,程序员即将被淘汰”的时代了吗?
Cursor是我目前使用频率最高的AI辅助编程工具,跟我每天的编码工作无缝融合,使用Cursor写代码,体验非常流畅,编程效率大大提升。
以下是我使用Cursor的几个高频场景:
自动补全代码
Cursor最亮点的功能就是其基于Tab键的代码自动补全功能,据说是有训练自己的智能补全模型,能够在项目工程感知上下文,给出智能的代码补全建议。
以前写代码的常用快捷键是Ctrl+C和Ctrl+V,现在写代码的常用快捷键是Tab。
实测下来,Cursor的Tab键,是提升编码效率最明显的功能。
Debug&&FixError
Cursor作为一个有经验的编程大师,可以帮你Debug和Fix代码错误。
现在用Cursor调试和修复错误特别方便,只需要在提示错误的位置,点击Debug或者Fix按钮,Cursor就会结合项目上下文,给出错误的原因和可行的解决方案。甚至给你写出修复Bug后的代码,按照Cursor的建议修改,或者在给出的修复代码上点击Apply,就可以快速找到和修复问题。
有了Cursor,相当于请了一个24小时的技术顾问,随时帮你查问题,改Bug,写代码。让你可以专注于编码创作,而不用担心后院起火。
“在我电脑上是好的啊”,这种情况发生的概率会大大降低。
实时对话&&联网搜索
Cursor不仅仅可以作为编程辅助工具,也可以作为一个通用的ChatBot/AI搜索产品进行日常使用。
你可以随时通过Ctrl+L在Cursor编辑器右侧打开一个对话框,跟Cursor聊任何话题。
在输入框输入@web可以联网检索,具备AI搜索产品标准的RAG能力。
如果你每天写代码,就可以在Cursor里面随时使用AI搜索和对话。而不用打开ChatGPT/Perplexity/之类的产品了。
写提示词
AI时代最重要的一项技能是写提示词,PromptEngineering甚至发展成了一门独立的学科。
如果你需要写提示词去控制AI生成内容,而又不太擅长提示词工程,或许可以试试让Cursor帮你写提示词。
比如在PodLM这个项目的开发过程中,我需要在系统内置一些生成AI播客脚本的提示词,通过@之前调试好的脱口秀提示词文本,就能让Cursor帮我生成风格一致的儿童故事提示词。
同样,在ThinkAny/知了阅读之类的项目开发过程中,我只需要描述清楚我的需求,就能让Cursor帮我生成高质量的提示词。
写前端页面
做Web项目开发,我们经常需要写前端页面。我最近一年习惯用NextJS框架做全栈开发,页面组件用React写,使用TailwindCSS写样式,UI组件库用的是Shadcn/UI。
截图生成组件
除了一句话描述自己的需求,让Cursor生成组件代码之外,有时候我们可能会看到某个网站的某个组件设计的不错,想把这个组件的样式和逻辑复制到自己的项目中。
在Cursor中,只需要截图参考的组件,让它仿照着写出来就行了。
这比起以前去Copy别人网站的样式,通过审查元素查看HTML结构和CSS样式,效率高的不止一点半点。
写常用的代码逻辑/函数
比起从头开始实现一个个的功能函数,使用Cursor我们只需要一句话描述功能需求/函数的入参和响应参数,几秒内就能快速生成一个函数。
代码重构
在做项目技术架构更新的时候,我们经常需要重构之前的代码。
要想使用新的数据库客户端操作Supabase,model层的代码都需要重构,使用新的连接客户端实现数据读写逻辑。
如果没有Cursor,我自己重构一个项目的所有数据库操作代码,可能要花上一两个小时。
而使用Cursor,我只需要一句话描述我的需求,让它用新的数据库客户端去重构所有的数据库操作逻辑即可,等它重构完,我需要检查一遍是否有重构不当的代码,让Cursor按照我习惯的风格进一步改写。
只要人工确认过一次重构,剩余的数据读写代码,都会参考第一次重构的风格,快速完成。
使用Cursor重构代码,可以把之前两个小时才能完成的工作,缩短到了十几分钟。
多语言翻译
我们做出海AI应用,面向全球用户,往往需要支持多语言。
使用NextJS框架做全栈开发,多语言方案用的是next-intl,只需要在项目的messages目录下放置语言的json文件即可。
每次新增/修改/删除要支持多语言的内容,我需要先更新en.json的内容,再按照上面的流程更新其他语言文件的内容。效率非常的低!!!
现在使用Cursor,我还是会先更新en.json的内容,然后去到其他语言文件中,按下Tab键,快速补全,Cursor会自动填充翻译好的内容。
使用Cursor做多语言文件的翻译简直太友好了,效率有了十倍以上的提升。
02Cursor的几个常用快捷键
上面聊了我使用Cursor的几个高频场景,在这些场景下使用Cursor辅助编程,离不开以下几个快捷键:
Tab
Tab键是我使用Cursor最频繁的快捷键,得益于Cursor强大的智能补全功能,Tab键可以帮助我快速完成一些功能代码的编写。
Ctrl+L
在右侧对话框写的代码,你需要点Apply才能把代码应用到编辑器中打开的文件。人工审查一遍生成的代码直接再应用修改是一种好的习惯,因为AI也有可能会出错,生成有质量缺陷的代码。
Ctrl+K
Ctrl+K的主要用法是在文件中唤起Ctrl+K的位置原地写代码,如果点Apply就会覆盖当前位置的代码。
一般会在创建一个新的函数,或者重构某段逻辑的时候使用,原地修改代码,diff效果更明显。
Ctrl+I
Ctrl+I快捷键可以唤起CursorComposer窗口,输入需求,一次性创建/修改/删除多个文件件/文件。
CursorComposer是一个划时代的功能,真正开启了“一句话让AI创建一个项目“的时代。零编码基础的人,也可以使用CursorComposer快速创建项目结构,实现基本的代码逻辑,对于做一些demo类应用开发,非常有用。
另一个使用场景,比如在做多语言适配时,我只需要修改en.json一个文件的内容,通过CursorComposer一次性修改所有语言的json文件,效率高的离谱。
然而实测下来,CursorComposer涉及到多个文件代码生成时,质量有时候会比单文件生成要差一些,需要人工干预,多次提交修改。
以上提到的快捷键,在用Mac开发时,分别对应的是Command+L/Command+K/Command+I。03零代码基础,如何使用AI实现自己的想法
上面的内容介绍了我作为一个专业程序员,如何使用AI辅助编程工具Cursor提升日常的编码效率。
如果是零代码基础的朋友,又该如何搭上AI的快车,实现自己的想法呢?
使用CursorComposer构建产品
对于零代码基础,想要实现自己想法的朋友,我首要推荐的依然是Cursor这个AI编辑器。
使用CursorComposer从零到一做产品的步骤很简单:
帮我生成一个个人作品展示网站,包含两个页面,首页显示我所有的作品,about页面显示我的个人介绍。网站主题色使用蓝色,要求兼容手机端访问。
点Submit提交需求,CursorComposer会根据你的需求生成一个项目结构,并生成基本的代码逻辑。等代码生成完,你只需要点Applyall,就可以把生成的代码应用到工程目录中。
重复这个过程:Submit提需求->Applyall应用修改->预览修改效果。直到你对生成的网站满意为止。
体验一遍这个流程,你可能会感慨,之前让你感觉神秘的编程工作,好像也不过如此。
Amazing!!!
然而,使用CursorComposer只是在你的电脑本地完成了一个项目,如果想让全世界看到你的产品,还需要熟悉发布部署等知识。比如把生成的代码打包上传到服务器部署,或者使用Vercel/Cloudflare之类的云部署平台。这一块网上有很多教程,可以自行研究。使用Bolt.new构建产品
上面使用CursorComposer从零到一做网站,体验非常丝滑,但是你需要先下载Cursor编辑器,代码生成完你还需要去部署代码,绑定域名发布。可能对于零基础的朋友,还是稍微复杂。
另一个快速实现想法的选择是使用Bolt.new。Bolt.new是一个网页版的AI辅助编程工具,你不需要下载任何软件,只需要打开网页就能使用。流程更加简单:
提交你的需求,Bolt.new开始生成代码,并在右侧把整个项目的代码结构都展示出来。
在左侧对话框继续调整你的需求,让Bolt.new根据你的需求继续优化代码,同时可以在右侧的Preview面板预览项目。
除了CursorComposer和Bolt.new之外,Claude也是一个非常强大的AI辅助编程工具。
你可以在Claude描述你的需求,快速创建单页应用的代码,通过ClaudeArtifact面板实时预览,也可以发布上线,获得一个可公开访问的链接,在线预览项目。
Claude的代码生成能力一直都非常强,非常适合用来实现单页应用,或者某个功能组件。只是暂不支持项目级别的多层级文件夹/文件规划能力。如果希望生成完整的项目代码,还是推荐CursorComposer和Bolt.new。使用v0.dev生成组件
跟Claude类似,如果你只是想生成一个简单的单页网站,或者生成某个功能组件。可以使用v0.dev。这是Vercel推出的一个网页版的AI辅助编程工具。
集成了Shadcn/UI基础组件库,生成的UI组件在美观度方面会更有优势,也支持把单页应用/组件代码发布到云平台,得到一个可公开访问的链接。
如果你想为你的想法或产品,生成一个落地页,在某些活动做演示(比如在周周黑客松路演),或者给目标用户介绍你的产品和服务,可以考虑使用Pagen一键生成落地页。
04评测几款AI辅助编程工具
AI辅助编程领域,产品层出不穷,让人眼花缭乱。
我想从一个编程老司机的视角,结合实际的使用体验,对市面上常见的一些AI辅助编程工具做一个分类,并聊聊自己的看法。
AI编辑器
第一个出圈的AI编辑器产品,拥有强大的代码智能补全功能,完整项目规划能力,函数/组件代码生成能力,调试/重构能力,对话/检索/知识库问答能力等。
我总结了一下其出圈的几个关键因素:
由此可见,在开发新项目的时候,如果能选择好的技术方案,站在巨人的肩膀上,让用户保持原有的使用习惯,让新用户感受到从未有过的体验,能引发社交传播,对产品的成功起到至关重要的作用。
不管是专业程序员,还是零编程基础的人,Cursor都是值得你尝试的AI辅助编程工具。
昨天简单使用了一下,整体体验比Cursor要差一些,看了网上的一些评价,Windsurf在上下文感知和记忆方面要比Cursor强,对大型复杂项目的开发和重构支持比Cursor更好。
PearAI
YC投资的一个项目,基于VSCode在做开源的AI编辑器,我没试用过,不知道具体效果。
如果是纯粹的开源项目,倒是可以研究研究,看看别人基于VSCode做了哪些AI功能的集成,扩展一下思路,也许后面自己也能实现一个Cursor。
在AI编辑器火起来之前,就有很多项目基于VSCode做AI扩展,比如:
应该是做的最早的AI辅助编程插件了。出身名门,大名鼎鼎,本来可以有很好的发展前景,只是战略选型错了,如果一开始定位做AI-Native代码编辑器,而不是VSCode辅助编程扩展,也许会有更大的市场。
Continue
另一个AI辅助编程插件,支持VSCode和JetBrains系列IDE。代码开源,可以对接任意大模型,看起来很不错。
Cline
另一个开源的VSCode插件,没有做官网,可以在VSCode插件商店下载安装。经常看到有人安利,也许做的挺好的,值得一试。
UI组件生成工具
常用的产品包括:
另外再补充一个:
开源产品,可以自行部署,只要上传截图,就能快速复刻一个相似的UI组件。
完整项目构建工具
通过一句话构建完整项目,推荐使用:
如果你想快速构建AI智能体,可以试试:
05如何选择AI辅助编程工具
选择适合自己的AI辅助编程工具,你可以从以下几个方面考量:
如果你每天高频写代码,或者深度依赖AI辅助编程工具,可以下载Cursor/Windsurf之类的AI编辑器。
如果你只是偶尔需要写个Demo验证想法,或者偶尔需要写个UI组件,可以使用Bolt.new/v0.dev/Claude之类的网页工具。
如果你习惯为优质的工具产品付费,可以升级到CursorPro会员,解锁无限制的智能补全功能。
如果你希望找到低价的Cursor替代方案,可以使用Windsurf,会员订阅费目前是Cursor的一半,还有8周免费的福利可领。
如果你不想按月支付AI编辑器的会员费,你可以选择自行部署开源版本的AI编辑器,对接自己的大模型,享受更高的配置灵活度和更低的使用成本。
如果你跟我一样,之前一直在用VSCode编程,你可以选择Cursor或者Windsurf,无缝迁移之前的使用习惯。上手成本很低。
如果你不想下载额外的软件,想一直使用既有的代码编辑器,你可以选择安装AI辅助编程插件,比如GithubCopilot,Continue,Cline等。
如果你平时很少写代码,只是偶尔需要写个Demo验证想法,你可以选择Bolt.new或者v0.dev之类的Web项目,打开即用,写完快速部署上线。
根据你日常使用AI辅助编程的场景,选择功能丰富度更高的产品。
常用的一些功能和场景包括:代码智能补全/实时对话/联网检索/项目规划/多文件项目资料生成/UI组件生成/部署发布等。
你可以选择重点使用Cursor和Bolt.new,搭配使用v0.dev和Claude,相对而言比较合理。
06总结
我觉得不会。
我的观点是:人的想象力,创造力,对项目的架构能力,对作品的审美能力,对代码的抽象能力,是AI没办法替代的。AI可以写出常见的/标准的代码,但是如何更好的组织代码结构,写出更加完善,更有价值的项目,是需要人去完成的。
说的严谨一点:一个真正优秀且专业的程序工程师,是不可能被AI淘汰的。
我们现在看到的很多,几分钟几小时写出来的项目,可能都是玩具型/Demo级别的项目。
但是不可否认:营销是关键。Demo级别的项目,也可以跑通MVP,也可以实现PMF。这跟AI是否能替代程序员,是两个话题。
不用太担心AI会不会淘汰自己,早日拥抱AI,合理使用AI提升自己的效率,才是正确的事情。
你就当自己是张无忌,AI辅助编程工具是倚天剑和屠龙刀,倚天剑屠龙刀可以用来打天下,最终练成乾坤大挪移的,还是你自己。