发布时间:2025-07-19
浏览次数:0
作者:
译者:码农网 – 小峰
多年来,我目睹了历史的长河正不断涌向IDEA。在去年,IDEA与另一方的使用频率几乎持平,然而,我察觉到,天平正逐渐向IDEA倾斜。
IDEA犹如IDE中的典范——使用者们纷纷表示,“适应之后,你定会感受到它的卓越之处”,亦或好奇地询问,“为何你还在坚持使用其他工具?”更有热情的反馈,“IDEA真是太出色了,每个人都应当尝试使用IDEA。”诸如此类。
在过去十二年里,我主要依赖它,但在特定情境下,我选择了IDEA——尤其是在我处理Scala编程任务时,编写代码时,以及近期——鉴于Java 9发行版尚未准备就绪,我经过一番努力后,不得不转向IDEA,直至最终获取了一个可用的Java 9版本,其中包含Maven等工具。
我总是迅速返回。我依旧对其情有独钟。这不仅仅是因为我已经熟练掌握了所有关键字的搭配(这些组合在IDEA中可以重复使用),还因为在IDEA中存在一些我认为更为糟糕的方面。诚然,IDEA拥有众多令人兴奋的功能,比如代码优化建议,以及其强大的插件系统。然而,我发现其中一些问题与开发的基本工作流程和用户体验密切相关。这些无法用糖衣包裹的“炮弹”是:
1、项目不是自动构建的(默认情况下)
项目并非默认自动构建,因此你可能会遇到编译错误,直至你开启非编译文件或启动构建过程。之后,启用自动构建功能,让计算机活跃起来。我清楚我的电脑需要升级,但这并非关键——对于初次使用IDEA的我来说,发现没有“构建随变化而自动进行”这一功能,确实是一个意外的“惊喜”。
我最近在抱怨intellij idea无法删除文件,这竟然被称作“一个功能”。其依据似乎是,如果你进行了重构,这种情况本不该出现。然而,实际上已有数十个案例证明这种情况确实发生了。这些案例包括通过添加方法参数、改变参数类型、删除参数(在这种情况下,IDE无法根据类型推断出应删除哪个参数)或修改返回类型来进行重构。此外,Maven或依赖关系的变更也可能导致你无法察觉的编译问题。这根本算不上一个恰当的预设数值,而且我坚信性能不佳是其依然作为默认设置的根本原因。这一状况无疑加剧了用户的不便体验。
2、每个屏幕只能有一个项目。
或许确实存在那些仅涉足绿地项目的小型公司。然而,你至少得时不时地拥有一个独立的项目——不论它是“试验”性质,抑或是“工具”用途,亦或其他用途。仅靠多模块的Maven项目(在IDEA中表现良好)是远远不够的。因此,每当你需离开你的核心项目时,你便得开启另一个显示屏。而这不仅因为其糟糕的可用性,还因为它的内存消耗翻倍,痛苦感也随之成倍增加。
3、说起内存,IDE似乎比更耗费内存。
我并未拥有该领域的典型参考标准,然而intellij idea无法删除文件,我深知目前家中所用的8GB内存对于软件开发而言明显不足,尽管如此,我尚未进行更换。
4、它感觉没有那么响应和笨重。
稍有滞后,具体原因尚不明确,然而我确实有所察觉。曾在一处文献中了解到,IDE可能因过度重绘屏幕组件而导致这种情况。或许这便是缘由。操作体验似乎更加流畅(尽管这并非充分论据,目前也缺乏更精确的数据支持)。
5、机智如我很聪明地围绕项目有“ ”和“never ”。
因为这些方法和字段被用作控制器方法和自动装配字段,所以它们是如此。尽管某些插件可能对此有所考虑,但并非所有依赖反射的框架都如此。即便是POJO类,也会触发警告。这些警告有何价值?它们已经失去了原有的价值。目前,它们已不再具有实际意义。由于类上没有“黄色”警示标志,因此我们无法直观地看到警告的具体数量。能够更好地显示警告,而且误报也不太常见。
6、调用层次稍差。
层次调用存在不足。然而,这对我来说是IDE中至关重要的功能之一(重构同样重要),因此我必须特别强调。它无法为你提供未明确定义的默认构造函数的调用层次结构。此外,观察发现,IDEA用户并不频繁地使用这一调用层次结构功能。在启动层次结构功能之前,通过用户界面进行“查找引用”操作显得更为直观,以至于不少IDEA用户对调用层次结构的概念并不了解,他们习惯性地多次执行“查找引用”。这仅仅是IDE存在的一个不足之处。
7、在输出控制台中不进行搜索。
为何即便安装了集成开发环境,我仍需将输出内容手动复制并粘贴至文本编辑器以进行搜索?稍作停顿,我需明确指出,控制台本身是具备搜索功能的。然而,当我启动(Boot)程序后,其输出结果并非出现在控制台界面,而是显示在控制台下方的一个面板上,并且该面板并不支持搜索功能。
8、当使用CTRL键与箭头键组合时,系统默认操作是跳过整个单词,而非按照“骆峰式”进行单词处理。
这具有可调整性,然而却设定了一个令人费解的初始值。大多数人普遍期望能够逐个字符(尤其是在驼峰式命名法中)地遍历变量,而非直接忽略整个变量(方法或类)的名称。
数年前,我尝试将该项目应用于Scala编程语言,结果它始终未能成功编译。然而,我认为这更多是Scala自身的问题,而非集成开发环境(IDE)的过错。
你若表示,除去前两个以外,其他均非重大困扰,我亦表示赞同。然而,问题一个接一个地累积,最终,如同稻草堆压弯了骆驼的脊梁。因此,我再次回到了某个怀抱。当然,你也可以选择对这些问题视若无睹,这是你享有的选择自由。
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码