萬字長文!IntelliJ IDEA 超詳細使用教程!

萬字長文!IntelliJ IDEA 超詳細使用教程!

工欲善其事,必先利其器。在Java開發中挑選一款好的Ide環境能大大提升我們的開發效率,IntelliJ IDEA正是一個不二選擇。本教程會介紹怎麼對idea進行配置、使用idea進行debug和經常使用的快捷鍵,最後會推薦幾個牛逼的idea外掛,大大提升開發體驗和效率。

一、安裝

IntelliJ IDEA 有旗艦版和社群版本之分,

其中旗艦版(Ultimate Edition)為收費版本,有 30 天試用期。如果你是學生、老師、開源專案參與者都可以向官網免費試用旗艦版。社群版(Community Edition)為免費版本,功能較旗艦版少了很多。

收費版本比Community的免費版本多了很多功能,這些功能可以大大提升我們的開發效率。下載完成後需要自己安裝啟用。

關於怎麼啟用可以

點選我的頭像關注我

,或者

私信我:idea

, 除了有非常詳細的安裝教程,還有更多網際網路相關技術資料提供,有驚喜哦!

申請免費版本:

https://www。jetbrains。com/idea/buy/

旗艦版和社群版差異細節:

https://www。jetbrains。com/idea/features/editions_comparison_matrix。html

系統要求:

JDK 版本:Apple Java 6 或 Oracle Java 7 以上

記憶體:最低要求 1 G,推薦 2 G 以上

硬碟:最低要求 2 G

顯示器:最低要求 1024 X 768 解析度

IntelliJ IDEA 相關核心檔案和目錄介紹:

萬字長文!IntelliJ IDEA 超詳細使用教程!

IntelliJ IDEA 的安裝目錄並不複雜,上圖為最常改動的 bin 目錄,經常會改動的檔案或是必須介紹就是如圖紅色框中的幾個。

idea64。exe

檔案是 IntelliJ IDEA 64 位的可行執行檔案,要求必須電腦上裝有 JDK 64 位版本。64 位的系統也是建議使用該檔案。

idea64。exe。vmoptions

檔案是 IntelliJ IDEA 64 位的可執行檔案的 VM 配置檔案,具體配置修改會下面進行專門講解。

idea。properties

檔案是 IntelliJ IDEA 的一些屬性配置檔案,具體配置修改會下面進行專門講解。

強烈推薦不要直接修改安裝目錄下的這幾個配置檔案,因為 IDEA 升級/重灌可能會導致修改完全失效!

強烈推薦使用 IDEA 自帶選單中的

Help -> Edit Custom VM Options

Help -> Edit Custom Properties

來進行引數個性化配置!

二、配置、

2.1 樣式主題配置

第一次安裝完IDEA之後,第一步往往需要設定一個合適自己的樣式主題,這部分配置主要包括:

整體的主題配置;

選單欄字型大小樣式配置;

程式碼區字型大小樣式配置;

輸出控制檯字型大小樣式配置。

1. 主題和選單欄配置

如上圖,File>>Settings>>Appearance&Behavior>>Appearance,進入主題設定頁面。選擇我們喜歡的主題,這個可以根據個人愛好自己選擇。然後圖中“override default fonts by”這欄,選擇字型,字型大小自己選擇。注意,這個配置只會影響主題和最上面選單欄的顯示。

萬字長文!IntelliJ IDEA 超詳細使用教程!

2. 程式碼區字型大小樣式配置

如上圖,進入Color Scheme Font標籤頁進行程式碼編輯區的字型樣式設定。

萬字長文!IntelliJ IDEA 超詳細使用教程!

3. 輸出控制檯字型大小樣式配置

萬字長文!IntelliJ IDEA 超詳細使用教程!

2.2 設定編碼字符集

萬字長文!IntelliJ IDEA 超詳細使用教程!

2.3 配置JDK

1. 專案編譯的JDK版本

萬字長文!IntelliJ IDEA 超詳細使用教程!

2. 配置Project的Jdk版本

專案的SDK預設會被專案中的每個module使用,當然我們也可以為每個module配置專有的SDK型別和版本。

萬字長文!IntelliJ IDEA 超詳細使用教程!

3. 配置每個module依賴的JDK版本

每個module會預設使用project配置的jdk版本,當然我們也可以自己指定。

萬字長文!IntelliJ IDEA 超詳細使用教程!

4. 檢查平臺的JDK版本(也就是你電腦上安裝的JDK)

我們在給project建立jdk的時候其實用的就是這個jdk。

萬字長文!IntelliJ IDEA 超詳細使用教程!

2.4 鍵盤習慣配置

如果你之前用慣的是Eclipse,可能用不慣IDEA的快捷鍵。沒事,idea可以將快捷鍵設定為eclipse模式。你之前用的是windows電腦,現在轉為mac了,idea也提供了相應的轉換設定。

透過keyman標籤還可以設定快捷鍵,但是個人不建議改變IDEA預設的快捷鍵設定。

萬字長文!IntelliJ IDEA 超詳細使用教程!

2.5 構建工具配置

常用的構建工具有Maven和Gradle。我們可以選其一。

萬字長文!IntelliJ IDEA 超詳細使用教程!

2.6 自動編譯配置

具體步驟:頂部工具欄 File ->Other Settings -> Default Settings -> Auto Import

說明:開啟自動編譯之後,結合Ctrl+Shift+F9 會有熱更新效果。

萬字長文!IntelliJ IDEA 超詳細使用教程!

萬字長文!IntelliJ IDEA 超詳細使用教程!

三。 除錯技巧

3.1 Debug介面&基本功能

首先看下IDEA中Debug模式下的介面,隨著idea版本的更新Debug模式的圖示設計雖有微調改動,但是功能大體相通。

萬字長文!IntelliJ IDEA 超詳細使用教程!

上圖爬蟲的圖示就是Debug模式執行鍵,綠色三角形圖示是正常的Run模式

如下是在IDEA中啟動Debug模式,進入斷點後的介面,我這裡是Windows,可能和Mac的圖示等會有些不一樣。就簡單說下圖中標註的8個地方:

① 以Debug模式啟動服務,左邊的一個按鈕則是以Run模式啟動。在開發中,我一般會直接啟動Debug模式,方便隨時除錯程式碼。

萬字長文!IntelliJ IDEA 超詳細使用教程!

② 斷點:在左邊行號欄單擊左鍵,或者快捷鍵Ctrl+F8 打上/取消斷點,斷點行的顏色可自己去設定。

③ Debug視窗:訪問請求到達第一個斷點後,會自動啟用Debug視窗。如果沒有自動啟用,可以去設定裡設定。

④ 除錯按鈕:除錯的主要功能就對應著幾個按鈕,滑鼠懸停在按鈕上可以檢視對應的快捷鍵。在選單欄Run裡可以找到同樣的對應的功能。

⑤ 服務按鈕:可以在這裡關閉/啟動服務,設定斷點等。

⑥ 方法呼叫棧:這裡顯示了該執行緒除錯所經過的所有方法,勾選右上角的[Show All Frames]按鈕,就不會顯示其它類庫的方法了,否則這裡會有一大堆的方法。

⑦ Variables:在變數區可以檢視當前斷點之前的當前方法內的變數。

⑧ Watches:檢視變數,可以將Variables區中的變數拖到Watches中檢視

在設定裡勾選Show debug window on breakpoint,則請求進入到斷點後自動啟用Debug視窗

萬字長文!IntelliJ IDEA 超詳細使用教程!

如果你的IDEA底部沒有顯示工具欄或狀態列,可以在View裡開啟,顯示出工具欄會方便我們使用。可以自己去嘗試下這四個選項。

萬字長文!IntelliJ IDEA 超詳細使用教程!

在選單欄Run裡有除錯對應的功能,同時可以檢視對應的快捷鍵。

萬字長文!IntelliJ IDEA 超詳細使用教程!

3.2 基本用法&快捷鍵

Debug除錯的功能主要對應著圖中兩組按鈕:

萬字長文!IntelliJ IDEA 超詳細使用教程!

1、首先說第一組按鈕,從左到右依次如下:

> Show Execution Point (Alt + F10):如果你的游標在其它行或其它頁面,點選這個按鈕可跳轉到當前程式碼執行的行。

> Step Over (F8):步過,一行一行地往下走,如果這一行上有方法不會進入方法。

> Step Into (F7):步入,如果當前行有方法,可以進入方法內部,一般用於進入自定義方法內,不會進入官方類庫的方法。

> Force Step Into (Alt + Shift + F7):強制步入,能進入任何方法,檢視底層原始碼的時候可以用這個進入官方類庫的方法。

> Step Out (Shift + F8):步出,從步入的方法內退出到方法呼叫處,此時方法已執行完畢,只是還沒有完成賦值。

> Drop Frame (預設無):回退斷點,後面章節詳細說明。

> Run to Cursor (Alt + F9):執行到游標處,你可以將游標定位到你需要檢視的那一行,然後使用這個功能,程式碼會執行至游標行,而不需要打斷點。

> Evaluate Expression (Alt + F8):計算表示式,後面章節詳細說明。

2、第二組按鈕,共從上到下依次如下:

萬字長文!IntelliJ IDEA 超詳細使用教程!

> Rerun ‘xxxx’:重新執行程式,會關閉服務後重新啟動程式。

> Update ‘tech’ application (Ctrl + F5):更新程式,一般在你的程式碼有改動後可執行這個功能。

> Resume Program (F9):恢復程式,比如,你在第20行和25行有兩個斷點,當前執行至第20行,按F9,則執行到下一個斷點(即第25行),再按F9,則執行完整個流程,因為後面已經沒有斷點了。

> Pause Program:暫停程式,啟用Debug。

> Stop ‘xxx’ (Ctrl + F2):連續按兩下,關閉程式。有時候你會發現關閉服務再啟動時,報埠被佔用,這是因為沒完全關閉服務的原因,你就需要查殺所有JVM程序了。

> View Breakpoints (Ctrl + Shift + F8):檢視所有斷點,後面章節會涉及到。

> Mute Breakpoints:靜啞斷點,啞的斷點,選擇這個後,所有斷點變為灰色,斷點失效,按F9則可以直接執行完程式。再次點選,斷點變為紅色,有效。如果只想使某一個斷點失效,可以在斷點上右鍵取消Enabled。

更新程式,On ‘Update’ actions,執行更新操作時所做的事情,一般選擇’Update classes and resources’,即更新類和資原始檔。

萬字長文!IntelliJ IDEA 超詳細使用教程!

一般配合熱部署外掛會更好用,如JRebel,這樣就不用每次更改程式碼後還要去重新啟動服務。

下面的On frame deactivation,在IDEA視窗失去焦點時觸發,即一般你從idea切換到瀏覽器的時候,idea會自動幫你做的事情,一般可以設定Do nothing,頻繁切換會比較消耗資源的。

萬字長文!IntelliJ IDEA 超詳細使用教程!

常用的除錯快捷鍵如下:

Run Shift + F10 執行最近一次執行的函式、Debug Shift + F9 執行debug最近一次執行的函式

Run Alt + Shift + F10 初次執行指定的函式

Debug Alt + Shift + F9 初次debug執行指定的函式

Stop Ctrl + F2 停止專案

Step Over F8 越過當前函式

Forcce Step Over Alt + Shift + F8 強制越過

Step Into F7 步入當前函式

Force Step Into Alt + Shift + F7 強行進入當前函式

Smart Step Into Shift + F7 只能進入當前函式

Step out Shift + F8 步出

Resume Program F9 恢復程式

Evaluate Expression Alt + F8 計算表示式

3.3 變數檢視

在Debug過程中,跟蹤檢視變數的變化是非常必要的,這裡就簡單說下IDEA中可以檢視變數的幾個地方,相信大部分人都瞭解。

1、如下,在IDEA中,引數所在行後面會顯示當前變數的值。

萬字長文!IntelliJ IDEA 超詳細使用教程!

2、游標懸停到引數上,顯示當前變數資訊。點選開啟詳情如圖。我一般會使用這種方式,快捷方便。

萬字長文!IntelliJ IDEA 超詳細使用教程!

3、在Variables裡檢視,這裡顯示當前方法裡的所有變數。

萬字長文!IntelliJ IDEA 超詳細使用教程!

4、右鍵新增到watch, 可以檢視值

萬字長文!IntelliJ IDEA 超詳細使用教程!

3.4 計算表示式

在前面提到的計算表示式的按鈕,Evaluate Expression (Alt + F8) 。可以使用這個操作在除錯過程中計算某個表示式的值,而不用再去列印資訊。

求值計算功能在我們debug過程中,可以很方便的檢視程式中所有變數的值,也可以臨時修改程式中變數的值,這個功能能在一定程度上輔助我們進行程式碼除錯。

萬字長文!IntelliJ IDEA 超詳細使用教程!

1、按Alt + F8或按鈕,或者,你可以選中某個表示式再Alt + F8,彈出計算表示式的視窗,如下,回車或點選Evaluate計算表示式的值。

這個表示式不僅可以是一般變數或引數,也可以是方法,當你的一行程式碼中呼叫了幾個方法時,就可以透過這種方式檢視檢視某個方法的返回值。

萬字長文!IntelliJ IDEA 超詳細使用教程!

3.5 智慧步入

想想,一行程式碼裡有好幾個方法,怎麼只選擇某一個方法進入。之前提到過使用Step Into (Alt + F7) 或者 Force Step Into (Alt + Shift + F7)進入到方法內部,但這兩個操作會根據方法呼叫順序依次進入,這比較麻煩。

那麼智慧步入就很方便了,智慧步入,這個功能在Run裡可以看到,Smart Step Into (Shift + F7),如圖

萬字長文!IntelliJ IDEA 超詳細使用教程!

按Shift + F7,會自動定位到當前斷點行,並列出需要進入的方法,如圖點選方法進入方法內部。

如果只有一個方法,則直接進入,類似Force Step Into。

萬字長文!IntelliJ IDEA 超詳細使用教程!

3.6 斷點條件設定

條件斷點就是當滿足某個條件(通常是表示式)時,debug斷點才會生效;這在迴圈中debug是非常有用的;例如我們想要在迴圈體中除錯:當某個變數滿足某個條件時,需要斷點除錯,來檢視詳細的執行流程及變化情況。透過設定斷點條件,在滿足條件時,才停在斷點處,否則直接執行。

通常,當我們在遍歷一個比較大的集合或陣列時,在迴圈內設定了一個斷點,難道我們要一個一個去看變數的值?那肯定很累,說不定你還錯過這個值得重新來一次。

1、在斷點上右鍵直接設定當前斷點的條件,如圖,當name為eamon:23時,程式執行到斷點處停下來。

萬字長文!IntelliJ IDEA 超詳細使用教程!

有了條件斷點,這樣一來,那些不相關和我們不關心的程式碼就可以直接跳過了。

2、點選View Breakpoints (Ctrl + Shift + F8),檢視所有斷點。

Java Line Breakpoints 顯示了所有的斷點,在右邊勾選Condition,設定斷點的條件。

勾選Log message to console,則會將當前斷點行輸出到控制檯,如圖

勾選Evaluate and log,可以在執行這行程式碼是計算表示式的值,並將結果輸出到控制檯。

萬字長文!IntelliJ IDEA 超詳細使用教程!

3、再說說右邊的Filters過濾,這些一般情況下不常用,簡單說下意思。

Instance filters:例項過濾,輸入例項ID。

Class filters:類過濾,根據類名過濾

Pass count:用於迴圈中,如果斷點在迴圈中,可以設定該值,迴圈多少次後停在斷點處,之後的迴圈都會停在斷點處。

4、異常斷點,透過設定異常斷點,在程式中出現需要攔截的異常時,會自動定位到異常行。

如圖,點選+號新增Java Exception Breakpoints,新增異常斷點。然後輸入需要斷點的異常類,之後可以在Java Exception Breakpoints裡看到新增的異常斷點。

萬字長文!IntelliJ IDEA 超詳細使用教程!

萬字長文!IntelliJ IDEA 超詳細使用教程!

3.7 多執行緒除錯

一般情況下我們除錯的時候是在一個執行緒中的,一步一步往下走。但有時候你會發現在Debug的時候,想發起另外一個請求都無法進行了?

那是因為IDEA在Debug時預設阻塞級別是ALL,會阻塞其它執行緒,只有在當前除錯執行緒走完時才會走其它執行緒。可以在View Breakpoints裡選擇Thread,如圖,然後點選Make Default設定為預設選項。

萬字長文!IntelliJ IDEA 超詳細使用教程!

切換執行緒,在Frames的下拉列表裡,可以切換當前的執行緒,如下我這裡有兩個Debug的執行緒,切換另外一個則進入另一個Debug的執行緒。

萬字長文!IntelliJ IDEA 超詳細使用教程!

3.10 中斷Debug

想要在Debug的時候,中斷請求,不要再走剩餘的流程了?

有些時候,我們看到傳入的引數有誤後,不想走後面的流程了,尤其是後面的流程要刪除資料庫資料,這種情況可以透過Force Return,即強制返回來避免後續的流程。

點選Force Return,彈出Return Value的視窗,我這個方法的返回型別為Map,所以,我這裡直接返回 results,來強制返回,從而不再進行後續的流程。或者你可以new HashMap<>()。

萬字長文!IntelliJ IDEA 超詳細使用教程!

四、常用快捷鍵

IntelliJ IDEA 於 2001 年 1 月誕生,並在 3。0 版本之後屢次獲得各類大獎,從而奠定了它在 IDEA 中地位。而IDEA的快捷鍵能大大提升我們的開發效率和程式設計體驗,讓開發者為之著迷。

4。1 搜尋相關

alt+F7(右鍵“find usage”)/ctr+滑鼠左擊:查詢當前類、方法和變數在哪些地方使用過;

ctrl+N: 查詢類;

ctrl+N+:行號(比如String:10 指跳轉到String類的第10行 )

ctrl+F/alt+f3:在當前編輯的文件中查詢;

ctrl+shitf+F :在所有檔案中查詢;

ctrl+shift+N :查詢檔案;

double shift:search everywhere;

search struct:按照模板搜尋程式碼。

4。2 程式碼編輯相關

alt+insert:插入建構函式,setter/getter方法;

ctrl+alt+space :自動補全程式碼;

ctrl+shift+enter:補全程式碼

ctrl+/ :程式碼註釋;

ctrl+shirt+/ : 程式碼註釋;

ctrl+X:剪下行;

ctrl+D:賦值行;

ctrl+W:智慧選中相關程式碼;

ctrl+alt+t : 選中程式碼塊 可以新增try catch if-else塊

ctrl+J :提示縮寫

alt+J: 逐個選中並高亮一個變數

shift+F6: rename變數和方法等;

ctrl+P:顯示一個方法的引數情況

ctrl+O :過載一個父類或介面的方法

alt+1 ——>ctrl+shift+> : 首先alt+1定位project,然後再調整分割線

F11:新增書籤,收藏關鍵業務程式碼

shift+F11:顯示書籤

ctrl+enter:重新命名書籤

ctrl+z/ctrl+shift+z

ctrl+shift+f7結合f3:ctrl+shift+f7可以高亮某個變數,而且隨著滑鼠的移動,這個高亮是不會消失的(這個很重要)。然後使用f3找到下一個使用該變數的地方。

ctrl+shift+。 摺疊程式碼塊,ctrl++號;還原始碼塊;

CTRL+SHIFT+F7:把游標放在某個元素中,按下快捷鍵之後,IDE將高亮顯示所選元素所有出現過的地方。

4。3 導航相關

ctrl+反點號 : 基礎設定;

Ctrl+Shift+V :使用最近複製過的文字;

ctrl+tab :歷史tab導航;

ctrl+E :最近瀏覽過的檔案;

ctrl+shift+e :最近編輯過的檔案;

ctrl + F12 :列舉類的成員變數和方法;

ctrl + H : 檢視類的繼承關係

Ctrl+Shift+Backspace(Go to | Last Edit Location)讓你調轉到程式碼中所做改變的最後一個地方,多按幾次Ctrl-Shift-Backspace檢視更深的修改歷史;

ctrl+alt+< / ctrl+alt+> : 可以在前兩次操作之間切換,有點像瀏覽器的前進後退功能

Ctrl-Alt-Down/Ctrl-Alt-Up快捷鍵則可以在編譯器錯誤資訊或者查詢操作結果間跳轉;

ESC :將焦點移到編輯器視窗

shift+esc :將焦點移動到編輯器視窗,並且關閉工具視窗

F12 開啟上次使用的工具視窗

alt+home:瀏覽導航欄;

ctrl+]或者ctrl+[:括號匹配:這個也非常有用,因為程式碼太長,某個for迴圈,可能已經撐滿整個螢幕了。這個時候,找到某個大括號對應的另外一邊就很費勁。你可以將游標定位在某個大括號一邊,然後使用ctrl+]或者ctrl+[來回定位即可。

這邊貼上一個思維導圖:

萬字長文!IntelliJ IDEA 超詳細使用教程!

五、外掛推薦

阿里巴巴規約外掛;

Key promoter(快捷鍵提示);

jrebel(熱部署);

findbugs(幫助尋找程式碼可能潛在的bug);

grep console;

。ignore(生成各種ignore檔案);

lombok(支援各種註解,省略程式碼);

GsonFormat(一鍵根據json文字生成java類);

Maven Helper;

VisualVM Launcher;(jvm調優必備工具);

MyBatisCodeHelperPro(mybatis程式碼自動生成外掛);

Rainbow Brackets(彩虹顏色的括號,程式碼看起來比較舒服);

Translation(翻譯外掛);

String Manipulation(提供強大的文字轉換操作);

Nyan progress bar(裝逼進度條);

Background Image Plus(背景圖外掛);

activate-power-mode OR Power mode II(位元組跳動外掛);

JUnitGenerator(單元測試生成工具);

SequenceDiagram(時序圖生成工具);

ledis(Redis視覺化工具

easyCode