文档章节

从Eclipse到IDEA,金字塔到太空堡垒

大大枣
 大大枣
发布于 09/14 14:38
字数 1731
阅读 6789
收藏 74

前言

工欲善其事,必先利其器。对于程序员来说,具有生产力的工具能让你事半功倍,心情大好。
两个月前从Eclipse转到了InteliJ IDEA,原先常用Eclipse如同身边的保温杯,如果不出毛病,大概我是不会考虑换掉他。中间想偶尔尝试一下IDEA,因为遇到各种不适应,就退回来了。这次要换掉Eclipse是因为一个莫名的bug导致我项目编译卡死,反复出现好几次后,决定弃用他。

Tips:下面博文中的图片都比较大,可以右键在新标签打开查看大图!

IDEA有什么好?

换到IDEA并渐渐适应之后,用一个词形容这款IDE,就是:现代。
再看Eclipse,如同埃及金字塔,精巧但粗粝、宏伟但迟钝。而IDEA如同太空堡垒,精致大气、舒适内敛。
因为我对IDEA非常有好感,决定向你推销一下。让我们先来看看他那些让人不可自拨的功能吧:

插件安装

在Eclipse上安装一款插件,要到marketplace中搜索,点击install。因为跨国网络访问,所以一般下载插件会很慢。
在IDEA上安装插件,逻辑相似,Ctrl+Alt+S呼出Settings,找到Plugins进行搜索,如果没有找到会跳转到远程仓库,然后install即可。
不过对于有些插件来说,IDEA上的安装流程比Eclipse顺畅了不止一个级别,比如大家常用的lombok,Eclipse上安装过程繁琐不说了,IDEA上呢:

如果没有安装,点击右侧install,然后重启IDEA即可。

不光是lombok,诸如GoLang、C、Python的这种语言扩展插件,IDEA上的体验也比Eclipse好上一个等级。例如Go插件:

IDEA自带了智能提示,不用配置,开箱即用。最重要的是,在IDEA中开发Go和开发Java一样顺手,快捷键是一致的,提示与代码生成、插入是一致的,这在Eclipse上几乎不可实现。我安装过Eclipse的Python语言扩展插件,和在Eclipse上编写Java是有一定落差的,而在IDEA上不会,他给你的体验是一致的,这个必须赞。

更棒的时,IDEA自带了一些非常好用的插件,如HTTP Client:

“专注”窗口

再来看一个“现代”的例子,在IDEA中窗口都是可定制的,如同太空堡垒中的房价可移动一般。
在IDEA中你的界面可能是这样的:

只需要按下Ctrl+Shift+F12就会进入专注模式,变成了这样:

所有窗口都隐藏起来了。
我为什么如此喜欢IDEA的窗口呢,是因为他可以层层叠叠如这样:

也可以进入“专注”模式,清清爽爽。

调试

在Eclipse中调试,你是没有一种叫“即时窗口”的东西的,他是什么东西呢:

你可以在调试期间打开“即时窗口”,在其中输入变量和表达式,他会直接给出你答案,类似Chrome调试时的Console。

Git的使用

在IDEA中使用Git,感觉非常现代,一反Eclipse中Git管理的笨重和粗糙。只需要Ctrl+K就会出现Commit界面,Revert、Diff等等让你体验非常自然。

怎么走出Eclipse的舒适区

简单看了一下IDEA的优点,不知道你是否有点心动呢?Eclipse如同一条旧毛毯,有感情但却不舒适。如果你像我一样有不适应的顾虑,下面我会详细说一下要转到IDEA需要做的一些工作。

Maven项目导入和启动Tomcat

首先要转变的一个观念是IDEA中没有工作空间的概念,而用了模块(Modules)来代替。
当你第一次打开IDEA,走完前置配置之后,可以“Project From Existing Sources”--从现有源码导入项目,如果是Maven项目,直接选中pom.xml文件即可。
重要的是,如果你想如Eclipse中一样把很多项目放在一个空间下,你可以这么做:

  • Ctrl+Shift+Alt+S打开项目结构
  • 找到Modules,点击上面的加号,选择Import Modules,再选择pom.xml文件即可
  • 如果你想一个项目一个窗口,那么还是可以选择“Project From Existing Sources”

如果你的项目用的是Spring Boot,那么打开启动类,点击右侧小图标:

就可以直接启动这个类了。


如果你的项目需要用Tomcat来启动,那么找到这个地方:

点击Edit Configurations...,在Templates中找到Tomcat Server,配置Local。
配置完之后,点击左上角的加号,选择Tomcat Server--Local,配置端口号等等。重点来了,你需要在Deployment选择卡中点击加号,配置Article,Article选择war exploded类型的war,点击ok完成配置。
选中你的配置,点击Run(或Shift+F10)即可运行Tomcat应用。

快捷键映射

要换一个IDE开发,最需要适应的莫过于快捷键的使用习惯,下面我对来个IDE常用的快捷键做了一个映射,供大家参考:

操作EclipseIDEA
删除一行Ctrl+DCtrl+Y
关闭当前窗口Ctrl+WCtrl+F4
上移、下移一行Alt+↑、↓Ctrl+Alt+↑、↓
回退操作Ctrl+ZCtrl+Z
反向回退Ctrl+YCtrl+Shift+Z
回到上一处编辑Alt+←Ctrl+Alt+←
提取变量Ctrl+1 And Ctrl+LCtrl+Alt+V
添加或取消注释Ctrl+/Ctrl+/
生成Getter、SetterAlt+Shift+SAlt+Insert
光标移到相同的变量Ctrl+KF3或Ctrl+F7
打开类结构Ctrl+OCtrl+F12
显示类继承层次Ctrl+TCtrl+H
查看方法调用链Ctrl+Shift+HCtrl+Alt+H
文件内容搜索Ctrl+HCtrl+Shift+F
按文件名搜索Ctrl+Shift+RCtrl+Shift+N
格式化代码Ctrl+Shift+FCtrl+Alt+L
代码折叠与打开Ctrl+Shift+*、/Ctrl+Shift+加号、减号
try-catch包围Alt+Shift+SCtrl+Shift+T

快捷键被占用问题

IDEA中的默认快捷键有可能被其他程序占用,例如Windows上IDEA的智能提示是Ctrl+Space,这个快捷键会被系统输入法切换中英文占用,建议修改为Alt+引号。Ctrl+Alt+S打开Settring,如图:

其他有可能被占用的快捷键还有调试的单步跳过F8,try-catch包围的Ctrl+Shift+T,我分别改为了F10和Alt+T。

关闭部分“建议”

使用IDEA过程中,你会发现一些如Office Word似的拼写检查,如果你想关闭他,如图:

© 著作权归作者所有

共有 人打赏支持
大大枣
粉丝 12
博文 30
码字总数 34649
作品 1
朝阳
架构师
加载中

评论(81)

酸奶瓶盖儿
酸奶瓶盖儿

引用来自“Kuangcp”的评论

引用来自“TuringAI”的评论

引用来自“Kuangcp”的评论

引用来自“TuringAI”的评论

用了3个月的idea了,真心没觉得它比eclipse好多少,可能是eclipse用习惯了吧,简单的例子,新建类,idea是ctrl+n然后就必须用鼠标点选了,eclipse直接键盘搞定ctrl+n就行了,idea只能向下复制一行,不能向上复制,反正我觉得不适应,idea的foreach只能出来架子,而eclipse的foreach会自动把最近的集合或数组给填进去自动生成,再有就是idea写属性的时候类必须首字母大写才会有提示,不然不能提示,再有idea的alt+箭头会“智(ruo)能(zhi)”的不能出方法范围,属性跟注解只能一起移动,比如写完了属性,想加个@Resource注解,只能手动输入或者复制粘贴,eclipse就可以直接光标上移两行,ctrl+alt+↓,松开ctrl,再按一下下箭头,还有生成getter,setter,构造器等等(lombok不是所有的系统都在用的)很多东西,可能是我用eclipse习惯了,也或者我idea用的时间太短了,反正我觉得idea有些东西不够人性化!当然idea也有自己的优势是不容置疑的,但也没必要把它吹上天吧!!!!

你说的这一堆,都能很简单的做到~就看你有没花心思学了~
The same to you ! idea能做到的eclipse也都能做到,就看你有没有花心思去学了!

我也没说eclipse不能啊~
激动啥( •̥́ ˍ •̀ू ) 你开心就好
你说的东西,都是你不会用的。所以低调点,否则我会笑出声的。
CDD
CDD
表示也尝试着了解了一下idea,但没有较为合适的使用机会。
比起eclipse来我更喜欢MyEclipse,最近下载了一个版本的2018.9,有没有同感的
shady
shady
萝卜白菜各有所爱,谁更牛逼就交给时间和市场去决定吧,敬佩楼主跳出舒适圈的勇气,敢于尝试“新事物”不是所有人都能做到的。
5
545163777a
IDEA功能确实好,但是反人类的快捷键还是接受不了
Kuangcp
Kuangcp

引用来自“TuringAI”的评论

引用来自“Kuangcp”的评论

引用来自“TuringAI”的评论

用了3个月的idea了,真心没觉得它比eclipse好多少,可能是eclipse用习惯了吧,简单的例子,新建类,idea是ctrl+n然后就必须用鼠标点选了,eclipse直接键盘搞定ctrl+n就行了,idea只能向下复制一行,不能向上复制,反正我觉得不适应,idea的foreach只能出来架子,而eclipse的foreach会自动把最近的集合或数组给填进去自动生成,再有就是idea写属性的时候类必须首字母大写才会有提示,不然不能提示,再有idea的alt+箭头会“智(ruo)能(zhi)”的不能出方法范围,属性跟注解只能一起移动,比如写完了属性,想加个@Resource注解,只能手动输入或者复制粘贴,eclipse就可以直接光标上移两行,ctrl+alt+↓,松开ctrl,再按一下下箭头,还有生成getter,setter,构造器等等(lombok不是所有的系统都在用的)很多东西,可能是我用eclipse习惯了,也或者我idea用的时间太短了,反正我觉得idea有些东西不够人性化!当然idea也有自己的优势是不容置疑的,但也没必要把它吹上天吧!!!!

你说的这一堆,都能很简单的做到~就看你有没花心思学了~
The same to you ! idea能做到的eclipse也都能做到,就看你有没有花心思去学了!

我也没说eclipse不能啊~
激动啥( •̥́ ˍ •̀ू ) 你开心就好
TuringAI
TuringAI

引用来自“Kuangcp”的评论

引用来自“TuringAI”的评论

用了3个月的idea了,真心没觉得它比eclipse好多少,可能是eclipse用习惯了吧,简单的例子,新建类,idea是ctrl+n然后就必须用鼠标点选了,eclipse直接键盘搞定ctrl+n就行了,idea只能向下复制一行,不能向上复制,反正我觉得不适应,idea的foreach只能出来架子,而eclipse的foreach会自动把最近的集合或数组给填进去自动生成,再有就是idea写属性的时候类必须首字母大写才会有提示,不然不能提示,再有idea的alt+箭头会“智(ruo)能(zhi)”的不能出方法范围,属性跟注解只能一起移动,比如写完了属性,想加个@Resource注解,只能手动输入或者复制粘贴,eclipse就可以直接光标上移两行,ctrl+alt+↓,松开ctrl,再按一下下箭头,还有生成getter,setter,构造器等等(lombok不是所有的系统都在用的)很多东西,可能是我用eclipse习惯了,也或者我idea用的时间太短了,反正我觉得idea有些东西不够人性化!当然idea也有自己的优势是不容置疑的,但也没必要把它吹上天吧!!!!

你说的这一堆,都能很简单的做到~就看你有没花心思学了~
The same to you ! idea能做到的eclipse也都能做到,就看你有没有花心思去学了!
noday
noday
你写的这些eclipse里都有
T
TonyYuanu
正准备体验idea
Kuangcp
Kuangcp

引用来自“TuringAI”的评论

用了3个月的idea了,真心没觉得它比eclipse好多少,可能是eclipse用习惯了吧,简单的例子,新建类,idea是ctrl+n然后就必须用鼠标点选了,eclipse直接键盘搞定ctrl+n就行了,idea只能向下复制一行,不能向上复制,反正我觉得不适应,idea的foreach只能出来架子,而eclipse的foreach会自动把最近的集合或数组给填进去自动生成,再有就是idea写属性的时候类必须首字母大写才会有提示,不然不能提示,再有idea的alt+箭头会“智(ruo)能(zhi)”的不能出方法范围,属性跟注解只能一起移动,比如写完了属性,想加个@Resource注解,只能手动输入或者复制粘贴,eclipse就可以直接光标上移两行,ctrl+alt+↓,松开ctrl,再按一下下箭头,还有生成getter,setter,构造器等等(lombok不是所有的系统都在用的)很多东西,可能是我用eclipse习惯了,也或者我idea用的时间太短了,反正我觉得idea有些东西不够人性化!当然idea也有自己的优势是不容置疑的,但也没必要把它吹上天吧!!!!

你说的这一堆,都能很简单的做到~就看你有没花心思学了~
rz
rz

引用来自“crystalsis”的评论

我的eclipse里面的git不知道为什么,新建的文件不会出现在taging里面,而eclipse又没有任何地方有add操作的地方,于是我要手动进入目录执行add操作,源码层级那么深,简直了

你更新git插件,或者更新eclipse就有了
从 Eclipse 到 IDEA,就像从金字塔到太空堡垒!

本文经授权转载自开源中国 作者|大大枣 工欲善其事,必先利其器。对于程序员来说,具有生产力的工具能让你事半功倍,心情大好。 两个月前从Eclipse转到了InteliJ IDEA,原先常用Eclipse如同...

CSDN资讯
昨天
0
0
IDEA 与 Eclipse的不同

IDEA与Eclipse都是十分优秀的java开发工具。不同的是,IDEA本身功能强大,而Eclipse的插件功能堪称第一。不过从开发速度上看,IDEA要比ECLIPSE快的多。关于IDEA的有点,可以到http://ww...

davelet
2009/10/31
0
0
从Eclipse转向IntelliJ IDEA Community Edition 12.0

当然下载的是社区版本IntelliJ IDEA Community Edition 12.0 [jetbrains.com][1] 项目 Eclipse过来的容易混淆,这里的Project并非对应Eclipse的Project,Module才是; Eclipse的右键Propert...

wobuzhidao_
2012/12/15
0
5
Scala学习(二)使用IDEA开发Scala

目前Scala的开发工具主要有两种:Eclipse和IDEA,这两个开发工具都有相应的Scala插件,如果使用Eclipse,直接到Scala官网下载即可http://scala-ide.org/download/sdk.html。 由于IDEA的Scala...

qq_41851454
04/21
0
0
IntelliJ IDEA学习笔记 - 总

作为一个刚毕业的程序员,学校的时候老师们都用Eclipse,之前也一直使用Eclipse进行开发,虽然听说过IntelliJ IDEA(后为idea),但没有深入了解。前段时间跟着慕课网上一个教程学习Spring ...

dotleo
2017/10/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

部署springCloud项目

一、先来个简单的 1.安装docker 2.安装eureka——运行docker命令安装 3.安装eureka——运行dokcer镜像安装 (1)构建eureka的镜像,网易云的docker镜像比较全一些,也可以去https://hub.docke...

monroeCode
1分钟前
0
0
理论与实践:如何从Hadoop迁移到MaxCompute

摘要:MaxCompute大数据计算服务,能提供快速、完全托管的PB级数据仓库解决方案,能够使用户经济且高效地分析处理海量数据。而用户往往之前使用了Hadoop实现大数据计算任务,在选择了阿里云大...

阿里云云栖社区
2分钟前
0
0
mysql: utf8 && utf8mb4

https://mathiasbynens.be/notes/mysql-utf8mb4 临时收藏

阿dai
13分钟前
0
0
面试宝典系列-nginx限流

Nginx自身有的请求限制模块ngx_http_limit_req_module、流量限制模块ngx_stream_limit_conn_module基于令牌桶算法,可以方便的控制令牌速率,自定义调节限流,实现基本的限流控制。 如何Ngi...

suyain
14分钟前
0
0
下拉框选择数据过滤?

需求:下拉框数据新增一条数据,已选择的不能再重新被选择 数据:存放表格数据的数组 scoreTable 下拉框数据 catorgaryArr 定义一个已经选择了的id数组 catorgaryIds 实现: arr 使用来保存每...

西园里的猫
19分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部