使用IntelliJ IDEA替代Eclipse

什么是IntelliJ IDEA


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

為什么要遷移到Intellij IDEA

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

目前常用的IDE主要有3個(gè):

  • Eclipse
  • NetBeans
  • IntelliJ IDEA

其中,Eclipse及其衍生品是最為我們所熟知的,Eclipse開源,歷史悠久,插件豐富,對一些老項(xiàng)目兼容性也比較好,另外有很多基于Eclipse的項(xiàng)目也很流行,比如STS、MyEclipse。

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

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

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

  • 黑色的Darcula主題,我想應(yīng)該把這個(gè)放在第一位
  • 智能化的代碼提示、自動(dòng)補(bǔ)全、重復(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)入一個(gè)工程

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

在歡迎界面中點(diǎn)擊最下方的 Check out from Version Control


可以看到,IntelliJ IDEA支持GitHub、CVS、Git、Svn等多種版本庫。

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


在下拉列表中選擇好一個(gè)工程后,點(diǎn)擊 Clone

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

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


項(xiàng)目結(jié)構(gòu)

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

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

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

使用Cmd+; 快捷鍵,可以打開項(xiàng)目設(shè)置界面,在這里配置模塊、庫、Facets、Artifacts等。

Facets

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

Artifacts

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

目錄圖標(biāo)

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

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

快捷鍵對比

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


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

選擇 3-Keymap 即可切換配置

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

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

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

界面布局

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

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

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

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

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

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

快速查找

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

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

還有一個(gè)更方便的方式,如果不確定要找什么,雙擊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)的選項(xiàng):

界面主題配置

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

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

代碼編輯

首先要記憶的一個(gè)快捷鍵是Cmd+F12,可以打開 class outline 窗口,查看文件中的各個(gè)方法。

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

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

自動(dòng)補(bǔ)全

使用Ctrl+Space,可以進(jìn)行代碼自動(dòng)補(bǔ)全。

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

另外Alt+Enter也十分有用,當(dāng)使用了一個(gè)類,但它還沒有被導(dǎo)入時(shí),可以用它來快速導(dǎo)入

代碼生成

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

代碼重構(gòu)

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

插入模版

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

例如,首先輸入psvm

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

其它重要的快捷鍵

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

查找快捷鍵的快捷鍵

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

但如果記不清快捷鍵怎么辦,去哪里查呢?幸好IntelliJ IDEA為我們提供了一個(gè)終級快捷鍵 Cmd+Shift+A,這是一個(gè)用來 查找快捷鍵的快捷鍵 !其它所有的快捷鍵都忘了也沒有關(guān)系,只要記得這一個(gè)。。。

配置Tomcat

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

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

代碼檢查

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

收藏夾

在Tab頁上點(diǎn)擊右鍵,可以選擇Add to Favorites

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

版本控制

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

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

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

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

內(nèi)嵌工具

菜單欄中,Tools一項(xiàng)中,可以找到很多內(nèi)嵌的工具,比如很常用的Rest測試工具

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

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

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

官方文檔

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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