Idea与Eclipse对比及常用配置和插件


前言

一直从事Java开发,长期使用Eclipse,几次尝试放弃Eclipse直接使用Idea,最终也没有完全转到Idea,主要是idea的代码编写和注释问题,现在2个结合都用。本文主要基于我常用的功能,本着公平原则,对Eclipse与Idea进行对比。对比之前我也不知道结果会怎样,都说ieda很好用,我都用了,网上也有一堆对比,各有优缺点。早就想弄个对比,一直没弄,最近有时间了,完成这个想法。

本文的目的是记录一下使用过的工具,帮助新人获得好用的插件并在两个IDE找到对应的配置,前6项为详细对比,在第7项开始列出了部分插件配置方法,供参考,由于时间关系后续会补充第7项之后的对比,也建议老码农尝试新工具如vs

本文将主要使用gif图片进行对比,增强可信性

因为常用Eclipse可能会有偏向,欢迎拍砖,没用把2个IDE都精通使用,希望手/嘴下留情。
欢迎评论指出2个IDE里相关的功能该如何使用达到相同功能,共同成长

这是基于google搜索排名,最新IDE市场占有率 情况可参考,准确与否不讨论


一、对比项、标准和结果

本文主要基于我常用的功能,本着实用性的原则对Eclipse与Idea从开发Java的角度进行对比,并进行打分,每一项 0-10分,尽量列出评分标准,不是专业对比,不会详细对比所有项

  • 免费与否、炫酷功能、vue/js/css等前端相关、内存占用----不在此次打分项(内存和收费对使用影响不大)
  • 能通过插件库安装插件实现彼此功能,不扣分
  • 相同功能使用复杂或者灵活,加分或减分,没有使用idea或Eclipse做基准进行评分,而是 以我认为该功能是IDE应该具有的基本功能----做基准,基准的基础上好用+0.1到+0.3,不具备或不好用-0.1到-0.3

基于Eclipse版本2021-06(4.20.0)UI插件(Material Theme UI Plugin) Idea版本2021.2(知神reset方式)进行对比,按照我认为重要程度优先级进行排序

对比项EclipseIdea
编写代码及提示4.34.1
全局搜索和替换1.92
代码注释和规范2.12
代码重构与新建项目21.9
运行与debug1.82
编译打包0.91
常用插件
快捷键配置
其他常用功能
反编译
开箱即用
IDE版本截图
汇总1313

二、详细对比

说明:本文所有操作 均使用Eclipse的快捷键,Idea以修改为Eclipse的快捷,并且有些做了自定义修改

因为担心录屏文件太大,所以采用了只录制操作,所以gif图看起来可能会太快了。

1.编写代码及提示

代码编写

常量定义:Eclipse中psfs缩写是自定义的,idea中默认提供了int和String类型的常量,Eclipse对默认的static_final使用更加灵活,支持作用域类型设置,按Type建自动进入下一个编辑项。Idea应该也能配置作用域的选取,未验证
我认为这是基本功能Eclipse得1分,Idea的0.9分
Eclipse里配置路径为windows>preference>java>editor>templates

在这里插入图片描述

代码修改

  • Eclipse在修改代码时可能将原有代码直接替换(标黄色的部分),这个有利有弊。因需要自己手动在前边增加空格因此 -0.1分
    Idea只在代码前增加你想加入的内容
    如图,增加static 关键字时Eclipse需要自己在前边增加空格在输入static
    在这里插入图片描述

  • 调用testParam和testParam2两个方法,Eclipse的自动修改会将标黄部分之间替换。Eclipse在调用方法时如果有与入参同名的参数,会自动带入,并让开发者选择是否使用这个参数而Idea提示参数名称但需要自己选择输入,Eclipse的这一项我非常非常喜欢,这一项有时候你只需要回车回车就搞定各种参数了因此+0.3分
    截图里在Idea最后的报错,是因为修改时未选中整个方法名,不够灵活,Eclipse偶尔也会有这个问题,但比Idea概率低很多,暂不扣分。
    ifnull ifnotnull foreach 这种关键词的缩写,基本差不多,不进行对比了。
    方法调用与修改在修改代码和方法调用时未发现Idea值得叫好的地方,在编写代码这块希望能够跟进
    基本功能都有,Eclipse更好用Eclipse得1.2分,Idea的1分

导入依赖

前提条件:设置保存时自动引入依赖。

Eclipse只会自动导入不存在大小写完全同名的类,Idea会有自动选择引入依赖,这点两个差异不大,对日常开发影响较小,在编写代码的时候也都提示要导入的包,Idea更智能一些 +0.1分
在这里插入图片描述
Eclipse可以一次导入多个依赖 +0.1分,这个用的可能较少,idea未发现这个功能。
Eclipse多次导入多个依赖

Eclipse得1.1分,Idea的1.1分

项目显示

Idea在Project试图下文件夹结构与Eclipse的Navigator试图下显示一致,打开文件夹时不方便,需要点3次。可在Package试图下使用,会将src/main/java展示为一层,日常使用Project试图较多,希望可以优化,Eclipse得1分,Idea得1分。
在这里插入图片描述
项目依赖时,假定有以下AB两个项目(共4个服务),当A1依赖B1时。Eclipse同时打开4个项,那么A1会自动引用B1的源码,联动修改时很方便,而Idea会引入编译好的class,修改代码后Idea重新install才生效。主要是因为对于工作空间的定义不同。我的工作中这种情况不少,但身边同时这种情况不多,暂时打平。

AProject
	A1Project
	A2Project
BProject
	B1Project
	B2Project	

Idea可以预览显示部分代码**+0.1分**,Eclipse未发现这个功能。
Idea预览代码
UML显示 Idea +0.1分 。Eclipse 应该也有吧?? UML我用的少,没有发现在哪里
UML
当打开多个文件的时候Idea默认10个,当超出屏幕显示的时候没有搜索需要重新打开,而Eclipse有下拉搜索, 我认为这是基本功能,dea 没有 -0.1分
这个可能和习惯有关吧,有些人习惯重新打开文件,我习惯都开着然后搜索需要修改的,所以idea默认打开文件数我调成了50。
在这里插入图片描述 在这里插入图片描述

吐槽一下:

  • Idea每天第一次启动的时候Scanning file to index真心慢,Eclipse偶尔也会有这个现象,但是低很多。
  • Idea 的最大化窗口没有Eclipse方便,经常看见同事拉窗口,Eclipse 的Ctrl + M 搞定所有窗口的最大化最小化,而Idea需要Ctrl+Shit+引号Ctrl+Shift+F12 这两个操作设置成相同的快捷键也不行 😭 通过双击也可以搞定。快捷键最大户窗口我认为这是基本功能,暂时先不扣idea分吧。
汇总各项EclipseIdea
代码编写10.9
代码修改1.21
引入依赖1.11.1
项目显示11.1
汇总4.34.1

2.全局搜索和替换

Eclipse需安装Quick Search插件实现全局搜索

替换

两个都支持多行查询,正则查询,Eclipse默认的ctrl+f查询会需要弹窗,没有Idea的简洁。
Eclipse可通过DevStyle插件调整查询弹窗,达到和idea一样的效果,我的截图或录屏就是基于这个插件的ui(使用这个插件后有bug,选中多行代码直接ctrl+f,无法自动形成查询条件😭😭)
我认为这是基本功能Eclipse装插件后有bug -0.1分

正则查询和多行查询对比如图
多行查询
Eclipse多行查询
Idea正则查询
Eclipse正则查询
当查出多个单次需要进行替换时,Eclipse可以选择只替换部分,当你偷了别人的源码想替换时非常好用,而idea未找到对应功能,idea -0.1分
如图,要不区分大小写的情况下,查找到8个comparedTest,替换部分comparedTest 为 test演示
Eclipse部分全局替换
idea替换功能

最终Eclipse得0.9分,Idea的0.9分

搜索

常用功能,基本一致。如在文件中查找,全局查找。
Eclipse里Ctrl+Shift+L Ctrl+F Ctrl+H Ctrl+Shift+G
Idea里双 Shift Ctrl+F Ctrl+H Ctrl+Shift+G (自定义修改了快捷键)
对于像Ctrl+Shift+G部分快捷键的搜索结果Idea支持预览,+0.1分

汇总各项EclipseIdea
替换0.90.9
搜索11.1
汇总1.92

3.代码注释和规范

注释

Eclipse支持自定义格式的注释规范 +0.1,而Idea用默认的才好用,对于return 的参数类型,idea是没有设置的,按照网上提供的设置方法很难用,达不到预期。
Eclipse多次Ctrl+Alt+J时会生成多个注释,不生成多个就会出现注释修复错误的情况。Idea多次Ctrl+Alt+J只生成一个(idea多次Ctrl+Alt+J会删除Eclipse自定义的标签,团队开发保持使用相同的ide,格式都是一致的基本不存在误删的情况,不排除删除他人注释的情况使用时多注意吧)暂时先不扣分了
Idea的注释Eclipse 的注释
Eclipse支持自定义注释格式,我认为这是基本功能,所以Eclipse+分。 修复代码时两个ide都有小问题。

规范

tab都支持自定义。
格式化代码ctrl + shift + f支持的都挺好
对与阿里规范插件,idea支持比Eclipse好。 idea虽然支持的好,但开发时候经常不遵守,实际开发过程中还是的要求团队按照规范来。

汇总各项EclipseIdea
注释1.11
规范11
汇总2.12

4.代码重构与新建项目

新建项目

Maven Modules项目Eclipse比Idea方便很多,对于已有项目Idea好像只能手动添加关联关系,Idea -0.1分
新建项目2个IDE无太大差别。
在这里插入图片描述

项目重构

单个文件重命名,基本一致
单个文件移动文件夹,Eclipse更好用,可以自动展开文件夹

Eclipse移动 Idea移动类
修改包名
Idea修改包名如果选 project files,那么大概1-5分钟,会慢到你无法忍受…… 因为它要改当前project下所有项目包名,重建索引,新人请谨慎使用。 一定要按需选择 scope
idea修改包名

汇总各项EclipseIdea
新建项目10.9
项目重构11
汇总21.9

5.运行与debug

运行

Idea的运行在行号附近提供了快速运行的按钮
Idea快速运行
对于controller提供了快速测试(get请求很方便,post请求,没怎么用过不讲了,猜测是类似于curl请求,以后研究下)
Controller测试
Eclipse的运行,只能右键或者菜单栏,没有idea方便 -0.1分

我认为这是基本功能Eclipse得0.9分,idea得1分

debug

idea能够看到每行的结果,Eclipse需要自己手动watch,Eclipse -0.1分(从variables也能看哈,但是直接显示看着非常方便,不用来回找)
idea在debug时inspect 不好用,使用Ctrl+U 再点击Evaluate ,扣不扣分呢???
在这里插入图片描述
我认为这是基本功能Eclipse的0.9分,idea得1分

汇总各项EclipseIdea
运行0.91
debug0.91
汇总1.82

6.编译打包

只讨论maven哈,gradle未使用。
都支持自动编译,没有太大区别。
打包方面idea更方便,这个应该没有异议吧。所以Eclipse -0.1
idea maven 打包

汇总各项EclipseIdea
汇总0.91

7.常用插件

7.1 git

共同的地方:单个文件本地历史、远程提交历史、单个文件回滚、切换分支、新建分支、合并分支、reset和rebase做的都很好。revert我个人基本不用
Eclipse 用的插件Egit,Idea用的插件GitToolBox

配置远程仓库时,Eclipse可以单独配置Push和Fetch很方便,同时也避免了误推送代码。当你从使用源代码做脚手架时这个很有用。
ieda配置远程地址
在这里插入图片描述
git上打平

7.2 maven

Eclipse自带的maven插件比Idea强大,Idea安装Maven Helper才能使用依赖分析,冲突分析
Eclipse安装了Eclipse m2e
Idea依赖分析

7.3 mybatis

Eclipse安装MybatipesMybatisGenerator
Idea 安装MyBatisCodeHelperPro(收费)或者Free Mybatis plugin(免费)Mybatis Log Plugin

Mybatis Log Plugin mybatis开发监控sql神器,可自动搜集运行的sql也可收到复制转换,(下图是手动的转换,自动的就不截图了自行体验吧)
ideamybatislog

7.4 其他插件

文中提及到的插件,这里就不在列了,自己在市场搜索吧。

Eclipse的插件,点击后可安装:

Idea的插件,点击后可安装:

7.5 插件库

  • 似乎Eclipse的插件更多更杂,支持导出插件和收藏插件,点个赞;
  • 而Idea未找到怎么导出,Idea支持配置备份到git仓库这个可以点赞,但是好像不支持备份插件(未验证);
  • Idea 插件查询比Eclipse快的不是一点半点,给Idea点个赞;
  • Eclipse每次打开Maketplaces慢的都想吐槽,在线安装慢的无法忍受(有些是因为墙),经常失败
  • Idea 的相对好很多。

8.快捷键配置

8.1快捷键定义

Eclipse 的自定义快捷键支持二次按键操作绑定,例如重命名操作Ctrl+2,R 这个比Idea强;个人认为这个更实用一些,按键冲突的概率也会低很多。
Idea 的自定义快捷键支持 Ctrl Shift Alt + 鼠标事件比Eclipse强;

9.其他常用功能

10.反编译

Eclipse的按照插件后,反编译能力比Idea强很多,支持五种反编译选项,如果你需要反编译经过混淆的代码,那一定会爱上这个功能
eclipse反编译代码
Idea的仓库里有如下这些,但是不好用
Idea反编译

11.开箱即用

两个IDE差不多,基础的maven、git、都能开箱即用,新版Eclipse(2022-03)集成了openjdk

12.IDE版本截图

在这里插入图片描述
在这里插入图片描述


相关参考

Eclipse和Idea相关配置,可参考(都是以前收藏的,如有不同请自行度娘新版本配置)

如何在Eclipse中如何自动添加注释和自定义注释风格
IntelliJ IDEA的常用设置
IDEA中设置注释模板的方法
IDEA取消文件自动保存功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值