- Spring Boot趣味實戰課
- 劉水鏡
- 3188字
- 2022-08-16 19:35:29
2.3 打造一件趁手的兵器
一件趁手的兵器有多重要?這個問題問問孫悟空就知道了,他當初為了尋找一件趁手的兵器差點把東海龍宮給掀了。金箍棒之于孫悟空,就好比一款好用的IDE之于程序員。
IDE無疑是程序員披荊斬棘、馳騁沙場必不可少的工具。因此,一款好用的IDE對于程序員來說意義非凡,它可以讓程序員提升編碼效率。你要問我誰是最佳IDE,對于微軟系編程語言來說,必然是Visual Studio,而對于JVM系編程語言來說,Intellij IDEA不出,誰與爭鋒?口說無憑,我們來看具體數據。圖2-2展示了來自《2020 JVM生態報告》的數據。

圖2-2 IDE市場份額
Intellij IDEA的市場份額(JVM生態)處于絕對領先的地位,比其他IDE的市場份額總和還多。光說數據也沒什么意思,畢竟一個工具好不好,只有用起來才知道。下面我們就來看看Intellij IDEA究竟有什么本事,可以占據如此“傲視群雄”的市場份額。
2.3.1 設置
Intellij IDEA的默認設置非常友好,實現開箱即用完全沒問題。但是它仍然提供了非常高的定制自由度,以便每個人都可以根據自己的習慣調節出更適合自己的IDE。下面分享一些我個人常用的設置,僅供參考,選擇File→Settings菜單命令(或者按Ctrl+Alt+S快捷鍵),打開Settings面板。
設置主題與字體
選擇Appearance&Behavior→Appearance選項(見圖2-3)。

圖2-3 設置主題與字體
在此面板中可以根據自己的喜好選擇亮色、暗色或者高對比度的主題,以及字體和字號。
設置編輯區字體
選擇Editor→Font選項(見圖2-4)。

圖2-4 設置編輯區字體
在此強烈推薦一下JetBrains的Mono字體,這是專為編程開發的一款等寬字體(開源的),支持多種主流編程語言。想了解更多相關信息的讀者,可以去JetBrains官網查看。
對于老眼昏花的我來說,調大字號是必不可少的操作。
顯示行號與方法分隔符
選擇Editor→General→Appearance選項(見圖2-5)。

圖2-5 顯示行號與方法分隔符
顯示行號,這樣在執行Debug操作的時候會很方便;顯示方法分隔符,這樣在閱讀代碼的時候會更清晰,效果如圖2-6所示。

圖2-6 顯示行號與方法分隔符的效果
設置Editor Tabs布局
選擇Editor→General→Editor Tabs選項(見圖2-7)。

圖2-7 設置Editor Tabs布局
我比較喜歡將代碼的Tab放到左側,配合帶魚屏顯示器,使用體驗非常棒!另外,還可以讓Tab按照字母順序排列,這樣找起來會很方便。Editor Tabs設置效果如圖2-8所示。

圖2-8 Editor Tabs設置效果
高亮顯示修改目錄
選擇Version Control選項(見圖2-9)。

圖2-9 高亮顯示修改目錄
勾選Show directories with changed descendants復選框后,當項目有改動時,對應的目錄會高亮顯示,且在亮色主題下會默認變成淺藍色,非常直觀。
這一功能需要集成版本管理工具(如Git或SVN等)后才能生效。
自動導入
選擇Editor→Auto Import選項(見圖2-10)。

圖2-10 自動導入
勾選Add unambiguous imports on the fly和Optimize imports on the fly兩個復選框,當沒有二義性時,會自動導入包引用。當包引用不再被使用時,會自動移除。
設置Maven的Reload操作
選擇Build,Execution,Deployment→Build Tools選項(見圖2-11)。

圖2-11 設置Maven的Reload操作
勾選Reload project after changes in the build scripts復選框后,當pom文件有更改時,會自動觸發Maven的Reload操作,非常方便。
Intellij IDEA在某幾個版本中去掉了這個功能,結果導致社區中一片抱怨聲,所以在后續的版本中又恢復了這個功能。
自定義工具欄
選擇Appearance&Behavior→Menus and Toolbars選項(見圖2-12)。

圖2-12 自定義工具欄
將比較常用的操作添加到工具欄中,可以提升便利性,例如,圖2-12中選擇了Forward選項,那么新增操作的相應按鈕會被添加到Forward操作相應的按鈕后面。
這里將新建Java Class的操作添加進來,如圖2-13所示,依次展開Main menu→File→New選項,找到Java Class并單擊OK按鈕。

圖2-13 添加新建Java Class的操作
完成后的效果如圖2-14所示。當我們需要新建Java Class的時候,單擊箭頭所指的按鈕即可。

圖2-14 自定義工具欄效果
2.3.2 技巧
說完Intellij IDEA的設置部分,接下來繼續分享一些比較好用的使用技巧,這些技巧可以在很大程度上提升我們的編程效率。
歷史剪切板
快捷鍵:Ctrl+Shift+V。
歷史剪切板如圖2-15所示。作為一個程序員,我們在日常工作中肯定少不了進行復制、粘貼操作。(嗯?誰在“黑”我們程序員?)這個功能可以極大地提升效率。

圖2-15 歷史剪切板
最近查看/修改過的文件
快捷鍵:Ctrl+E。
如圖2-16所示,這個功能用于需要在多個文件之間來回切換的場景,如閱讀代碼或者調試代碼的時候,使用這個功能可以讓Debug操作更加行云流水。

圖2-16 最近查看過的文件視圖
在圖2-16所示的情況下,再次按Ctrl+E快捷鍵可以切換到最近修改過的文件視圖中。
全局查找/替換
快捷鍵:Ctrl+Shift+F/R。
如圖2-17所示,可以調出全局查找/替換對話框,按項目、模塊、目錄及自定義范圍進行查找或替換。這個功能非常適合查看某個關鍵字出現的位置,或者統一替換某個關鍵字等情況。

圖2-17 全局查找/替換對話框
隨心搜
快捷鍵:雙擊Shift鍵。
正如它的名字——隨心搜,你可以隨時隨地(在Intellij IDEA的任何界面)發起搜索,如圖2-18所示。

圖2-18 隨心搜
在圖2-18所示的情況下,再次雙擊Shift鍵,就可以搜索項目以外(引用的第三方Jar包)的內容了。
Surround With
快捷鍵:Ctrl+Alt+T。
Surround With效果如圖2-19所示。我們不需要對Surround With進行過多的介紹。它可以一鍵生成常用代碼樣板,只要用過它的都說好。

圖2-19 Surround With效果
問題狙擊手
這是一套“組合拳”,需要兩步。
1.按F2鍵定位問題。
2.按Alt+Enter快捷鍵解決問題。
如圖2-20所示,在代碼編輯區內,如果文件內有錯誤(報紅)或者警告(報黃),那么按F2鍵可以快速定位到問題的位置,然后按Alt+Enter快捷鍵就可以快速修復問題。

圖2-20 問題狙擊手
花式Debug
Debug是程序員的日常操作。如果程序員掌握了一些技巧,就可以快速定位與解決問題。Intellij IDEA的調試功能很豐富,下面介紹條件斷點讓大家感受一下。
在一般情況下,普通斷點可以滿足我們的需要,但是如果你需要調試一個循環中的代碼,并且這個循環數很大,例如:

當需要調試value值為50時,我們肯定不能一遍一遍地進行“傻瓜式”的調試,這時候就需要用到條件斷點了。其用法很簡單,只需要在普通斷點上面右擊一下,就會彈出條件輸入框,然后輸入value==50即可,如圖2-21所示。

圖2-21 使用條件斷點
這樣,當value值為50的時候,斷點才會生效,非常好用。
其他功能,如運行到光標處、執行到指定行號、執行表達式等需要自己多嘗試一下。表2-1展示了Debug相關的快捷鍵及其功能描述。
表2-1 Debug相關的快捷鍵及其功能描述

續表

自動寫代碼
我們經常開玩笑地說:“支付寶,你已經是一個成熟的軟件了,應該學會自己還花唄了!”但是我們只能想象一下,想讓支付寶自己還花唄是不可能的,阿里巴巴公司也不會答應。不過,Intellij IDEA就不一樣了,它不僅是一個成熟的IDE,還慢慢學會了自己寫代碼。
Intellij IDEA有兩個功能用于實現自動寫代碼——Live Template和PostFix。
先介紹Live Template,比如,我們輸入psvm后按Tab鍵,Intellij IDEA就會自動生成main方法,如圖2-22所示。

圖2-22 自動生成main方法
再如,我們輸入sout后按Tab鍵,Intellij IDEA就會自動生成打印語句,如圖2-23所示。

圖2-23 自動生成打印語句
接下來介紹PostFix,比如,我們想迭代一個名稱為list的列表對象,輸入list.for后按Tab鍵,Intellij IDEA就會自動生成列表的迭代代碼,如圖2-24所示。

圖2-24 自動生成列表的迭代代碼
Intellij IDEA中內置了很多常用的Live Template和PostFix。我們可以到設置面板中查看它們,查看路徑分別是Settings→Editor→Live Template和Settings→Editor→General→PostFix Completion。當然,你也可以根據自己的喜好創建自定義的Live Template和PostFix。
重構
Intellij IDEA的重構功能也很強大,下面簡單展示一下變量重命名。首先將光標定位到需要重命名的變量處,然后按Shift+F6快捷鍵,那么所有該變量出現的地方都會被高亮顯示,如圖2-25所示。

圖2-25 重命名
這時候,我們將該變量修改成想要的名稱,然后按Enter鍵,這個變量的名稱就會全部變成新的名稱。Intellij IDEA還有很多更強大的重構功能,最常用的重構快捷鍵如下。
· Shift+F6:重命名
· Ctrl+Alt+V:抽取變量
· Ctrl+Alt+F:抽取字段
· Ctrl+Alt+P:抽取參數
· Ctrl+Alt+C:抽取常量
· Ctrl+Alt+M:抽取方法
此處就不一一講解重構功能了。在實際使用中細細體會,你會愛上重構功能的。
2.3.3 插件
雖然Intellij IDEA的功能已經非常強大了,但是仍然具有開放的特性,支持通過第三方插件的方式來增強它的功能。下面簡單列舉一下我必須安裝的插件。
Alibaba Java Coding Guidelines
按照《阿里巴巴Java開發手冊》中的編碼規范檢查代碼并給出修改建議。
Codota
Intellij IDEA的自動補全功能已經很強大了,用了Codota會更強大。
Lombok
可以省去煩人的Getter/Setter,當然功能遠不止于此。
Maven Helper
Maven的好幫手,解決依賴沖突的“利器”。
MyBatis Log Plugin
可以打印出可執行的(自動將“?”替換成具體的參數)SQL語句,非常好用。
MyBatisX
可以直接通過Java代碼跳轉到MyBatis的Mapper.xml中對應的SQL語句,也可以使用Free MyBatis Plugin。
Rainbow Brackets
讓括號擁有不同的顏色。