什么是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)一步參考官方文檔:
- https://www.jetbrains.com/idea/documentation/
- https://www.jetbrains.com/idea/help/intellij-idea-quick-start-guide.html
另外官網(wǎng)上也提供了很多的視頻教程嫂粟,其中有不少小技巧星虹。