危险!VS Code 杀死 IDEA?!

Java技术栈

共 4156字,需浏览 9分钟

 ·

2022-05-31 17:35

点击关注公众号,Java干货及时送达

来源:https://www.jdon.com/55835

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

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

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

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

感觉它们来自不同的开发哲学。

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

另一方面,Jetbrains可在为一种特定语言显式构建的IDE上工作。考虑CLion for C,它只有两年的历史了!他们投入了大量资源来支持一种语言及其所有相关的工作流程。

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

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

Intellij实际在后台有一个jetbrains IDE。这个IDE是一个单一平台,可以使用任何语言的插件和代码,并且可以根据您的喜好进行自定义。如果你想学习 IDEA 可以微信搜索公号Java技术栈,在菜单菜单栏阅读。

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

这就是为什么CLion才几年还算不错的原因。这是因为只要新开发一个插件,将其推入了现有的生态系统中即可。这与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,更新文档并运行发布脚本。

对于所有其他语言我将使用VS Code,这主要是因为我没有安装IDE。

Jetbrains IDE性能是如此糟糕,我觉得烦恼。

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

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

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

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

我不认为Jetbrain仅凭努力和运气就能保持领先。一旦您了解了Intellij的内幕,很明显它们具有显着的体系结构优势。VS Code是使用LSP提供重构和导航的文本编辑器,而Intellij是在前端具有良好文本编辑器的重构引擎。Intellij是一个在抽象语法树上运行的结构化编辑器。

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

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

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

VSCodes对Java,Python和Golang的支持远远落后于IntelliJ。最新面试题整理好了,大家可以在Java面试库小程序在线刷题。

在我们撰写大量Go语言的Microsoft团队中,IntelliJ / GoLand开发人员和VS Code开发人员之间有50/50的分配比例,并且有更多人从VS Code转向IntelliJ,反之亦然。IntelliJ IDEA 系列教程:https://www.javastack.cn/categories/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/IntelliJ-IDEA/

我已经使用IntelliJ for Java很久。对于JS和Go,我使用VSCode。

JetBrains的东西几乎一样。不支持诸如如何配置其自动格式化程序以兼容特定设置的美化工具。不支持开箱即用的必需配置。而代码构建build和IDE通常生活在完全不同的世界中。

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

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

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

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

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

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

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

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

我唯一缺少的是协作编辑,我仍然必须跳到VS Code来做。

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

我使用VSCode进行我95%的开发,感到更开心。我将其余的5%用于IntelliJ。

我不喜欢使用JetBrain工具。无论我在使用它们的任何机器上,它们都感觉呆滞且肿胀。启动编辑器需要花费很多时间,而且往往反应迟钝,或者您会感觉到屏幕上出现的字符与按键之间的延迟。

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

VSCode不会杀死IDEA,但这对Jetbrains来说是一个巨大的警告 他们最好投入更多的精力来解决自一开始就困扰着他们的IDE的缓慢启动和性能问题。

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








Spring Boot 定时任务开启后,怎么自动停止?
工作 3 年的同事不知道如何回滚代码
23 种设计模式实战(很全)
Spring Boot 保护敏感配置的 4 种方法!
再见单身狗!Java 创建对象的 6 种方式
阿里为什么推荐使用 LongAdder?
新来一个技术总监:禁止戴耳机写代码。。
重磅!Spring Boot 2.7 正式发布
Java 18 正式发布,finalize 被弃用。
Spring Boot Admin 横空出世!
Spring Boot 学习笔记,这个太全了!



关注Java技术栈看更多干货



获取 Spring Boot 实战笔记!
浏览 30
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报