cursor与Clion的思考
2025.1.28除夕。新年快乐,祝大家,也祝自己。
前言
随着最近国产化AI大模型在deepseek R1的爆红之后热度又一次喷发,我也通过各种渠道开始了解到Ai编码工具对于开发者的影响。
最近网络上除了比较各家大模型的性能,随之而来的是各种在开发环境下引入Ai编码工具的教程,其中关注点最多的之一就是”vscode + cline + deepseek 平替 cursor”。《普通人也可以看的 AI 编程指南 | Cursor 教程|Cursor 使用技巧和思路|如何免费使用 Cursor|AI 编程_哔哩哔哩_bilibili》 这个视频中也提到了据统计中目前百分之六十的程序员都或多或少了解到了cursor这款Ai编辑器,但其中能够高效使用的不足百分之二十。
说来惭愧,其实我也是趁着deepseek爆红的这波流量,加上群里大佬的介绍,才刚刚了解到的cursor编辑器。cursor编辑器开启来就是一个定制化的vscode,内置了各种大模型,嵌入到vscode中,增加了许多能直接操控vscode对于整体项目结构和文件内容进行增删改查等功能。它还具有两个chat窗口,用户可以根据需求与Ai交流,并将Ai的结果进行审阅之后决定是否加入到自己项目中。另外,cursor还加入了很多人性化的功能,比如借助大模型读取项目结构,进而实现模块的查询与解读、性能优化、代码审查、便利修改等功能,对于程序员来说,这大大可以减少开发前中期乃至后期的成本。cursor还得益于其对上下文分析的功能,可以在海量复杂的代码下进行解读,如果靠程序员自己分解,这又是在编码之外的一个巨大工作量,而借助Ai,可以大大减轻程序员的压力。
写到这里,其实我对于cursor的功能也就道出了不到十分之一,但是就这些,就足以对我这个初出计算机茅庐的小子极大的震撼了:我甚至连软件开发的皮毛都没有学到,cursor这么强的人工智能就已经将我碾压了吗??
cursor与CLion的思考
那么为什么标题叫做”cursor与CLion的思考”呢,其实这是我对于两大类编辑器的想法,cursor所代表的引入了Ai编码工具的编辑器(包括vs code + cline + deepseek),与传统的成熟IDE(CLion、VS等)。
CLion目前对我来说最大的优势就是具有一套非常完整的、几乎是开箱即用的编码环境,从编写代码到构建、运行,都可以在CLion中很轻松完成配置,且不需要安装任何插件。另外,CLion内部对开发也作出了很多人性化的优化,包括代码补全、轻量级的代码提示、文件跳转还有错误检查等。同样,因为CLion内部集成了这样的一套完成流程,所以我也可以借助CLion来学习我的一个cpp项目到底是怎么跑起来的(构建、编译过程),这一过程几乎都是在CLion中完成的,了解起来非常顺畅。
开发方面,面对项目中迥异的环境配置,CLion的成熟跨平台一体化IDE的优势则体现的非常明显,它对于各种模块的支持非常的完善;而cursor则只能不断安装插件,且插件的质量参差不一。CLion真正做到了”开箱即用”。
在编码方面,与cursor相比,CLion称为”全手动”的也不为过,注意这里是说的编码方面。CLion只是提供了一些较为基础的语法补全功能,能较为有限的给予程序员提示词。虽然CLion中可以加入各种Ai插件,如Github copilot(也可以集合在vscode中使用)、通义灵码,但无论是智能程度、开销都比不上现在的cursor。(或许再过几天这方面又会有很大的发展也不一定)。现在我个人还是在使用CLion+web端Chat,基于需求提问Ai,得到结果,然后嵌入到项目中。
cursor的缺点:
目前对于cursor吹捧较高的其实还是”与物理机无关”的一些语言,如前端、python、java等,且给出的解决方案也只是具有参考性的,无法实现完全移植。一些涉及偏底层且工具链不一的语言(这里就提到C、C++、rust了),无法维系整个项目的编译过程,还是需要依靠安装插件或者用户手动输入命令,来进行配置、构建。【这里我还在继续研究解决方法】
总之,cursor的缺点就是vscode的缺点,过于插件化,没有特定的集成化IDE。如果有针对不同语言的IDE cursor,那就是完美了。
ide的缺点:
成也集中,败也集中。
ide的开箱即用将很多配置阶段简化掉了,在任意一个语言中从源代码->机器码的过程中,绝对都不必须ide这个元素。ide是将这个过程都集合在了自己的内部(或内部通过调用系统的工具)。
这导致如果程序员过度依赖于ide,很可能会忘记”裸”的程序应该如何跑起来。拿cpp举例,通过ide中简单的cmake配置,很容易将cmake、构建工具、编译工具链调度起来。而离开了ide,例如使用vscode打开项目,甚至终端打开,就算将各种工具都配置好了,你知道如何用命令将程序跑起来吗。如果让你从零构建一个项目呢,你还知道如何配置各种环境吗?
对于这种情况,也好解决,可以跟”玩”一样,偶尔试一试自己能不能在非ide环境下的命令行跑起来一个程序,例如在vscode中跑程序,或者到Linux下去跑一跑,跨一下平台。
程序员不能安于现状,一直依赖于ide,要常学习、常回顾💪
结合优点,取长补短
总结:推荐方案
场景 | 推荐方案 | 复杂度 | 效果 |
---|---|---|---|
快速使用 AI 补全 | GitHub Copilot / Tabnine 插件 | 低 | 开箱即用,流畅补全 |
需 DeepSeek 特定能力 | Cursor + CLion 混合开发 | 中 | 灵活但需手动切换 |
深度定制化集成 | 开发自定义插件调用 DeepSeek API | 高 | 高度可控,技术门槛高 |
程序员的军备竞赛!?
cursor目前的功能还是没办法取代传统ide,但是它却带来了一些很好用的能提升开发效率的功能,比如局部需求的添加、思路的延展、报错的解决、性能的优化、代码自动补全等,而且很适合个人使用,即可以根据小需求完成之后,提供的解决方案给用户进行学习,这样能在工作中获取更多的学习时间。
cursor毕竟也是基于vscode的,cpp的构建、运行设置基于不同物理机的配置较为繁琐。个人感觉可以在项目增加需求的时候适应它来解决问题,然后生成解决方案等。
cursor相当于是一个嵌入到项目中可以操作项目的AI,学习一下,扩充自己的弹药库,总没错。
唯有学无止境,永远不能停止学习
其实写到这,我的疑惑还是没有解决:既然现在的Ai编码工具这么离谱,那么以后我们这种程序员会不会被Ai编程所取代?代码开发是不是也会变得快餐化?以后的程序员是不是只会使用大模型工具就可以完成编码了呢?
个人的学习能力肯定是比不上Ai的进化速度的,我有预感,在我可见的那一天,Ai一定有可能会取代掉传统程序员的。
那么,我们学习的语言语法、数据结构、软件工程设计,甚至基础学科、交叉学科的知识,是不是也慢慢会在Ai这样一个全知全能大百科全书面前变得黯然无光?我看了看手头前阵子刚要开始拜读的《代码大全2》,渐渐陷入了沉思。。。。。。
赛博土壤,但仍要精耕细作
随着”赛博化”,第四次工业革命或许马上就可遇见了。
在这个人工智能发展迅猛的时代,要想提升自己的核心能力,我认为还是要在赛博土壤上”精耕细作”,往一个或多个领域深挖即可。Ai仿佛是一张无形的大网,包住了世界上所有的知识,无论哪个领域,Ai都会给出解答。
但是Ai始终还是工具,”人提出需求,人使用工具(Ai)->工具工作得到结果->人得到结果并进行审核”,这样的一个流程却是亘古不变的,因为需求的源头是人,因此对结果进行审核的还是人。
那么我们可以从一个很小的方面去窥见事情的本质:Ai是通过接收命令来执行工作的,下达命令的是人,而无论命令是抽象的,还是具体的,都是人来提出的,如果不具备核心知识,人是无法提出命令的,Ai自然也无事可做;同样,对于Ai给出的结果,如果人看不懂,不知道Ai的操作,也是无意义的。所以Ai只是替代了 部分 执行命令的程序员们,它无法替代掉自己的上下游。
所以可以发现,Ai替代的往往都是环节中技术含量相对不高、人力消耗较高的部分,例如往往需要花费半小时构建出来的传统框架,Ai很快就可以构建出来,这个框架的构建,只要是了解过框架的构建过程的程序员,都是可以构建出来的。同样的还有注释的补充与填写、数据的修改等。这部分内容的学习难度较低,成长曲线也较为平缓,可能你使用springboot到了第十年,或许开发效率和结果只比第三年提升了百分之二十。因为这只是重复的工作,反复做只是提高了熟练度,而不是真正进行了
“学习”。另外,Ai超强的搜索能力,三分钟就能浏览成百上千篇文章,其实也只是节省了程序员一条条去查询的成本,它只是作为一种工具将很多流程缩短了,但并没有越过关键的部分。
所以,所谓”小白+cursor可以取代程序员”、”零代码程序员”等只是一个噱头,如果不去了解Ai背后的行为,不真正了解语法、数据结构、软件工程、算法、新知识,你就永远只能是一个只会使用工具的原始小白。
提升自己的核心能力的,永远都是提升自己的能力,而非自己使用工具的能力。这些能力才是独属于你的、Ai工具和别人都拿不走的核心。
持续学习永远都不会错,况且还有热爱
思考了这些之后,我又回头看了看手上的《代码大全2》,还有一堆年前买的关于软件工程构造的书籍,发现这些永远提升的都是程序员的能力,这些才是程序员的核心。不必要被网络的风潮轻易带偏,不必要怀疑自己学习的成本,不必要怀疑自己的积累,因为这些都是实实在在的加装在了自己的内核之中,这也是作为程序员,应该孜孜不倦持续学习的东西。
最后,希望新的一年,我能够用好这些日渐强大的Ai工具,填充自己的武器库,不断学习,提高学习、开发效率,热爱我所热爱的,yj_295_codeMyWay!