当前位置: 首页 > 科技观察

为什么我仍然更喜欢Eclipse_0

时间:2023-03-12 12:05:55 科技观察

而不是IntelliJIDEA?多年来,我观察到历史潮流正在从Eclipse流向IntelliJIDEA。去年,两者的使用率几乎持平,但感觉天平逐渐向IDEA倾斜。IDEA就像IDE中的iPhone——它的用户会告诉你“一旦你习惯了它,你会发现它更容易使用”,或者“你为什么还在使用Eclipse?”每个人都应该转向IDEA”,等等。在过去的12年里,我主要使用Eclipse,但在某些情况下我使用了IDEA——当我写Scala的时候,当我写Android的时候,以及最近——因为Eclipse未能支持Java9发行版准备好,所以在尝试了半天之后我只能切换到IDEA,直到Eclipse终于有了Java9的工作版本(包括Maven和东西)。我总是很快回到Eclipse。我还是比较喜欢。不仅是因为我已经内化了所有的关键字组合(可以在IDEA中复用),还因为IDEA里面有些东西我觉得比较差。当然,IDEA有很多很酷的特性,比如code改进建议,它有有效的插件,几乎可以做所有事情。但是我发现了一些与更基本的开发流程和经验相关的问题。这些不能糖衣的“炮弹”是:1.项目不是自动构建的(由默认),所以你可以以com编译错误,直到您打开未编译的文件或运行构建。然后开启自动构建,让电脑爬行。我知道我的电脑需要升级,但这不是重点——没有“基于变化构建”对我第一次尝试IDEA来说是一个巨大的“惊喜”。我最近在Twitter上抱怨说这是“一个功能”。理由似乎是,如果您使用重构,它就不应该发生。然而,有几十个案例确实发生了。通过添加方法参数、更改参数类型、删除参数(此处IDE无法从类型推断要删除哪个参数)或更改返回类型来进行重构。此外,Maven/Gradle依赖项的更改可能会引入您看不到的编译问题。这根本不是一个合理的默认值,我认为性能问题是它仍然是默认值的唯一原因。这让体验变得更糟。2.每个屏幕只能有一个项目。也许那些只有绿地项目的小公司也存在。但是您至少偶尔需要一个单独的项目——无论是“实验”还是“工具”,或者其他什么。多模块Maven项目(IDEA处理得很好)是不够的。因此,无论何时您需要退出主项目,都可以启动另一个屏幕。除了糟糕的可用性之外,它还使内存加倍,痛苦加倍。3.说到内存,IDE似乎比Eclipse消耗更多的内存。我没有对此有代表性的基准,但我知道我现在家里的8GBRAM对开发来说太小了,但我没有改变它。4.感觉反应迟钝且笨重。有轻微的延迟,很难说,但“我能感觉到”。我在某处读到IDE过度重绘屏幕元素,所以这可能就是原因。Eclipse感觉更流畅(我知道这不是一个合适的论点,但我也没有更精确的数据)。5.聪明如我,项目周围还有“未使用的方法”和“从未分配过的字段”。由于使用Spring,这些方法和字段是控制器方法和自动装配字段。也许一些Spring插件会处理这个问题,但Spring并不是唯一使用反射的框架。甚至POJO上的getter和setter也会收到未使用的警告。这些警告有什么问题?这些警告已被贬低。他们现在没有任何意义。类也没有“黄色”指示器,因此您实际上看不到警告的数量。Eclipse能够更好地显示警告,并且误报不太常见。6.通话水平略差。但由于这是对我来说最重要的IDE功能(也是重构),所以我一定要突出显示它。如果没有明确定义的默认构造函数,它不会为您提供调用层次结构。此外,据我所知,IDEA用户并不经常使用调用层次结构功能。我觉得“找引用”通过调用层次之前的UI也是比较明显的,所以有些IDEA用户甚至不知道调用层次是什么,而是反复“找引用”。这只是IDE的缺陷之一。7.不要在输出控制台中搜索。为什么我有IDE时必须复制输出并将其粘贴到文本编辑器中才能搜索?等等,让我澄清一下,控制台确实有搜索功能。但是当我运行(SpringBoot)应用程序时,它会在底部的面板中输出内容,而不是控制台,并且没有搜索。8.CTRL+箭头默认跳过整个单词,不是“洛风式”单词。这是可配置的,但又是一个奇怪的默认值。几乎总是希望能够逐字遍历变量(驼峰式大小写),而不是跳过整个变量(方法/类)名称。9.几年前我将它用于Scala时,该项目从未真正编译过。但我猜这更多是Scala的错误,而不是IDE的错误。如果你说,除了前两个,其余都不是大问题,那我同意。但问题越积越多,最后一根稻草压垮了骆驼。所以,我又回到了Eclipse的怀抱中。当然,你也可以对这些问题视而不见,这是你的选择自由。