该内容已被发布者删除 该内容被自由微信恢复
文章于 2021年9月8日 被检测为删除。
查看原文
被用户删除
其他

VsCode虽然挺香,但IDEA依然是王者。。。

点击关注 👉 鸭哥聊Java 2021-09-08

大家好,我是鸭哥。


IDEA vs VS Code的故事是一个低端颠覆高端的故事,VsCode几乎吸引了所有年轻和时髦的观众。这当然表明了一些非常有能力的战略计划。同时,JetBrains似乎仍能保持生存,这主要归功于辛勤的工作和运气。


考虑到其迭代开发的速度(很大程度上要归功于JS + Web渲染器的生产力),我以前认为VS Code将对JetBrains IDE构成威胁,但它似乎永远无法完全达到JetBrains功能级别。


JetBrains中的每个IDE功能似乎都可以更好地实现,无论是代码分析,重构,导航,运行/调试,运行测试,添加新文件,git集成还是上下文功能(如添加程序包引用等)。JetBrains中的一切都更好。


我认为VS Code是一个无处不在的智能编辑器平台,具有成千上万个插件,介于精美的文本编辑器和IDE之间,我经常使用它进行快速的开发更改,快速搜索文件夹,前端UI开发,尝试新语言或编写文档。但是,如果我必须开始一个漫长的开发会议,我将转向JetBrains,我发现它的工作效率更高。


感觉部分来自不同的开发哲学。


Vscode是“文本编辑器”或“代码编辑器”。通常,这意味着它相当轻巧,可以在阳光下支持每种语言,具有高度可配置性和可扩展性,但是没有很多非常深入的功能,并且部分依赖第三方扩展来提供更深的功能。


另一方面,Jetbrains可在为一种特定语言显式构建的IDE上工作。考虑CLion for C,它只有两年的历史了!


他们投入了大量资源来支持一种语言及其所有相关的工作流程。


虽然那很棒,但是您不应该在Phpstorm中编辑python代码。它支持语法高亮显示,也许还支持其他一些小功能,但是仅此而已!


简而言之,代码编辑器通常会投放具有很多可配置性和可扩展性的真正广泛的网络,而(jetbrains)IDE往往会深入研究单一语言或工作流,而扩展性却较低,并且受支持的语言本身也具有很深的可配置性。


Intellij允许您将所有其他jetbrains IDE的大部分功能安装为插件。另外,他们的大多数IDE都具有使用多种其他语言进行编码的能力,这些语言与核心体验是分开的。例如,他们几乎所有的IDE都可以与javascript生态系统集成。


我认为您在这里犯了一个错误。本质上,在后台有一个jetbrains IDE。该IDE是一个单一平台,可以使用任何语言的插件和代码,并且可以根据您的喜好进行自定义。


从表面上看,Jetbrains并没有完全向公众发布此IDE。他们在此IDE的TOP上提供了不同的配置和不同的默认值,然后将其锁定一些并以不同的名称运送这些配置文件中的每一个。所有这些IDE基本上都是在完全相同的核心平台上运行的不同捆绑插件。


这就是为什么CLion才几岁,而且还算不错的原因。这是因为开发所需的所有Jetbrains都是一个插件,并将其推入了现有的生态系统中。


这与Vscode没什么不同。两者都是可以插入新功能的编码平台,只是jetbrains锁定了一些自定义功能,并通过捆绑插件捆绑销售其IDE,从而提供了更好的核心体验。


使Jetbrains变得更好的是这种集中而又质量较高的功能组合,感觉具有凝聚力。使Jetbrains更糟的是,他们正在为其开发的中央平台臃肿一切都很缓慢,需要花费很长时间,并且可能会锁定。


IDEA产品类似Borland IDE或Quick Basic之类的空间,而VSCode似乎更像是JavaScript时代的Emacs。


不确定现在有多少开发人员用一种语言编写代码。我每天都会在Go,Dart和C ++之间往返,因此使用像VSCode这样的IDE(具有从扩展名到快捷方式再到片段的熟悉功能)是一个很大的帮助。


我确实必须维护几种语言的库,基本上,每个JetBrains IDE都内置了对JS / TypeScript +所有流行的Web文件格式的一流支持,无论您使用何种后端语言。

对于C#,F#和VB,我使用Rider。


对于Dart,Java和Kotlin,我使用Android Studio,但是如果我需要使用Java / Kotlin进行大量开发,那么我会跳到IDEA。


对于TypeScript / JS npm项目,我使用VS Code进行较小的更改,但是对于较长的会话则使用WebStorm。


对于Swift软件包,我将Xcode用于开发,将VS Code用于git,更新文档并运行发布脚本。不幸的是,在尝试使用AppCode构建我的项目时遇到了问题。


对于所有其他语言(用于为以下项目开发项目模板和软件包 https://gist.cafe)我将使用VS Code,但这主要是因为我没有安装IDE。如果我不得不花几天时间来使用JetBrains提供专用IDE的语言,那么我很可能会安装并尝试使用该语言,然后再使用VS Code(JetBrains所有产品包+统一工具箱更新使这毫不费力且可行)。


Jetbrains IDE的性能是如此糟糕,我很快就烦恼了,然后转向其他东西。与XCode相同。


我发现VSCode是功能最丰富的编辑器,我可以忍受它的速度。从资源消耗或启动速度上来讲,VSCode绝不是理想的选择,但是社区使用我使用的语言(rust,node.js,前端js)编写的VSCode成为了黄金之路,而使用其他更轻便的编辑器则是一个很大的降级。


Sublime的前景令人难以置信,但就我的经验而言,功能不足是明智的。我真的会把钱投入到本机的,性能更高/更轻便的VSCode中。


我同意,我也认为关于vs代码作为通用文本编辑器的同级评论是很公平的。


Intellij在企业环境中具有巨大的优势,在企业环境中,一致性,统一性和易于更换的团队成员至为重要,VSCode是高度可定制的代码编辑器,适合不同的用例,团队中的每个成员都希望尽可能地自定义工作经验。


我不认为Jetbrain仅凭努力和运气就能保持领先。一旦您了解了Intellij的内幕,很明显它们具有显着的体系结构优势。


VS Code是使用LSP提供重构和导航的文本编辑器,而Intellij是在前端具有良好文本编辑器的重构引擎。Intellij是一个在抽象语法树上运行的结构化编辑器。(在Jetbrain看来是“ psi节点”。)


创建LSP的难点是提供诸如重构和导航支持之类的功能,而这些正是IntelliJ为其语言插件提供的功能。为了实现给定的重构和导航支持水平,LSP开发人员需要比jetbrains插件开发人员花费更多的精力。


从我的角度来看,Jetbains似乎并没有通过努力工作和运气来保持领先,而通过智能架构和设计使他们能够以更少的努力来生产高级,高价值的功能似乎并没有保持领先。


我并不认为IntelliJ和VSCode是竞争者。VSCode可与Atom和其他功能齐全的文本编辑器(vim,emacs)竞争...在新一代程序员中,VSCode受到了极大的欢迎,他们认为这些编辑器既老派又对用户怀有敌意。


VSCodes对Java,Python和Golang的支持远远落后于IntelliJ。


FWIW,在我们撰写大量Go语言的Microsoft团队中,IntelliJ / GoLand开发人员和VS Code开发人员之间有50/50的分配比例,并且有更多人从VS Code转向IntelliJ,反之亦然。


我已经使用IntelliJ for Java很久,只要我记得并且无法想象使用其他任何东西。对于JS和Go,我使用VSCode。我想知道这是否就是我刚开始并习惯的。我尝试过几次使用Intellij进行Go,但是最终还是回到了VSCode上。


JetBrains的东西几乎一样。不断尖叫有关如何配置其自动格式化程序以兼容特定设置的美化工具。不支持开箱即用的必需配置。而代码构建build和IDE通常生活在完全不同的世界中。例如,在gradle和IDEA上的project moodel完全不同,而在IDEA上的项目则更为有限。等等。


Android Studio可能会在“索引编制”时挂起整个mac,并且通常需要“重置缓存并重新启动”,而在VS Code中可以正常工作。


VSCode对于TypeScript非常非常好。天哪,我敢肯定VSCode本身是用TypeScript编写的!


但这并不适用于所有语言。当在带有Java后端的Web应用程序上工作时,我仍然更喜欢Idea,因为它对Java更好,对于TypeScript也足够接近,因此它在所有方面都遥遥领先。


我对VS Code的看法是,他们对开发容器和ssh的支持是最好的,并且是杀手级功能。


我非常想在IDEA中使用VS Code的远程开发功能,并在YouTrack中跟踪其远程开发功能。当CodeWithMe发布时,我非常失望。


我想要的只是我的代码可以在任何地方运行,而我的本地计算机是IDE。


mutagen.io最终成为了我的答案。在了解了它的工作原理之后,我对其进行了设置,并且效果非常好。这些天我主要在进行PHP开发,并且有一个LAMP堆栈作为docker容器在服务器上运行。


同步几乎是即时的(99%的时间),罕见的冲突很容易解决,并且调试当然仍然有效。


我唯一缺少的是协作编辑,我仍然必须跳到VS Code来做。我还没有尝试过在相同的代码实例上使用`mutagen sync`的两个人,但是如果可行,那可能是一个非常有趣的解决方案。


对于协作/结对编码,与编辑器无关的解决方案真的很棒。


我使用VSCode进行我95%的开发,因此感到更开心。我将IntelliJ用于其余的5%(这只是针对特定产品的Groovy脚本)。


我不喜欢使用JetBrain工具。无论我在使用它们的任何机器上,它们都感觉呆滞且肿胀。启动编辑器需要花费很多时间,而且往往反应迟钝,或者您会感觉到屏幕上出现的字符与按键之间的延迟。绝对可怕。话虽如此,我仍然在使用它们,因为尽管存在这些严重的缺陷,但是没有什么可以比得上的。我也使用VS Code,但这只是因为在输入`code .`和准备好输入内容之间几乎没有延迟。


根据Jetbrains自己的调查,VS Code确实越来越受欢迎-从2017年的7%的Python开发人员到2020年的29%,而Pycharm仍然保持在33%左右。


VSCode不会杀死IDEA,但这对Jetbrains来说是一个巨大的警告


他们最好投入更多的精力来解决自一开始就困扰着他们的IDE的缓慢启动和性能问题。


是时候放弃台式机上的Java或购买本机AOT编译器/或使用GraalVM了


banq:vscode是全栈工程师唯一选择。VsCode Yes!

作者:解道Jdon

来源:https://zhuanlan.zhihu.com/p/356217892


近期技术热文

1、牛逼!你竟然使用 Redis 实现一个轻量级的搜索引擎。。。

2、把VS Code打造成Java开发IDE,也挺爽!

3、放弃 JSP 吧,让自己的路走的宽一些。。。

4、Spring官宣,干掉原生JVM!

点击下方公众号
回复关键字【666
领取资料


我就知道你会点赞+“在看”

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存