IDEA2024 配置詳解與高效使用指南
換上IDEA2024之后個人生產力相較于過去有了更進一步的提高,本文會從配置、使用兩個角度簡單介紹一下從舊版本IDEA遷移到2024版本時需要注意的幾個事項和配置,希望對你有幫助。
一、初始化配置
1. 界面背景色配置(可選)
24版默認情況下背景色為黑色,按照筆者個人習慣是將IDEA設置為白色經典界面,此項設置我們可以直接通過File | Settings | Appearance & Behavior | Appearance,找到Theme選擇Light相關的配置,完成此項配置后整個界面背景色就是白色了。
2. 項目編碼以及全局編碼配置
24版本默認編碼會跟隨系統走,所以我們每次初始化項目時,需要記得隨手修改編碼格式,通過File | Settings | Editor | File Encodings找到編碼選項即可完成配置:
當然為了方便后續項目的使用,我們也可以通過全局設置的方式設置統一編碼格式,即通過File | New Projects Setup| Settings for New Projects..進入新項目的通用設置:
再通過File | Settings | Editor | File Encodings將全局編碼統一設置為UTF8,這樣一來后續的項目就統一采用UTF8格式打開編碼了:
3. JDK版本配置
24版本默認情況下language level直接從JDK22開始,所以我們日常打開項目時需要記得將JDK版本設置為8,同樣的我們通過通過File |Project Structure|Project找到JDK的所有配置將其設置為JDK8版本即可:
4. maven全局配置
我們日常調試項目需要查看源碼的時候會通過download source進行源碼下載閱讀,24版本默認情況下使用的是3.9版本,所以我們需要通過File | Settings | Build, Execution, Deployment | Build Tools | Maven將maven修改為我們當前使用的maven版本,以筆者為例,對應設置的maven版本設置為3.5.4:
同時我們也建議去掉Work offline這個選項,關閉離線模式:
5. 側邊欄跟隨點擊的代碼
初始情況下,我們打開IDEA點擊Tab欄上的文件,左側是不會跟隨打開的,所以我們可以找到側邊欄的behavior設置勾選下述三個選項確保文件點擊跟隨
6. 修復GitLab提示輸入token的問題
新版本IDEA在使用gitLab拉取項目時存在要求配置token的情況,對此我們也需要在安裝后對GitLab插件進行配置規避該問題:
解決方式也很簡單,通過File | Settings | Plugins找到gitlab插件,將其disable即可,完成配置后Gitlab插件就如下圖所示:
7. 調整堆內存
對于新版本的IDEA2024來說,由于增加了很多的新功能和新特性,所以我們需要分配更大的堆內存來避免頻繁GC導致IDEA操作的卡頓感。
對應配置步驟比較簡單,我們可以通過Edit Custom VM Options配置參數,也可以通過下圖所示的方式即在Help一欄找到Change Memory Settings采用UI配置的方式調整堆內存大小:
以筆者為例,直接設置最大堆內存為8G,完成后選擇save或者save and restart使之生效即可:
二、源碼檢索
1. 查看字節碼
24版本依然支持查看字節碼文件,我們只需將文件編譯之后,找到View下的show Bytecode即可看到需要的字節碼文件:
然后我們就可以看到對應的代碼對應編譯后的字節碼了:
2. 文件搜索
IDEA24版本相較于之前筆者所使用版本,搜索功能變得更加強大,所以對于文件的檢索范圍會更廣一些,這里筆者以搜索hashmap為例演示一下這個操作,如下圖所示,可以看到筆者雙擊shift喚醒快捷搜索,然后輸入關鍵字hashmap,針對all即可看到所有的選項,此時我們可以點擊下圖所示的logo展開選中搜索項對應所有文件類型的結果:
如果我們希望僅僅搜索類結果可以包含源碼,可以勾選include non-project items獲取:
當然我們也可以直接通過點擊右邊的tab欄進行個性化篩選(僅查詢項目中的類或者項目和類庫中的),這一點讀者可以按照個人習慣使用:
3. 長函數快速定位
有時候我們會閱讀一個很長的方法,閱讀這樣的長方法時可能會忘了這個函數的定義,此時我們又不得不回頭看看,24版IDEA對此進行了優化,如下對于FutureTask的源碼閱讀,可以看到無論我們怎么滾動代碼,這個方法以及類的定義始終浮在上方。
更神奇的是我們點擊這個方法又可以快速回到方法頂部:
4. 查看變量調用
總所周知我們查看成員變量的調用處可以通過CTRL+B快速檢索所有用到的地方,對應2024版本的IDEA對此快捷鍵的搜索范圍進行了更進一步的優化。
我們還是以FutureTask源碼閱讀為例,此時筆者希望查看status變量的調用處,于是我們鍵入快捷鍵CTRL+B查看,結果如下圖所示,它會提示當前項目中并沒有用到這個變量,我們可以通過快捷鍵Ctrl+Alt+F7進行更進一步的范圍檢索。
以筆者的習慣,筆者會點擊右上角的設置擴展檢索范圍:
這里筆者通常會選擇項目或者類庫:
完成后點擊Find最終所有的調用就都出來了:
5. 查看方法或者變量調用詳細路徑
這里再介紹一種更使用的檢索字段或者方法調用詳情的檢索快捷鍵,我們將光標停在方法或者字段上,然后鍵入Alt+F7,即可看到當前要查看的字段或者方法的調用路徑。
以筆者為例,可以看到對于run方法的調用處檢索,通過左邊即可定位到調用,然后右邊即可查看調用詳情:
6. 查看todo項
我們日常進行code review的時候會進行代碼走查和todo項的檢索,這時候我們就可以通過view找到Tool Windows找到TODO的配置并點擊:
隨后我們就可以在todo欄看到我們項目中所有的todo注釋,需要查看詳情我們直接點擊即可,這里就不多做贅述了:
7. 調試時不進入流操作細節
如下代碼,我們日常為了方便調試,在配置IDEA的時候可能會放行所有java.*的源碼包,這使得我們在調試流操作時可能就會步入繁雜的流式轉換的源碼中:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6);
list = list.stream()
.map(x -> x * x)
.filter(x -> x % 2 == 0)
.collect(Collectors.toList());
System.out.println(list);
例如我們在上述代碼的map映射流操作中打了個斷點,調試時就會不斷在stream包下游走,影響調試的效率:
所以我們可以通過File | Settings | Build, Execution, Deployment | Debugger | Stepping找到斷點步進調試配置,點擊+號添加配置選擇ADD Pattern添加調試時不步進的源碼包:
輸入java.util.stream.*點擊確定,由此后續進行流調試時就不會步入流操作源碼細節:
三、調試源碼
1. 快速跳到下一斷點
項目開發最重要的就是調試,24版本對IDEA的調試也做了許多人性化的調整,如下所示,如果筆者希望從這個跳過這幾個函數到達最后一行輸出,我們秩序點擊這個游標:
最終代碼就會落到我們希望的位置上:
2. watch觀察變量的變化
IDEA是支持對于變量進行個性化計算和觀察的,如下代碼所示,如果筆者希望每次看到i+1的變化,我們則可以通過配置watch做到這一點。
public static void main(String[] args) {
int i=3;
i++;
i=i<<2;
System.out.println(i);
}
操作步驟如下圖所示,在變量監控一欄鍵入i+1即你的個性化監控邏輯,然后點擊add:
可以看到我們的watch顯示的是個性運算結果,這對于很多業務場景變量的監控還是很有幫助的,例如我們希望觀察Order類的pay數值,我們就可以通過watch鍵入order.getPay()即可實時觀察這個變量的走向和變化:
3. 調試時賦值
這是筆者日常開發時的技巧,如果我們希望調試時改變變量的值,可以同通過Alt+F8的變量分析做到這一點。 一下圖的代碼為例,可以看到i的值按照正常的數據流向會變為16,此時如果
于是我們鍵入快捷鍵,在分析欄進行賦值,可以看到,我們改變的數據:
四、開發技巧
1. 配置遠程連接客戶端
新版本的IDEA支持直接在terminal上連接WSL和配置SSH遠程連接,我們只需點擊終端旁邊的箭頭即可進行配置了:
以筆者為例,因為本機已經安裝了WSL,所以直接點擊WSL之后即可直接操作Linux子系統了:
2. 調整Git提交時的檢查
最后一點算是一個日常操作歸檔吧,每次提交GIT時都要等好一段時間,這是因為IDEA默認提交代碼時會對代碼進行分析,如果我們希望取消代碼分析和todo檢查可以直接點擊左邊Tab欄的右下角
然后去掉這兩個選項即可:
3. 添加File mask
IDEA 2024版進行全局搜索的時候不支持根據文件類型進行過濾,對此筆者查閱網上的方案找到了配置方案,首先我們要到C:\xxx\xxxx\AppData\Roaming\JetBrains\IntelliJIdea2024.2\options找到一個名為find.xml的文件,默認情況下我們看到的配置如下,可以看到沒有任何文件后綴的配置:
對此我們按照添加mask標簽,并指明需要進行過濾的文件后綴,以筆者為例,對應的配置如下所示:
<application>
<component name="FindSettings">
<option name="customScope" value="Project Files" />
<option name="defaultScopeName" value="Project Files" />
<option name="SEARCH_SCOPE" value="Project Files" />
<mask>*.java</mask>
<mask>*.xml</mask>
<mask>*.yml</mask>
<mask>*.properties</mask>
<mask>*.html</mask>
<mask>*.css</mask>
<mask>*.js</mask>
<mask>*.jsp</mask>
<mask>*.vue</mask>
<mask>*.md</mask>
<mask>*.json</mask>
</component>
</application>
完成后我們將IDEA重啟,此時我們的全局搜索CTRL+shift+F就可以按照格式文件后綴進行過濾了: