整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          萬(wàn)字長(zhǎng)文!IntelliJ IDEA 超詳細(xì)使用教程

          欲善其事,必先利其器。在Java開發(fā)中挑選一款好的Ide環(huán)境能大大提升我們的開發(fā)效率,IntelliJ IDEA正是一個(gè)不二選擇。本教程會(huì)介紹怎么對(duì)idea進(jìn)行配置、使用idea進(jìn)行debug和經(jīng)常使用的快捷鍵,最后會(huì)推薦幾個(gè)牛逼的idea插件,大大提升開發(fā)體驗(yàn)和效率。

          一、安裝

          IntelliJ IDEA 有旗艦版和社區(qū)版本之分,其中旗艦版(Ultimate Edition)為收費(fèi)版本,有 30 天試用期。如果你是學(xué)生、老師、開源項(xiàng)目參與者都可以向官網(wǎng)免費(fèi)試用旗艦版。社區(qū)版(Community Edition)為免費(fèi)版本,功能較旗艦版少了很多。

          收費(fèi)版本比Community的免費(fèi)版本多了很多功能,這些功能可以大大提升我們的開發(fā)效率。下載完成后需要自己安裝激活。

          關(guān)于怎么永久激活可以見地址:

          https://www.yuque.com/docs/share/12a88ca7-c665-45ad-82bc-8bfbc1718567?# 《IntelliJ IDEA2022.2最新最細(xì)指導(dǎo)教程》


          • 申請(qǐng)免費(fèi)版本:https://www.jetbrains.com/idea/buy/
          • 旗艦版和社區(qū)版差異細(xì)節(jié):https://www.jetbrains.com/idea/features/editions_comparison_matrix.html

          系統(tǒng)要求:

          • JDK 版本:Apple Java 6 或 Oracle Java 7 以上
          • 內(nèi)存:最低要求 1 G,推薦 2 G 以上
          • 硬盤:最低要求 2 G
          • 顯示器:最低要求 1024 X 768 分辨率


          IntelliJ IDEA 相關(guān)核心文件和目錄介紹:

          • IntelliJ IDEA 的安裝目錄并不復(fù)雜,上圖為最常改動(dòng)的 bin 目錄,經(jīng)常會(huì)改動(dòng)的文件或是必須介紹就是如圖紅色框中的幾個(gè)。
          • idea64.exe 文件是 IntelliJ IDEA 64 位的可行執(zhí)行文件,要求必須電腦上裝有 JDK 64 位版本。64 位的系統(tǒng)也是建議使用該文件。
          • idea64.exe.vmoptions 文件是 IntelliJ IDEA 64 位的可執(zhí)行文件的 VM 配置文件,具體配置修改會(huì)下面進(jìn)行專門講解。
          • idea.properties 文件是 IntelliJ IDEA 的一些屬性配置文件,具體配置修改會(huì)下面進(jìn)行專門講解。

          • 強(qiáng)烈推薦不要直接修改安裝目錄下的這幾個(gè)配置文件,因?yàn)?IDEA 升級(jí)/重裝可能會(huì)導(dǎo)致修改完全失效!

          • 強(qiáng)烈推薦使用 IDEA 自帶菜單中的 Help -> Edit Custom VM Options 和 Help -> Edit Custom Properties 來(lái)進(jìn)行參數(shù)個(gè)性化配置!

          二、配置、

          2.1 樣式主題配置

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

          • 整體的主題配置;
          • 菜單欄字體大小樣式配置;
          • 代碼區(qū)字體大小樣式配置;
          • 輸出控制臺(tái)字體大小樣式配置。

          1. 主題和菜單欄配置

          如上圖,F(xiàn)ile>>Settings>>Appearance&Behavior>>Appearance,進(jìn)入主題設(shè)置頁(yè)面。選擇我們喜歡的主題,這個(gè)可以根據(jù)個(gè)人愛好自己選擇。然后圖中"override default fonts by"這欄,選擇字體,字體大小自己選擇。注意,這個(gè)配置只會(huì)影響主題和最上面菜單欄的顯示。

          2. 代碼區(qū)字體大小樣式配置

          如上圖,進(jìn)入Color Scheme Font標(biāo)簽頁(yè)進(jìn)行代碼編輯區(qū)的字體樣式設(shè)置。

          3. 輸出控制臺(tái)字體大小樣式配置

          2.2 設(shè)置編碼字符集

          2.3 配置JDK

          1. 項(xiàng)目編譯的JDK版本


          2. 配置Project的Jdk版本

          項(xiàng)目的SDK默認(rèn)會(huì)被項(xiàng)目中的每個(gè)module使用,當(dāng)然我們也可以為每個(gè)module配置專有的SDK類型和版本。

          3. 配置每個(gè)module依賴的JDK版本

          每個(gè)module會(huì)默認(rèn)使用project配置的jdk版本,當(dāng)然我們也可以自己指定。

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

          我們?cè)诮oproject創(chuàng)建jdk的時(shí)候其實(shí)用的就是這個(gè)jdk。

          2.4 鍵盤習(xí)慣配置

          如果你之前用慣的是Eclipse,可能用不慣IDEA的快捷鍵.沒事,idea可以將快捷鍵設(shè)置為eclipse模式。你之前用的是windows電腦,現(xiàn)在轉(zhuǎn)為mac了,idea也提供了相應(yīng)的轉(zhuǎn)換設(shè)置。

          通過(guò)keyman標(biāo)簽還可以設(shè)置快捷鍵,但是個(gè)人不建議改變IDEA默認(rèn)的快捷鍵設(shè)置。

          2.5 構(gòu)建工具配置

          常用的構(gòu)建工具有Maven和Gradle。我們可以選其一。

          2.6 自動(dòng)編譯配置

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

          說(shuō)明:開啟自動(dòng)編譯之后,結(jié)合Ctrl+Shift+F9 會(huì)有熱更新效果。

          三. 調(diào)試技巧

          3.1 Debug界面&基本功能

          首先看下IDEA中Debug模式下的界面,隨著idea版本的更新Debug模式的圖標(biāo)設(shè)計(jì)雖有微調(diào)改動(dòng),但是功能大體相通。

           上圖爬蟲的圖標(biāo)就是Debug模式運(yùn)行鍵,綠色三角形圖標(biāo)是正常的Run模式
            
           如下是在IDEA中啟動(dòng)Debug模式,進(jìn)入斷點(diǎn)后的界面,我這里是Windows,可能和Mac的圖標(biāo)等會(huì)有些不一樣。就簡(jiǎn)單說(shuō)下圖中標(biāo)注的8個(gè)地方:

          ① 以Debug模式啟動(dòng)服務(wù),左邊的一個(gè)按鈕則是以Run模式啟動(dòng)。在開發(fā)中,我一般會(huì)直接啟動(dòng)Debug模式,方便隨時(shí)調(diào)試代碼。

          ② 斷點(diǎn):在左邊行號(hào)欄單擊左鍵,或者快捷鍵Ctrl+F8 打上/取消斷點(diǎn),斷點(diǎn)行的顏色可自己去設(shè)置。

          ③ Debug窗口:訪問(wèn)請(qǐng)求到達(dá)第一個(gè)斷點(diǎn)后,會(huì)自動(dòng)激活Debug窗口。如果沒有自動(dòng)激活,可以去設(shè)置里設(shè)置。

          ④ 調(diào)試按鈕:調(diào)試的主要功能就對(duì)應(yīng)著幾個(gè)按鈕,鼠標(biāo)懸停在按鈕上可以查看對(duì)應(yīng)的快捷鍵。在菜單欄Run里可以找到同樣的對(duì)應(yīng)的功能。

          ⑤ 服務(wù)按鈕:可以在這里關(guān)閉/啟動(dòng)服務(wù),設(shè)置斷點(diǎn)等。

          ⑥ 方法調(diào)用棧:這里顯示了該線程調(diào)試所經(jīng)過(guò)的所有方法,勾選右上角的[Show All Frames]按鈕,就不會(huì)顯示其它類庫(kù)的方法了,否則這里會(huì)有一大堆的方法。

          ⑦ Variables:在變量區(qū)可以查看當(dāng)前斷點(diǎn)之前的當(dāng)前方法內(nèi)的變量。

          ⑧ Watches:查看變量,可以將Variables區(qū)中的變量拖到Watches中查看

          在設(shè)置里勾選Show debug window on breakpoint,則請(qǐng)求進(jìn)入到斷點(diǎn)后自動(dòng)激活Debug窗口

          如果你的IDEA底部沒有顯示工具欄或狀態(tài)欄,可以在View里打開,顯示出工具欄會(huì)方便我們使用。可以自己去嘗試下這四個(gè)選項(xiàng)。

          在菜單欄Run里有調(diào)試對(duì)應(yīng)的功能,同時(shí)可以查看對(duì)應(yīng)的快捷鍵。

          3.2 基本用法&快捷鍵

          Debug調(diào)試的功能主要對(duì)應(yīng)著圖中兩組按鈕:

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

          > Show Execution Point (Alt + F10):如果你的光標(biāo)在其它行或其它頁(yè)面,點(diǎn)擊這個(gè)按鈕可跳轉(zhuǎn)到當(dāng)前代碼執(zhí)行的行。

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

          > Step Into (F7):步入,如果當(dāng)前行有方法,可以進(jìn)入方法內(nèi)部,一般用于進(jìn)入自定義方法內(nèi),不會(huì)進(jìn)入官方類庫(kù)的方法。

          > Force Step Into (Alt + Shift + F7):強(qiáng)制步入,能進(jìn)入任何方法,查看底層源碼的時(shí)候可以用這個(gè)進(jìn)入官方類庫(kù)的方法。

          > Step Out (Shift + F8):步出,從步入的方法內(nèi)退出到方法調(diào)用處,此時(shí)方法已執(zhí)行完畢,只是還沒有完成賦值。

          > Drop Frame (默認(rèn)無(wú)):回退斷點(diǎn),后面章節(jié)詳細(xì)說(shuō)明。

          > Run to Cursor (Alt + F9):運(yùn)行到光標(biāo)處,你可以將光標(biāo)定位到你需要查看的那一行,然后使用這個(gè)功能,代碼會(huì)運(yùn)行至光標(biāo)行,而不需要打斷點(diǎn)。

          > Evaluate Expression (Alt + F8):計(jì)算表達(dá)式,后面章節(jié)詳細(xì)說(shuō)明。

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

          > Rerun ‘xxxx’:重新運(yùn)行程序,會(huì)關(guān)閉服務(wù)后重新啟動(dòng)程序。

          > Update ‘tech’ application (Ctrl + F5):更新程序,一般在你的代碼有改動(dòng)后可執(zhí)行這個(gè)功能。

          > Resume Program (F9):恢復(fù)程序,比如,你在第20行和25行有兩個(gè)斷點(diǎn),當(dāng)前運(yùn)行至第20行,按F9,則運(yùn)行到下一個(gè)斷點(diǎn)(即第25行),再按F9,則運(yùn)行完整個(gè)流程,因?yàn)楹竺嬉呀?jīng)沒有斷點(diǎn)了。

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

          > Stop ‘xxx’ (Ctrl + F2):連續(xù)按兩下,關(guān)閉程序。有時(shí)候你會(huì)發(fā)現(xiàn)關(guān)閉服務(wù)再啟動(dòng)時(shí),報(bào)端口被占用,這是因?yàn)闆]完全關(guān)閉服務(wù)的原因,你就需要查殺所有JVM進(jìn)程了。

          > View Breakpoints (Ctrl + Shift + F8):查看所有斷點(diǎn),后面章節(jié)會(huì)涉及到。

          > Mute Breakpoints:靜啞斷點(diǎn),啞的斷點(diǎn),選擇這個(gè)后,所有斷點(diǎn)變?yōu)榛疑瑪帱c(diǎn)失效,按F9則可以直接運(yùn)行完程序。再次點(diǎn)擊,斷點(diǎn)變?yōu)榧t色,有效。如果只想使某一個(gè)斷點(diǎn)失效,可以在斷點(diǎn)上右鍵取消Enabled。

          更新程序,On ‘Update’ actions,執(zhí)行更新操作時(shí)所做的事情,一般選擇’Update classes and resources’,即更新類和資源文件。

          一般配合熱部署插件會(huì)更好用,如JRebel,這樣就不用每次更改代碼后還要去重新啟動(dòng)服務(wù)。

          下面的On frame deactivation,在IDEA窗口失去焦點(diǎn)時(shí)觸發(fā),即一般你從idea切換到瀏覽器的時(shí)候,idea會(huì)自動(dòng)幫你做的事情,一般可以設(shè)置Do nothing,頻繁切換會(huì)比較消耗資源的。

          常用的調(diào)試快捷鍵如下:

          Run Shift + F10 運(yùn)行最近一次運(yùn)行的函數(shù)、Debug Shift + F9 運(yùn)行debug最近一次運(yùn)行的函數(shù)

          Run Alt + Shift + F10 初次運(yùn)行指定的函數(shù)
          Debug Alt + Shift + F9 初次debug運(yùn)行指定的函數(shù)
          Stop Ctrl + F2 停止項(xiàng)目
          Step Over F8 越過(guò)當(dāng)前函數(shù)
          Forcce Step Over Alt + Shift + F8 強(qiáng)制越過(guò)
          Step Into F7 步入當(dāng)前函數(shù)
          Force Step Into Alt + Shift + F7 強(qiáng)行進(jìn)入當(dāng)前函數(shù)
          Smart Step Into Shift + F7 只能進(jìn)入當(dāng)前函數(shù)
          Step out Shift + F8 步出
          Resume Program F9 恢復(fù)程序
          Evaluate Expression Alt + F8 計(jì)算表達(dá)式


          3.3 變量查看

          在Debug過(guò)程中,跟蹤查看變量的變化是非常必要的,這里就簡(jiǎn)單說(shuō)下IDEA中可以查看變量的幾個(gè)地方,相信大部分人都了解。

          1、如下,在IDEA中,參數(shù)所在行后面會(huì)顯示當(dāng)前變量的值。

            2、光標(biāo)懸停到參數(shù)上,顯示當(dāng)前變量信息。點(diǎn)擊打開詳情如圖。我一般會(huì)使用這種方式,快捷方便。



            3、在Variables里查看,這里顯示當(dāng)前方法里的所有變量。



            4、右鍵添加到watch, 可以查看值

          3.4 計(jì)算表達(dá)式

          在前面提到的計(jì)算表達(dá)式的按鈕,Evaluate Expression (Alt + F8) 。可以使用這個(gè)操作在調(diào)試過(guò)程中計(jì)算某個(gè)表達(dá)式的值,而不用再去打印信息。
          求值計(jì)算功能在我們debug過(guò)程中,可以很方便的查看程序中所有變量的值,也可以臨時(shí)修改程序中變量的值,這個(gè)功能能在一定程度上輔助我們進(jìn)行代碼調(diào)試。


            1、按Alt + F8或按鈕,或者,你可以選中某個(gè)表達(dá)式再Alt + F8,彈出計(jì)算表達(dá)式的窗口,如下,回車或點(diǎn)擊Evaluate計(jì)算表達(dá)式的值。

          這個(gè)表達(dá)式不僅可以是一般變量或參數(shù),也可以是方法,當(dāng)你的一行代碼中調(diào)用了幾個(gè)方法時(shí),就可以通過(guò)這種方式查看查看某個(gè)方法的返回值。

          3.5 智能步入

          想想,一行代碼里有好幾個(gè)方法,怎么只選擇某一個(gè)方法進(jìn)入。之前提到過(guò)使用Step Into (Alt + F7) 或者 Force Step Into (Alt + Shift + F7)進(jìn)入到方法內(nèi)部,但這兩個(gè)操作會(huì)根據(jù)方法調(diào)用順序依次進(jìn)入,這比較麻煩。

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

            按Shift + F7,會(huì)自動(dòng)定位到當(dāng)前斷點(diǎn)行,并列出需要進(jìn)入的方法,如圖點(diǎn)擊方法進(jìn)入方法內(nèi)部。

          如果只有一個(gè)方法,則直接進(jìn)入,類似Force Step Into。

          3.6 斷點(diǎn)條件設(shè)置

          條件斷點(diǎn)就是當(dāng)滿足某個(gè)條件(通常是表達(dá)式)時(shí),debug斷點(diǎn)才會(huì)生效;這在循環(huán)中debug是非常有用的;例如我們想要在循環(huán)體中調(diào)試:當(dāng)某個(gè)變量滿足某個(gè)條件時(shí),需要斷點(diǎn)調(diào)試,來(lái)查看詳細(xì)的執(zhí)行流程及變化情況。通過(guò)設(shè)置斷點(diǎn)條件,在滿足條件時(shí),才停在斷點(diǎn)處,否則直接運(yùn)行。

          通常,當(dāng)我們?cè)诒闅v一個(gè)比較大的集合或數(shù)組時(shí),在循環(huán)內(nèi)設(shè)置了一個(gè)斷點(diǎn),難道我們要一個(gè)一個(gè)去看變量的值?那肯定很累,說(shuō)不定你還錯(cuò)過(guò)這個(gè)值得重新來(lái)一次。

          1、在斷點(diǎn)上右鍵直接設(shè)置當(dāng)前斷點(diǎn)的條件,如圖,當(dāng)name為eamon:23時(shí),程序執(zhí)行到斷點(diǎn)處停下來(lái)。

          有了條件斷點(diǎn),這樣一來(lái),那些不相關(guān)和我們不關(guān)心的代碼就可以直接跳過(guò)了。

          2、點(diǎn)擊View Breakpoints (Ctrl + Shift + F8),查看所有斷點(diǎn)。

          Java Line Breakpoints 顯示了所有的斷點(diǎn),在右邊勾選Condition,設(shè)置斷點(diǎn)的條件。

          勾選Log message to console,則會(huì)將當(dāng)前斷點(diǎn)行輸出到控制臺(tái),如圖

          勾選Evaluate and log,可以在執(zhí)行這行代碼是計(jì)算表達(dá)式的值,并將結(jié)果輸出到控制臺(tái)。

          3、再說(shuō)說(shuō)右邊的Filters過(guò)濾,這些一般情況下不常用,簡(jiǎn)單說(shuō)下意思。

          Instance filters:實(shí)例過(guò)濾,輸入實(shí)例ID。

          Class filters:類過(guò)濾,根據(jù)類名過(guò)濾

          Pass count:用于循環(huán)中,如果斷點(diǎn)在循環(huán)中,可以設(shè)置該值,循環(huán)多少次后停在斷點(diǎn)處,之后的循環(huán)都會(huì)停在斷點(diǎn)處。

          4、異常斷點(diǎn),通過(guò)設(shè)置異常斷點(diǎn),在程序中出現(xiàn)需要攔截的異常時(shí),會(huì)自動(dòng)定位到異常行。

          如圖,點(diǎn)擊+號(hào)添加Java Exception Breakpoints,添加異常斷點(diǎn)。然后輸入需要斷點(diǎn)的異常類,之后可以在Java Exception Breakpoints里看到添加的異常斷點(diǎn)。

          3.7 多線程調(diào)試

          一般情況下我們調(diào)試的時(shí)候是在一個(gè)線程中的,一步一步往下走。但有時(shí)候你會(huì)發(fā)現(xiàn)在Debug的時(shí)候,想發(fā)起另外一個(gè)請(qǐng)求都無(wú)法進(jìn)行了?

          那是因?yàn)镮DEA在Debug時(shí)默認(rèn)阻塞級(jí)別是ALL,會(huì)阻塞其它線程,只有在當(dāng)前調(diào)試線程走完時(shí)才會(huì)走其它線程。可以在View Breakpoints里選擇Thread,如圖,然后點(diǎn)擊Make Default設(shè)置為默認(rèn)選項(xiàng)。

          切換線程,在Frames的下拉列表里,可以切換當(dāng)前的線程,如下我這里有兩個(gè)Debug的線程,切換另外一個(gè)則進(jìn)入另一個(gè)Debug的線程。

          3.10 中斷Debug

          想要在Debug的時(shí)候,中斷請(qǐng)求,不要再走剩余的流程了?

          有些時(shí)候,我們看到傳入的參數(shù)有誤后,不想走后面的流程了,尤其是后面的流程要?jiǎng)h除數(shù)據(jù)庫(kù)數(shù)據(jù),這種情況可以通過(guò)Force Return,即強(qiáng)制返回來(lái)避免后續(xù)的流程。

          點(diǎn)擊Force Return,彈出Return Value的窗口,我這個(gè)方法的返回類型為Map,所以,我這里直接返回 results,來(lái)強(qiáng)制返回,從而不再進(jìn)行后續(xù)的流程。或者你可以new HashMap<>()。

          四、常用快捷鍵

          IntelliJ IDEA 于 2001 年 1 月誕生,并在 3.0 版本之后屢次獲得各類大獎(jiǎng),從而奠定了它在 IDEA 中地位。而IDEA的快捷鍵能大大提升我們的開發(fā)效率和編程體驗(yàn),讓開發(fā)者為之著迷。

          4.1 搜索相關(guān)

          • alt+F7(右鍵“find usage”)/ctr+鼠標(biāo)左擊:查找當(dāng)前類、方法和變量在哪些地方使用過(guò);
          • ctrl+N: 查找類;
          • ctrl+N+:行號(hào)(比如String:10 指跳轉(zhuǎn)到String類的第10行 )
          • ctrl+F/alt+f3:在當(dāng)前編輯的文檔中查找;
          • ctrl+shitf+F :在所有文件中查找;
          • ctrl+shift+N :查找文件;
          • double shift:search everywhere;
          • search struct:按照模板搜索代碼。

          4.2 代碼編輯相關(guān)

          • alt+insert:插入構(gòu)造函數(shù),setter/getter方法;
          • ctrl+alt+space :自動(dòng)補(bǔ)全代碼;
          • ctrl+shift+enter:補(bǔ)全代碼
          • ctrl+/ :代碼注釋;
          • ctrl+shirt+/ : 代碼注釋;
          • ctrl+X:剪切行;
          • ctrl+D:賦值行;
          • ctrl+W:智能選中相關(guān)代碼;
          • ctrl+alt+t : 選中代碼塊 可以添加try catch if-else塊
          • ctrl+J :提示縮寫
          • alt+J: 逐個(gè)選中并高亮一個(gè)變量
          • shift+F6: rename變量和方法等;
          • ctrl+P:顯示一個(gè)方法的參數(shù)情況
          • ctrl+O :重載一個(gè)父類或接口的方法
          • alt+1 -->ctrl+shift+> : 首先alt+1定位project,然后再調(diào)整分割線
          • F11:添加書簽,收藏關(guān)鍵業(yè)務(wù)代碼
          • shift+F11:顯示書簽
          • ctrl+enter:重命名書簽
          • ctrl+z/ctrl+shift+z
          • ctrl+shift+f7結(jié)合f3:ctrl+shift+f7可以高亮某個(gè)變量,而且隨著鼠標(biāo)的移動(dòng),這個(gè)高亮是不會(huì)消失的(這個(gè)很重要)。然后使用f3找到下一個(gè)使用該變量的地方。
          • ctrl+shift+. 折疊代碼塊,ctrl++號(hào);還原代碼塊;
          • CTRL+SHIFT+F7:把光標(biāo)放在某個(gè)元素中,按下快捷鍵之后,IDE將高亮顯示所選元素所有出現(xiàn)過(guò)的地方。

          4.3 導(dǎo)航相關(guān)

          • ctrl+反點(diǎn)號(hào) : 基礎(chǔ)設(shè)置;
          • Ctrl+Shift+V :使用最近復(fù)制過(guò)的文本;
          • ctrl+tab :歷史tab導(dǎo)航;
          • ctrl+E :最近瀏覽過(guò)的文件;
          • ctrl+shift+e :最近編輯過(guò)的文件;
          • ctrl + F12 :列舉類的成員變量和方法;
          • ctrl + H : 查看類的繼承關(guān)系
          • Ctrl+Shift+Backspace(Go to | Last Edit Location)讓你調(diào)轉(zhuǎn)到代碼中所做改變的最后一個(gè)地方,多按幾次Ctrl-Shift-Backspace查看更深的修改歷史;
          • ctrl+alt+< / ctrl+alt+> : 可以在前兩次操作之間切換,有點(diǎn)像瀏覽器的前進(jìn)后退功能
          • Ctrl-Alt-Down/Ctrl-Alt-Up快捷鍵則可以在編譯器錯(cuò)誤信息或者查找操作結(jié)果間跳轉(zhuǎn);
          • ESC :將焦點(diǎn)移到編輯器窗口
          • shift+esc :將焦點(diǎn)移動(dòng)到編輯器窗口,并且關(guān)閉工具窗口
          • F12 打開上次使用的工具窗口
          • alt+home:瀏覽導(dǎo)航欄;
          • ctrl+]或者ctrl+[:括號(hào)匹配:這個(gè)也非常有用,因?yàn)榇a太長(zhǎng),某個(gè)for循環(huán),可能已經(jīng)撐滿整個(gè)屏幕了。這個(gè)時(shí)候,找到某個(gè)大括號(hào)對(duì)應(yīng)的另外一邊就很費(fèi)勁。你可以將光標(biāo)定位在某個(gè)大括號(hào)一邊,然后使用ctrl+]或者ctrl+[來(lái)回定位即可。

          這邊貼上一個(gè)思維導(dǎo)圖:

          五、插件推薦

          • 阿里巴巴規(guī)約插件;
          • Key promoter(快捷鍵提示);
          • jrebel(熱部署);
          • findbugs(幫助尋找代碼可能潛在的bug);
          • grep console;
          • .ignore(生成各種ignore文件);
          • lombok(支持各種注解,省略代碼);
          • GsonFormat(一鍵根據(jù)json文本生成java類);
          • Maven Helper;
          • VisualVM Launcher;(jvm調(diào)優(yōu)必備工具);
          • MyBatisCodeHelperPro(mybatis代碼自動(dòng)生成插件);
          • Rainbow Brackets(彩虹顏色的括號(hào),代碼看起來(lái)比較舒服);
          • Translation(翻譯插件);
          • String Manipulation(提供強(qiáng)大的文本轉(zhuǎn)換操作);
          • Nyan progress bar(進(jìn)度條);
          • Background Image Plus(背景圖插件);
          • activate-power-mode OR Power mode II(字節(jié)跳動(dòng)插件);
          • JUnitGenerator(單元測(cè)試生成工具);
          • SequenceDiagram(時(shí)序圖生成工具);
          • ledis(Redis可視化工具
          • easyCode

          質(zhì)文章,第一時(shí)間送達(dá)

          來(lái)源:mamicode.com/info-detail-2540162.html

          古人有云:工欲善其事,必先利其器,要是只是手握利器,而不能發(fā)揮其最大的效益,那無(wú)異于赤手空拳,對(duì)敵對(duì)壘。那古人所云,未得其精髓,只能為碎語(yǔ)閑言爾。

          自動(dòng)代碼

          常用的有fori/sout/psvm+Tab即可生成循環(huán)、System.out、main方法等boilerplate樣板代碼 。

          例如要輸入for(User user : users)只需輸入user.for+Tab ;

          再比如,要輸入Date birthday = user.getBirthday只需輸入user.getBirthday.var+Tab即可。

          代碼標(biāo)簽輸入完成后,按Tab,生成代碼。

          1. Ctrl+Alt+O 優(yōu)化導(dǎo)入的類和包

          2. Alt+Insert 生成代碼(如get,set方法,構(gòu)造函數(shù)等) 或者右鍵(Generate)

          3. fori/sout/psvm + Tab

          4. Ctrl+Alt+T 生成try catch 或者 Alt+enter

          5. CTRL+ALT+T 把選中的代碼放在 TRY{} IF{} ELSE{} 里

          6. Ctrl + O 重寫方法

          7. Ctrl + I 實(shí)現(xiàn)方法

          8. Ctr+shift+U 大小寫轉(zhuǎn)化

          9. ALT+回車 導(dǎo)入包,自動(dòng)修正

          10. ALT+/ 代碼提示

          11. CTRL+J 自動(dòng)代碼

          12. Ctrl+Shift+J,整合兩行為一行

          13. CTRL+空格 代碼提示

          14. CTRL+SHIFT+SPACE 自動(dòng)補(bǔ)全代碼

          15. CTRL+ALT+L 格式化代碼

          16. CTRL+ALT+I 自動(dòng)縮進(jìn)

          17. CTRL+ALT+O 優(yōu)化導(dǎo)入的類和包

          18. ALT+INSERT 生成代碼(如GET,SET方法,構(gòu)造函數(shù)等)

          19. CTRL+E 最近更改的代碼

          20. CTRL+ALT+SPACE 類名或接口名提示

          21. CTRL+P 方法參數(shù)提示

          22. CTRL+Q,可以看到當(dāng)前方法的聲明

          23. Shift+F6 重構(gòu)-重命名 (包、類、方法、變量、甚至注釋等)

          24. Ctrl+Alt+V 提取變量

          查詢快捷鍵

          1. Ctrl+Shift+Backspace可以跳轉(zhuǎn)到上次編輯的地

          2. CTRL+ALT+ left/right 前后導(dǎo)航編輯過(guò)的地方

          3. ALT+7 靠左窗口顯示當(dāng)前文件的結(jié)構(gòu)

          4. Ctrl+F12 浮動(dòng)顯示當(dāng)前文件的結(jié)構(gòu)

          5. ALT+F7 找到你的函數(shù)或者變量或者類的所有引用到的地方

          6. CTRL+ALT+F7 找到你的函數(shù)或者變量或者類的所有引用到的地方

          7. Ctrl+Shift+Alt+N 查找類中的方法或變量

          8. 雙擊SHIFT 在項(xiàng)目的所有目錄查找文件

          9. Ctrl+N 查找類

          10. Ctrl+Shift+N 查找文件

          11. CTRL+G 定位行

          12. CTRL+F 在當(dāng)前窗口查找文本

          13. CTRL+SHIFT+F 在指定窗口查找文本

          14. CTRL+R 在 當(dāng)前窗口替換文本

          15. CTRL+SHIFT+R 在指定窗口替換文本

          16. ALT+SHIFT+C 查找修改的文件

          17. CTRL+E 最近打開的文件

          18. F3 向下查找關(guān)鍵字出現(xiàn)位置

          19. SHIFT+F3 向上一個(gè)關(guān)鍵字出現(xiàn)位置

          20. 選中文本,按Alt+F3 ,高亮相同文本,F(xiàn)3逐個(gè)往下查找相同文本

          21. F4 查找變量來(lái)源

          22. CTRL+SHIFT+O 彈出顯示查找內(nèi)容

          23. Ctrl+W 選中代碼,連續(xù)按會(huì)有其他效果

          24. F2 或Shift+F2 高亮錯(cuò)誤或警告快速定位

          25. Ctrl+Up/Down 光標(biāo)跳轉(zhuǎn)到第一行或最后一行下

          26. Ctrl+B 快速打開光標(biāo)處的類或方法

          27. CTRL+ALT+B 找所有的子類

          28. CTRL+SHIFT+B 找變量的類

          29. Ctrl+Shift+上下鍵 上下移動(dòng)代碼

          30. Ctrl+Alt+ left/right 返回至上次瀏覽的位置

          31. Ctrl+X 刪除行

          32. Ctrl+D 復(fù)制行

          33. Ctrl+/ 或 Ctrl+Shift+/ 注釋(// 或者/…/ )

          34. Ctrl+H 顯示類結(jié)構(gòu)圖

          35. Ctrl+Q 顯示注釋文檔

          36. Alt+F1 查找代碼所在位置

          37. Alt+1 快速打開或隱藏工程面板

          38. Alt+ left/right 切換代碼視圖

          39. ALT+ ↑/↓ 在方法間快速移動(dòng)定位

          40. CTRL+ALT+ left/right 前后導(dǎo)航編輯過(guò)的地方

          41. Ctrl+Shift+Backspace可以跳轉(zhuǎn)到上次編輯的地

          42. Alt+6 查找TODO

          其他快捷鍵

          1. SHIFT+ENTER 另起一行

          2. CTRL+Z 倒退(撤銷)

          3. CTRL+SHIFT+Z 向前(取消撤銷)

          4. CTRL+ALT+F12 資源管理器打開文件夾

          5. ALT+F1 查找文件所在目錄位置

          6. SHIFT+ALT+INSERT 豎編輯模式

          7. CTRL+F4 關(guān)閉當(dāng)前窗口

          8. Ctrl+Alt+V,可以引入變量。例如:new String; 自動(dòng)導(dǎo)入變量定義

          9. Ctrl+~,快速切換方案(界面外觀、代碼風(fēng)格、快捷鍵映射等菜單)

          調(diào)試快捷鍵

          其實(shí)常用的 就是F8 F7 F9 最值得一提的就是Drop Frame 可以讓運(yùn)行過(guò)的代碼從頭再來(lái)。

          1. alt+F8 debug時(shí)選中查看值

          2. Alt+Shift+F9,選擇 Debug

          3. Alt+Shift+F10,選擇 Run

          4. Ctrl+Shift+F9,編譯

          5. Ctrl+Shift+F8,查看斷點(diǎn)

          6. F7,步入

          7. Shift+F7,智能步入

          8. Alt+Shift+F7,強(qiáng)制步入

          9. F8,步過(guò)

          10. Shift+F8,步出

          11. Alt+Shift+F8,強(qiáng)制步過(guò)

          12. Alt+F9,運(yùn)行至光標(biāo)處

          13. Ctrl+Alt+F9,強(qiáng)制運(yùn)行至光標(biāo)處

          14. F9,恢復(fù)程序

          15. Alt+F10,定位到斷點(diǎn)

          重構(gòu)

          1. Ctrl+Alt+Shift+T,彈出重構(gòu)菜單

          2. Shift+F6,重命名

          3. F6,移動(dòng)

          4. F5,復(fù)制

          5. Alt+Delete,安全刪除

          6. Ctrl+Alt+N,內(nèi)聯(lián)

          十大Intellij IDEA快捷鍵

          Intellij IDEA中有很多快捷鍵讓人愛不釋手,stackoverflow上也有一些有趣的討論。每個(gè)人都有自己的最愛,想排出個(gè)理想的榜單還真是困難。

          以前也整理過(guò)Intellij的快捷鍵,這次就按照我日常開發(fā)時(shí)的使用頻率,簡(jiǎn)單分類列一下我最喜歡的十大快捷-神-鍵吧。 微信搜索 web_resource 關(guān)注后回復(fù) Java,送你2019最新Java資源。

          1 智能提示

          Intellij首當(dāng)其沖的當(dāng)然就是Intelligence智能!基本的代碼提示用Ctrl+Space,還有更智能地按類型信息提示Ctrl+Shift+Space,但因?yàn)镮ntellij總是隨著我們敲擊而自動(dòng)提示,所以很多時(shí)候都不會(huì)手動(dòng)敲這兩個(gè)快捷鍵(除非提示框消失了)。

          用F2/ Shift+F2移動(dòng)到有錯(cuò)誤的代碼,Alt+Enter快速修復(fù)(即Eclipse中的Quick Fix功能)。當(dāng)智能提示為我們自動(dòng)補(bǔ)全方法名時(shí),我們通常要自己補(bǔ)上行尾的反括號(hào)和分號(hào),當(dāng)括號(hào)嵌套很多層時(shí)會(huì)很麻煩,這時(shí)我們只需敲Ctrl+Shift+Enter就能自動(dòng)補(bǔ)全末尾的字符。而且不只是括號(hào),例如敲完if/for時(shí)也可以自動(dòng)補(bǔ)上{}花括號(hào)。

          最后要說(shuō)一點(diǎn),Intellij能夠智能感知Spring、Hibernate等主流框架的配置文件和類,以靜制動(dòng),在看似“靜態(tài)”的外表下,智能地掃描理解你的項(xiàng)目是如何構(gòu)造和配置的。微信搜索 web_resource 關(guān)注后回復(fù) Java,送你2019最新Java資源。

          2 重構(gòu)

          Intellij重構(gòu)是另一完爆Eclipse的功能,其智能程度令人瞠目結(jié)舌,比如提取變量時(shí)自動(dòng)檢查到所有匹配同時(shí)提取成一個(gè)變量等。尤其看過(guò)《重構(gòu)-改善既有代碼設(shè)計(jì)》之后,有了Intellij的配合簡(jiǎn)直是令人大呼過(guò)癮!也正是強(qiáng)大的智能和重構(gòu)功能,使Intellij下的TDD開發(fā)非常順暢。

          切入正題,先說(shuō)一個(gè)無(wú)敵的重構(gòu)功能大匯總快捷鍵Ctrl+Shift+Alt+T,叫做Refactor This。按法有點(diǎn)復(fù)雜,但也符合Intellij的風(fēng)格,很多快捷鍵都要雙手完成,而不像Eclipse不少最有用的快捷鍵可以瀟灑地單手完成(不知道算不算Eclipse的一大優(yōu)點(diǎn)),但各位用過(guò)Emacs的話就會(huì)覺得也沒什么了(非Emacs黑)。

          此外,還有些最常用的重構(gòu)技巧,因?yàn)樘S昧耍裘看味荚赗efactor This菜單里選的話效率有些低。比如Shift+F6直接就是改名,Ctrl+Alt+V則是提取變量。關(guān)注Java技術(shù)棧微信公眾號(hào),在后臺(tái)回復(fù)關(guān)鍵字:IDEA,可以獲取一份棧長(zhǎng)整理的 IDEA 最新技術(shù)干貨。微信搜索 web_resource 關(guān)注后回復(fù) Java,送你2019最新Java資源。

          3 代碼生成

          這一點(diǎn)類似Eclipse,雖不是獨(dú)到之處,但因?yàn)槿粘J褂妙l率極高,所以還是羅列在榜單前面。常用的有fori/sout/psvm+Tab即可生成循環(huán)、System.out、main方法等boilerplate樣板代碼,用Ctrl+J可以查看所有模板。

          后面“輔助”一節(jié)中將會(huì)講到Alt+Insert,在編輯窗口中點(diǎn)擊可以生成構(gòu)造函數(shù)、toString、getter/setter、重寫父類方法等。這兩個(gè)技巧實(shí)在太常用了,幾乎每天都要生成一堆main、System.out和getter/setter。

          另外,Intellij IDEA 13中加入了后綴自動(dòng)補(bǔ)全功能(Postfix Completion),比模板生成更加靈活和強(qiáng)大。例如要輸入for(User user : users)只需輸入user.for+Tab。再比如,要輸入Date birthday = user.getBirthday;只需輸入user.getBirthday.var+Tab即可。

          4 編輯

          編輯中不得不說(shuō)的一大神鍵就是能夠自動(dòng)按語(yǔ)法選中代碼的Ctrl+W以及反向的Ctrl+Shift+W了。此外,Ctrl+Left/Right移動(dòng)光標(biāo)到前/后單詞,Ctrl+[/]移動(dòng)到前/后代碼塊,這些類Vim風(fēng)格的光標(biāo)移動(dòng)也是一大亮點(diǎn)。以上Ctrl+Left/Right/加上Shift的話就能選中跳躍范圍內(nèi)的代碼。Alt+Forward/Backward移動(dòng)到前/后方法。還有些非常普通的像Ctrl+Y刪除行、Ctrl+D復(fù)制行、Ctrl+折疊代碼就不多說(shuō)了。

          關(guān)于光標(biāo)移動(dòng)再多擴(kuò)展一點(diǎn),除了Intellij本身已提供的功能外,我們還可以安裝ideaVim或者emacsIDEAs享受到Vim的快速移動(dòng)和Emacs的AceJump功能(超爽!)。

          另外,Intellij的書簽功能也是不錯(cuò)的,用Ctrl+Shift+Num定義1-10書簽(再次按這組快捷鍵則是刪除書簽),然后通過(guò)Ctrl+Num跳轉(zhuǎn)。這避免了多次使用前/下一編輯位置Ctrl+Left/Right來(lái)回跳轉(zhuǎn)的麻煩,而且此快捷鍵默認(rèn)與Windows熱鍵沖突(默認(rèn)多了Alt,與Windows改變顯示器顯示方向沖突,一不小心顯示器就變成倒著顯式的了,冏啊)。微信搜索 web_resource 關(guān)注后回復(fù) Java,送你2019最新Java資源。

          5 查找打開

          類似Eclipse,Intellij的Ctrl+N/Ctrl+Shift+N可以打開類或資源,但I(xiàn)ntellij更加智能一些,我們輸入的任何字符都將看作模糊匹配,省卻了Eclipse中還有輸入*的麻煩。最新版本的IDEA還加入了Search Everywhere功能,只需按Shift+Shift即可在一個(gè)彈出框中搜索任何東西,包括類、資源、配置項(xiàng)、方法等等。

          類的繼承關(guān)系則可用Ctrl+H打開類層次窗口,在繼承層次上跳轉(zhuǎn)則用Ctrl+B/Ctrl+Alt+B分別對(duì)應(yīng)父類或父方法定義和子類或子方法實(shí)現(xiàn),查看當(dāng)前類的所有方法用Ctrl+F12。

          要找類或方法的使用也很簡(jiǎn)單,Alt+F7。要查找文本的出現(xiàn)位置就用Ctrl+F/Ctrl+Shift+F在當(dāng)前窗口或全工程中查找,再配合F3/Shift+F3前后移動(dòng)到下一匹配處。

          Intellij更加智能的又一佐證是在任意菜單或顯示窗口,都可以直接輸入你要找的單詞,Intellij就會(huì)自動(dòng)為你過(guò)濾。關(guān)注Java技術(shù)棧微信公眾號(hào),在后臺(tái)回復(fù)關(guān)鍵字:IDEA,可以獲取一份棧長(zhǎng)整理的 IDEA 最新技術(shù)干貨。

          6 其他輔助

          以上這些神鍵配上一些輔助快捷鍵,即可讓你的雙手90%以上的時(shí)間擺脫鼠標(biāo),專注于鍵盤仿佛在進(jìn)行鋼琴表演。這些不起眼卻是至關(guān)重要的最后一塊拼圖有:

          ? 命令:Ctrl+Shift+A可以查找所有Intellij的命令,并且每個(gè)命令后面還有其快捷鍵。所以它不僅是一大神鍵,也是查找學(xué)習(xí)快捷鍵的工具。

          ? 新建:Alt+Insert可以新建類、方法等任何東西。

          ? 格式化代碼:格式化import列表Ctrl+Alt+O,格式化代碼Ctrl+Alt+L。

          ? 切換窗口:Alt+Num,常用的有1-項(xiàng)目結(jié)構(gòu),3-搜索結(jié)果,4/5-運(yùn)行調(diào)試。Ctrl+Tab切換標(biāo)簽頁(yè),Ctrl+E/Ctrl+Shift+E打開最近打開過(guò)的或編輯過(guò)的文件。

          ? 單元測(cè)試:Ctrl+Alt+T創(chuàng)建單元測(cè)試用例。

          ? 運(yùn)行:Alt+Shift+F10運(yùn)行程序,Shift+F9啟動(dòng)調(diào)試,Ctrl+F2停止。

          ? 調(diào)試:F7/F8/F9分別對(duì)應(yīng)Step into,Step over,Continue。

          此外還有些我自定義的,例如水平分屏Ctrl+|等,和一些神奇的小功能Ctrl+Shift+V粘貼很早以前拷貝過(guò)的,Alt+Shift+Insert進(jìn)入到列模式進(jìn)行按列選中。

          ? Top #10切來(lái)切去:Ctrl+Tab

          ? Top #9選你所想:Ctrl+W

          ? Top #8代碼生成:Template/Postfix +Tab

          ? Top #7發(fā)號(hào)施令:Ctrl+Shift+A

          ? Top #6無(wú)處藏身:Shift+Shift

          ? Top #5自動(dòng)完成:Ctrl+Shift+Enter

          ? Top #4創(chuàng)造萬(wàn)物:Alt+Insert

          太難割舍,前三名并列吧!

          ? Top #1智能補(bǔ)全:Ctrl+Shift+Space

          ? Top #1自我修復(fù):Alt+Enter

          ? Top #1重構(gòu)一切:Ctrl+Shift+Alt+T

          CTRL+ALT+ left/right 前后導(dǎo)航編輯過(guò)的地方 Ctrl+Shift+Backspace可以跳轉(zhuǎn)到上次編輯的地方

          如果看到這里,說(shuō)明你喜歡這篇文章,幫忙轉(zhuǎn)發(fā)一下吧,感謝。微信搜索「web_resource」,關(guān)注后回復(fù)「進(jìn)群」即可進(jìn)入無(wú)廣告技術(shù)交流群。1.技術(shù)群群友的一次阿里面試經(jīng)歷2. Spring 中的 18 個(gè)注解,你會(huì)幾個(gè)?3. 寓教于樂,用玩游戲的方式學(xué)習(xí) Git4. 在瀏覽器輸入 URL 回車之后發(fā)生了什么?5.接私活必備的 10 個(gè)開源項(xiàng)目

          一步:官網(wǎng)下載IDEA

          地址:https://www.jetbrains.com/idea/download/other.html

          第二步:卸載舊的IDEA(沒有則跳過(guò))

          打開電腦上的控制面板-->程序-->程序和功能,找到舊版IDEA,卸載時(shí)勾選提示的兩個(gè)復(fù)選框,然后點(diǎn)擊Uninstall

          第二步:安裝IDEA

          點(diǎn)擊Next >

          自定義安裝路徑,點(diǎn)擊Next >


          個(gè)人感覺只需要在
          64-bit launch前面打鉤就行,下面的12345的功能如下:

          1. 創(chuàng)建桌面快捷方式圖標(biāo),建議創(chuàng)建64位的圖標(biāo)
          2. 將IDEA的啟動(dòng)目錄添加到環(huán)境變量中,從命令行也能啟動(dòng)idea,根據(jù)個(gè)人需要勾選。
          3. 勾選后,鼠標(biāo)右鍵點(diǎn)擊一個(gè)文件夾,會(huì)出現(xiàn)“Open Folder as Project”選項(xiàng),個(gè)人感覺用處不大
          4. 關(guān)聯(lián)這四個(gè)格式的文件,也就是以后打開javagroovyktkts結(jié)尾的文件,默認(rèn)使用idea打開。個(gè)人感覺用處也不大,如果是打開單個(gè)java文件,我更喜歡用notepad++。
          5. 下載java的jre環(huán)境,如果本機(jī)已經(jīng)有java運(yùn)行環(huán)境了就不用勾選。

          點(diǎn)擊Next >

          點(diǎn)擊install進(jìn)行安裝。

          安裝成功,點(diǎn)擊Finish結(jié)束

          第一次運(yùn)行idea會(huì)讓選擇設(shè)置,我們選擇第二個(gè)默認(rèn)的即可。


          主站蜘蛛池模板: 在线成人一区二区| 色综合视频一区二区三区44| 无码夜色一区二区三区| 免费一区二区无码东京热| 国产精品福利一区| 精品人妻少妇一区二区三区不卡| 日本不卡一区二区视频a| 中文无码精品一区二区三区| 国产精品电影一区二区三区| 在线电影一区二区三区| 精品一区狼人国产在线| 日韩在线一区二区三区视频| 天天综合色一区二区三区| 国产熟女一区二区三区四区五区| 欧洲精品码一区二区三区免费看| 国产一区二区三区在线观看影院| 中文字幕精品一区二区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 一区二区三区精品视频| 国产一区二区三区精品视频| 国产成人精品一区二区三区无码 | 国产激情视频一区二区三区| 无码一区二区三区| 日本香蕉一区二区三区| 国产激情精品一区二区三区| 精品国产一区二区三区久久久狼 | 91精品福利一区二区| 日本一区二区三区免费高清在线 | 亚洲精品无码一区二区| 国产一区二区三区播放| 精品女同一区二区三区免费站| 国产SUV精品一区二区四| 无码国产精品一区二区免费16| 天堂成人一区二区三区| 久久精品国产第一区二区三区 | 亚洲国产精品一区第二页| 国产在线一区二区三区在线| 国产成人综合一区精品| 亚洲乱码国产一区三区| 国产亚洲福利一区二区免费看 | 久久精品无码一区二区三区|