使用IntelliJ IDEA替代Eclipse

什么是IntelliJ IDEA


簡單來說敛惊,IntelliJ Idea是目前最好的Java集成開發(fā)環(huán)境权悟,沒有之一。

為什么要遷移到Intellij IDEA

Java應(yīng)該是非常依賴IDE的一門語言了,恐怕也沒有幾個大牛能夠直接用Vim/Emacs愉快的手?jǐn)]代碼,Java程序員離開了IDE基本上生活不能自理,IDE的重要性不言而喻褒侧。
最近在推行、部署各種自動化工具谊迄,但個人認(rèn)為闷供,相比于各種工具,一個好的IDE更是能 極大的提升 工作效率以及編碼的爽快感统诺。
目前團(tuán)隊中使用的開發(fā)工具主要還是Eclipse和NetBeans歪脏,所以就想借這篇文章安利一下,希望團(tuán)隊中更多的人能開始嘗試并喜歡上IntelliJ IDEA粮呢。

目前常用的IDE主要有3個:

  • Eclipse
  • NetBeans
  • IntelliJ IDEA

其中婿失,Eclipse及其衍生品是最為我們所熟知的,Eclipse開源啄寡,歷史悠久豪硅,插件豐富,對一些老項目兼容性也比較好挺物,另外有很多基于Eclipse的項目也很流行懒浮,比如STS、MyEclipse识藤。

NetBeans使用的人稍微少一些砚著,但它有很多比Eclipse更為優(yōu)秀的地方,例如免費痴昧、Oracle自家出品赖草,對于新標(biāo)準(zhǔn)的支持非常好、有中文語言包剪个、界面布局更合理等。

但從目前的統(tǒng)計數(shù)據(jù)來看,IntelliJ Idea的市場份額已經(jīng)超過了Eclipse扣囊。

IntelliJ IDEA作為一個商業(yè)化的IDE乎折,而且是一個非常昂貴的商業(yè)化IDE(499刀/年),能夠被如此多的開發(fā)人員認(rèn)可侵歇,肯定有它非凡之處骂澄,簡單羅列幾點:

  • 黑色的Darcula主題,我想應(yīng)該把這個放在第一位
  • 智能化的代碼提示惕虑、自動補全坟冲、重復(fù)代碼檢查、快速修復(fù)
  • 更加智能的重構(gòu)工具溃蔫,支持跨語言的重構(gòu)
  • 人性化的調(diào)試工具
  • 包含大量的內(nèi)建工具健提,開箱即用的,無須配置大量的插件
  • 默認(rèn)支持git/svn等多種版本控制工具
  • 默認(rèn)支持Maven, Gradle, Ant等多種構(gòu)建工具
  • 內(nèi)建反編譯工具伟叛,方便查看沒有源碼的老舊jar包
  • 內(nèi)建數(shù)據(jù)庫管理工具私痹,可以拋棄toad/Navicat這些東西了
  • 內(nèi)建REST API測試工具,可以拋棄Postman之類的測試工具了
  • 支持Tomcat统刮、JBoss紊遵、WebLogic等主流應(yīng)用服務(wù)器
  • Google的助攻,Android開發(fā)環(huán)境由最初基于Eclipse的ADT侥蒙,遷移到了基于IDEA的Android Studio

導(dǎo)入一個工程

要想開始體驗IntelliJ IDEA暗膜,首先要新建一個工程(Project)或?qū)胍延械墓こ獭_@里我們選擇從版本庫中導(dǎo)入一個已有的工程鞭衩。

在歡迎界面中點擊最下方的 Check out from Version Control


可以看到学搜,IntelliJ IDEA支持GitHub、CVS醋旦、Git恒水、Svn等多種版本庫。

這里我們嘗試導(dǎo)入一個GitHub中的工程饲齐,填寫自已的GitHub用戶名钉凌、密碼


在下拉列表中選擇好一個工程后,點擊 Clone

如果項目是用Gradle/Maven構(gòu)建的捂人,還會彈出一個構(gòu)建工具配置界面

導(dǎo)入完成后御雕,可以看到主界面了


項目結(jié)構(gòu)

IntelliJ IDEA中的項目結(jié)構(gòu)和Eclipse有很大的不同。

  • Eclipse中有workspace的概念滥搭,可以向workspace中添加多個工程酸纲。
  • IDEA沒有workspace,一個窗口中只能打開一個工程(Project)瑟匆,但一個工程中可以包含多個模塊(module)闽坡,這種方式更符合多模塊應(yīng)用開發(fā)的需求。

界面左側(cè)的Project欄,可以查看項目中的文件結(jié)構(gòu)疾嗅,通過Cmd+1快捷鍵調(diào)出/關(guān)閉外厂。

使用Cmd+; 快捷鍵,可以打開項目設(shè)置界面代承,在這里配置模塊汁蝶、庫、Facets论悴、Artifacts等掖棉。

Facets

Facets可以認(rèn)為是項目支持的特性,例如JPA膀估、Spring幔亥、Hibernate等,當(dāng)一個項目被IDEA掃描完畢之后玖像,它會自動為每個模塊添加相應(yīng)用Facets紫谷,當(dāng)然也可以手工進(jìn)行添加

Artifacts

Artifacts是項目的打包部署設(shè)置。
例如捐寥,對于WEB工程而言笤昨,IDEA通過配置Artifacts,將編譯輸出的class文件握恳,與jsp/html/css頁面等靜態(tài)文件瞒窒,以特定的目錄結(jié)構(gòu)合并到一起。

目錄圖標(biāo)

  • 藍(lán)色 - 源碼根目錄
  • 綠色 - 測試代碼目錄
  • 紅色 - 需要排除的目錄乡洼,例如class/build等包含二進(jìn)制文件的目錄
  • 黃色 - 資源目錄崇裁,application.yml等會放在這里面

點擊Project欄中右上角齒輪圖標(biāo),可以調(diào)整目錄的展示方式束昵,比如合并中間空目錄等:

快捷鍵對比

下面是一份Eclipse與IntelliJ IDEA的快捷鍵比對表:


如果不想使用IDEA的默認(rèn)快捷鍵拔稳,想沿用之前的一些習(xí)慣巴比,IDEA也提供了幾套其它的配置礁遵,使用 Ctrl+` 調(diào)出菜單

選擇 3-Keymap 即可切換配置

但建議還是盡量適應(yīng)IntelliJ IDEA的默認(rèn)快捷鍵配置吧。

下面有幾個有趣的與其它IDE的區(qū)別:

  • Cmd+D
    在Eclipse中政勃,Cmd+D是刪除一行兼砖,但在IntelliJ IDEA中既棺,D是指duplicate,復(fù)制一行懒叛。
  • Cmd+S
    在其它編輯器中援制,我們通常會頻繁使用Cmd+S進(jìn)行保存,但在IDEA中芍瑞,完全不需要這么做。IntelliJ IDEA的自動保存功能做的非常好褐墅,不用擔(dān)心會丟失進(jìn)度拆檬,Cmd+S只能給我們帶來一些心理上的"安全感"。

界面布局

IntelliJ IDEA的默認(rèn)布局非常的簡潔妥凳,幾乎只有一個編輯器界面竟贯,甚至還可以通過Ctrl+Cmd+F全屏顯示,以獲得更加沉浸式的體驗逝钥。

點擊界面最左下角的顯示器形狀的圖標(biāo)屑那,可以用來切換布局模式,調(diào)出或隱藏周邊的工具欄

在使用精簡布局時艘款,如果要進(jìn)行文件定位持际、打開某個側(cè)邊欄等操作,就需要使用一些快捷建進(jìn)行操作了哗咆。

一般是使用Cmd+數(shù)字來顯示側(cè)邊欄蜘欲,例如Cmd+1顯示Project欄,Cmd+9顯示版本控制欄晌柬,具體數(shù)字界面上會有提示姥份。

另外,Cmd+E不但可以顯示最近使用過的文件年碘,還可以在左側(cè)選擇打開各個側(cè)邊欄,非常好用埃难。

同樣的凯砍,Ctrl+Tab快捷鍵可以實現(xiàn)類似的功能,并且效率更高

快速查找

使用Cmd+O可以彈出快速 查找類名 窗口座泳,輸入類名關(guān)鍵字篩選,可以快速打開類所在的源文件

使用Cmd+Shift+O可以彈出快速 查找文件名 窗口,輸入文件名關(guān)鍵字潮饱,可以打開任意文件

還有一個更方便的方式啦扬,如果不確定要找什么扑毡,雙擊shift鍵瞄摊,可以彈出"Search Everywhere"窗口换帜,輸入關(guān)鍵詞搜索一切吧膜赃。

當(dāng)然,還可以使用之前提到過的Cmd+E泣矛,查看曾經(jīng)打開過的文件狂丝。

常用設(shè)置

縮進(jìn)方式配置

使用空格與TAB鍵縮進(jìn)几颜,在碼農(nóng)界爭論至今還沒有定論蛋哭,那就不妨根據(jù)自已的喜好手工設(shè)置一下吧谆趾。

首先使用Cmd+,打開全局設(shè)置界面沪蓬,在Editor → Editor Tabs中可以找到相應(yīng)的選項:

界面主題配置

Appearance & Behavior → Appearance中逸雹,可以設(shè)置喜歡的主題峡眶,字體、字號等

這里當(dāng)然是首推Darcula主題俊庇。

代碼編輯

首先要記憶的一個快捷鍵是Cmd+F12辉饱,可以打開 class outline 窗口彭沼,查看文件中的各個方法姓惑。

類似的也可以通過Ctrl+H打開 type hierarchy 側(cè)邊欄

另外,還可以使用Alt+F7辅搬,打開 Find Usages 底邊欄介蛉,顯示方法的使用者币旧。

自動補全

使用Ctrl+Space佳恬,可以進(jìn)行代碼自動補全毁葱。

Ctrl+Shift+Space筷频,是更加智能的代碼補全凛捏,它會猜測你的意圖坯癣,只展示最有用的結(jié)果

另外Alt+Enter也十分有用示罗,當(dāng)使用了一個類蚜点,但它還沒有被導(dǎo)入時绍绘,可以用它來快速導(dǎo)入

代碼生成

使用Cmd+N可以自動生成代碼,比如Getter/Setter/toString()等等

代碼重構(gòu)

最簡單的藻丢,可以通過右鍵菜單或Shift+F6進(jìn)行重命名悠反,可以是文件斋否,也可以是類名茵臭、方法名旦委、變量名等,點擊確認(rèn)后IntelliJ IDEA會跨語言檢索全部代碼(包括.html/.js)摩钙,找到所有相關(guān)的地方一起修改胖笛。

插入模版

輸入特定的關(guān)鍵字,按TAB后身弊,可以直接在光標(biāo)處插入模板代碼佑刷。

例如,首先輸入psvm

然后按下TAB鍵填硕,就會自動插入一個main方法的模版扁眯,相當(dāng)快捷

其它重要的快捷鍵

  • 格式化代碼 - Cmd+Alt+L
  • 編譯 - Cmd+F9
  • 關(guān)閉某個側(cè)邊欄 - Shift+ESC

查找快捷鍵的快捷鍵

到現(xiàn)在為止姻檀,已經(jīng)接觸了IntelliJ IDEA的不少快捷鍵了绣版。
其實對于學(xué)習(xí)一個文本編輯器也好杂抽、IDE也好缩麸,要想用的得心應(yīng)手杭朱,記憶大量的快捷鍵都是少不了的步驟八酒。

但如果記不清快捷鍵怎么辦丘跌,去哪里查呢闭树?幸好IntelliJ IDEA為我們提供了一個終級快捷鍵 Cmd+Shift+A报辱,這是一個用來 查找快捷鍵的快捷鍵 碍现!其它所有的快捷鍵都忘了也沒有關(guān)系昼接,只要記得這一個慢睡。漂辐。髓涯。

配置Tomcat

對于Web應(yīng)用,如果想在本機直接運行測試滑肉,除了使用Maven等構(gòu)建工具內(nèi)嵌的Application Server之外髓棋,還可以選擇直接在IntelliJ中配置一個按声。

注意請?zhí)崆芭渲煤肁rtifacts签则,然后點擊頂部右側(cè)的 Run Configuration 按鈕渐裂,在新窗口中點擊左上角加號柒凉,選擇Tomcat即可:

代碼檢查

在向版本庫中提交時坦刀,可以在右側(cè)選擇進(jìn)行一些提交前的處理鲤遥,如代碼檢查盖奈、格式化等:

收藏夾

在Tab頁上點擊右鍵钢坦,可以選擇Add to Favorites

然后在左下方的Favorites欄中就可以看到了

版本控制

在窗口左下方的 Version Control 欄中蚊俺,可以查看到做過變更的文件

在文件上右鍵泳猬,可以進(jìn)行代碼差異比對得封,回滾等操作

在窗口右上方的工具欄中拷呆,可以快速Update/Commit

在窗口右下方的工具欄中腰懂,可以查看/新建/切換Git分支

內(nèi)嵌工具

菜單欄中绣溜,Tools一項中怖喻,可以找到很多內(nèi)嵌的工具锚沸,比如很常用的Rest測試工具

數(shù)據(jù)源配置

在右側(cè)的Database工具欄中,可以配置常用的數(shù)據(jù)源

配置好之后恬叹,就可以使用內(nèi)嵌的數(shù)據(jù)庫查詢管理工具了绽昼,另外在編寫配置文件或SQL/JPQL時硅确,也會有對應(yīng)用智能提示

官方文檔

以上介紹的菱农,只是IntelliJ IDEA眾多功能中的冰山一角循未,想要了解更多的妖,請進(jìn)一步參考官方文檔:

另外官網(wǎng)上也提供了很多的視頻教程嫂粟,其中有不少小技巧星虹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搁凸,一起剝皮案震驚了整個濱河市护糖,隨后出現(xiàn)的幾起案子嫡良,更是在濱河造成了極大的恐慌寝受,老刑警劉巖很澄,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蹂楣,死亡現(xiàn)場離奇詭異痊土,居然都是意外死亡赁酝,警方通過查閱死者的電腦和手機酌呆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門隙袁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來藤乙,“玉大人惭墓,你說我怎么就攤上這事腊凶【迹” “怎么了风瘦?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵万搔,是天一觀的道長瞬雹。 經(jīng)常有香客問我呢诬,道長胖缤,這世上最難降的妖魔是什么草姻? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任敞曹,我火速辦了婚禮综膀,結(jié)果婚禮上剧劝,老公的妹妹穿的比我還像新娘讥此。我一直安慰自己萄喳,他們只是感情好他巨,可當(dāng)我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辈灼,像睡著了一般巡莹。 火紅的嫁衣襯著肌膚如雪榕莺。 梳的紋絲不亂的頭發(fā)上钉鸯,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天唠雕,我揣著相機與錄音岩睁,去河邊找鬼捕儒。 笑死刘莹,一個胖子當(dāng)著我的面吹牛焚刚,可吹牛的內(nèi)容都是我干的矿咕。 我是一名探鬼主播碳柱,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼福稳,長吁一口氣:“原來是場噩夢啊……” “哼灵寺!你這毒婦竟也來了略板?” 一聲冷哼從身側(cè)響起叮称,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤瓤檐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后肄满,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掰担,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡带饱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了恢口。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耕肩。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡猿诸,死狀恐怖狡忙,靈堂內(nèi)的尸體忽然破棺而出梳虽,到底是詐尸還是另有隱情,我是刑警寧澤灾茁,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布窜觉,位于F島的核電站谷炸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏禀挫。R本人自食惡果不足惜旬陡,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望描孟。 院中可真熱鬧,春花似錦、人聲如沸蜜另。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春男应,著一層夾襖步出監(jiān)牢的瞬間耐朴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工俯艰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辆飘,地道東北人。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子往堡,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容