欲善其事,必先利其器。在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)教程》
系統(tǒng)要求:
IntelliJ IDEA 相關(guān)核心文件和目錄介紹:
2.1 樣式主題配置
第一次安裝完IDEA之后,第一步往往需要設(shè)置一個(gè)合適自己的樣式主題,這部分配置主要包括:
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ì)有熱更新效果。
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ā)者為之著迷。
這邊貼上一個(gè)思維導(dǎo)圖:
質(zhì)文章,第一時(shí)間送達(dá)
來(lái)源:mamicode.com/info-detail-2540162.html
古人有云:工欲善其事,必先利其器,要是只是手握利器,而不能發(fā)揮其最大的效益,那無(wú)異于赤手空拳,對(duì)敵對(duì)壘。那古人所云,未得其精髓,只能為碎語(yǔ)閑言爾。
常用的有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,生成代碼。
Ctrl+Alt+O 優(yōu)化導(dǎo)入的類和包
Alt+Insert 生成代碼(如get,set方法,構(gòu)造函數(shù)等) 或者右鍵(Generate)
fori/sout/psvm + Tab
Ctrl+Alt+T 生成try catch 或者 Alt+enter
CTRL+ALT+T 把選中的代碼放在 TRY{} IF{} ELSE{} 里
Ctrl + O 重寫方法
Ctrl + I 實(shí)現(xiàn)方法
Ctr+shift+U 大小寫轉(zhuǎn)化
ALT+回車 導(dǎo)入包,自動(dòng)修正
ALT+/ 代碼提示
CTRL+J 自動(dòng)代碼
Ctrl+Shift+J,整合兩行為一行
CTRL+空格 代碼提示
CTRL+SHIFT+SPACE 自動(dòng)補(bǔ)全代碼
CTRL+ALT+L 格式化代碼
CTRL+ALT+I 自動(dòng)縮進(jìn)
CTRL+ALT+O 優(yōu)化導(dǎo)入的類和包
ALT+INSERT 生成代碼(如GET,SET方法,構(gòu)造函數(shù)等)
CTRL+E 最近更改的代碼
CTRL+ALT+SPACE 類名或接口名提示
CTRL+P 方法參數(shù)提示
CTRL+Q,可以看到當(dāng)前方法的聲明
Shift+F6 重構(gòu)-重命名 (包、類、方法、變量、甚至注釋等)
Ctrl+Alt+V 提取變量
Ctrl+Shift+Backspace可以跳轉(zhuǎn)到上次編輯的地
CTRL+ALT+ left/right 前后導(dǎo)航編輯過(guò)的地方
ALT+7 靠左窗口顯示當(dāng)前文件的結(jié)構(gòu)
Ctrl+F12 浮動(dòng)顯示當(dāng)前文件的結(jié)構(gòu)
ALT+F7 找到你的函數(shù)或者變量或者類的所有引用到的地方
CTRL+ALT+F7 找到你的函數(shù)或者變量或者類的所有引用到的地方
Ctrl+Shift+Alt+N 查找類中的方法或變量
雙擊SHIFT 在項(xiàng)目的所有目錄查找文件
Ctrl+N 查找類
Ctrl+Shift+N 查找文件
CTRL+G 定位行
CTRL+F 在當(dāng)前窗口查找文本
CTRL+SHIFT+F 在指定窗口查找文本
CTRL+R 在 當(dāng)前窗口替換文本
CTRL+SHIFT+R 在指定窗口替換文本
ALT+SHIFT+C 查找修改的文件
CTRL+E 最近打開的文件
F3 向下查找關(guān)鍵字出現(xiàn)位置
SHIFT+F3 向上一個(gè)關(guān)鍵字出現(xiàn)位置
選中文本,按Alt+F3 ,高亮相同文本,F(xiàn)3逐個(gè)往下查找相同文本
F4 查找變量來(lái)源
CTRL+SHIFT+O 彈出顯示查找內(nèi)容
Ctrl+W 選中代碼,連續(xù)按會(huì)有其他效果
F2 或Shift+F2 高亮錯(cuò)誤或警告快速定位
Ctrl+Up/Down 光標(biāo)跳轉(zhuǎn)到第一行或最后一行下
Ctrl+B 快速打開光標(biāo)處的類或方法
CTRL+ALT+B 找所有的子類
CTRL+SHIFT+B 找變量的類
Ctrl+Shift+上下鍵 上下移動(dòng)代碼
Ctrl+Alt+ left/right 返回至上次瀏覽的位置
Ctrl+X 刪除行
Ctrl+D 復(fù)制行
Ctrl+/ 或 Ctrl+Shift+/ 注釋(// 或者/…/ )
Ctrl+H 顯示類結(jié)構(gòu)圖
Ctrl+Q 顯示注釋文檔
Alt+F1 查找代碼所在位置
Alt+1 快速打開或隱藏工程面板
Alt+ left/right 切換代碼視圖
ALT+ ↑/↓ 在方法間快速移動(dòng)定位
CTRL+ALT+ left/right 前后導(dǎo)航編輯過(guò)的地方
Ctrl+Shift+Backspace可以跳轉(zhuǎn)到上次編輯的地
Alt+6 查找TODO
SHIFT+ENTER 另起一行
CTRL+Z 倒退(撤銷)
CTRL+SHIFT+Z 向前(取消撤銷)
CTRL+ALT+F12 資源管理器打開文件夾
ALT+F1 查找文件所在目錄位置
SHIFT+ALT+INSERT 豎編輯模式
CTRL+F4 關(guān)閉當(dāng)前窗口
Ctrl+Alt+V,可以引入變量。例如:new String; 自動(dòng)導(dǎo)入變量定義
Ctrl+~,快速切換方案(界面外觀、代碼風(fēng)格、快捷鍵映射等菜單)
其實(shí)常用的 就是F8 F7 F9 最值得一提的就是Drop Frame 可以讓運(yùn)行過(guò)的代碼從頭再來(lái)。
alt+F8 debug時(shí)選中查看值
Alt+Shift+F9,選擇 Debug
Alt+Shift+F10,選擇 Run
Ctrl+Shift+F9,編譯
Ctrl+Shift+F8,查看斷點(diǎn)
F7,步入
Shift+F7,智能步入
Alt+Shift+F7,強(qiáng)制步入
F8,步過(guò)
Shift+F8,步出
Alt+Shift+F8,強(qiáng)制步過(guò)
Alt+F9,運(yùn)行至光標(biāo)處
Ctrl+Alt+F9,強(qiáng)制運(yùn)行至光標(biāo)處
F9,恢復(fù)程序
Alt+F10,定位到斷點(diǎn)
Ctrl+Alt+Shift+T,彈出重構(gòu)菜單
Shift+F6,重命名
F6,移動(dòng)
F5,復(fù)制
Alt+Delete,安全刪除
Ctrl+Alt+N,內(nèi)聯(lián)
Intellij IDEA中有很多快捷鍵讓人愛不釋手,stackoverflow上也有一些有趣的討論。每個(gè)人都有自己的最愛,想排出個(gè)理想的榜單還真是困難。
以前也整理過(guò)Intellij的快捷鍵,這次就按照我日常開發(fā)時(shí)的使用頻率,簡(jiǎn)單分類列一下我最喜歡的十大快捷-神-鍵吧。 微信搜索 web_resource 關(guān)注后回復(fù) Java,送你2019最新Java資源。
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資源。
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資源。
這一點(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即可。
編輯中不得不說(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資源。
類似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ù)干貨。
以上這些神鍵配上一些輔助快捷鍵,即可讓你的雙手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)目
地址:https://www.jetbrains.com/idea/download/other.html
打開電腦上的控制面板-->程序-->程序和功能,找到舊版IDEA,卸載時(shí)勾選提示的兩個(gè)復(fù)選框,然后點(diǎn)擊Uninstall。
點(diǎn)擊Next >
自定義安裝路徑,點(diǎn)擊Next >
個(gè)人感覺只需要在64-bit launch前面打鉤就行,下面的12345的功能如下:
點(diǎn)擊Next >
點(diǎn)擊install進(jìn)行安裝。
安裝成功,點(diǎn)擊Finish結(jié)束
第一次運(yùn)行idea會(huì)讓選擇設(shè)置,我們選擇第二個(gè)默認(rèn)的即可。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。