因為覺(jué)得網(wǎng)絡(luò )上的 idea 快捷鍵不夠詳盡,所以特別編寫(xiě)了此篇文章,方便大家使用 idea O(∩_∩)O~
其中的英文說(shuō)明來(lái)自于 idea 的官網(wǎng)資料,中文說(shuō)明主要來(lái)自于自己的領(lǐng)會(huì )和理解,英文說(shuō)明只是作為參考。重要的快捷鍵會(huì )附帶圖示,進(jìn)行詳細的說(shuō)明。
每一部分會(huì )先列出所有的快捷鍵說(shuō)明表,如果有不清楚的地方,再看后續的圖示詳解。
| 快捷鍵 | 英文說(shuō)明 | 中文說(shuō)明 |
|---|---|---|
| Ctrl + Space | Basic code completion (the name of any class, method or variable) | 補全代碼,由于經(jīng)常與操作系統的輸入法的切換沖突,所以實(shí)際很少用。一般直接在 idea 中開(kāi)啟輸入自動(dòng)補全機制。 |
| Ctrl + Shift + Space | Smart code completion (filters the list of methods and variables by expected type | 在列出的可選項中只顯示出你所輸入的關(guān)鍵字最相關(guān)的信息。(常用) |
| Ctrl + Shift + Enter | Complete statement | 代碼補全后,自動(dòng)在代碼末尾添加分號結束符 |
| Ctrl + P | Parameter info (within method call arguments) | 在某個(gè)方法中,調用該按鍵后,會(huì )展示出這個(gè)方法的調用參數列表信息。 |
| Ctrl + Q | Quick documentation lookup | 展示某個(gè)類(lèi)或者方法的 API 說(shuō)明文檔 |
| Ctrl + mouse | over code Brief Info | 跳進(jìn)到某個(gè)類(lèi)或者方法源代碼中進(jìn)行查看。(常用) |
| Alt + Insert | Generate code… (Getters, Setters, Constructors, hashCode/equals, toString) | 自動(dòng)生成某個(gè)類(lèi)的 Getters, Setters, Constructors, hashCode/equals, toString 等代碼。(常用) |
| Ctrl + O | Override methods | 展示該類(lèi)中所有覆蓋或者實(shí)現的方法列表,注意這里是字母小寫(xiě)的 O! |
| Ctrl + Alt + T | Surround with… (if..else,try..catch, for, synchronized, etc.) | 自動(dòng)生成具有環(huán)繞性質(zhì)的代碼,比如:if..else,try..catch, for, synchronized 等等,使用前要先選擇好需要環(huán)繞的代碼塊。(常用) |
| Ctrl + / | Comment/uncomment with line comment | 對單行代碼,添加或刪除注釋。分為兩種情況:如果只是光標停留在某行,那么連續使用該快捷鍵,會(huì )不斷注釋掉下一行的代碼;如果選定了某行代碼(選定了某行代碼一部分也算這種情況),那么連續使用該快捷鍵,會(huì )在添加或刪除該行注釋之間來(lái)回切換。(常用) |
| Ctrl + Shift + / | Comment/uncomment with block comment | 對代碼塊,添加或刪除注釋。它與 Ctrl + / 的區別是,它只會(huì )在代碼塊的開(kāi)頭與結尾添加注釋符號!(常用) |
| Ctrl + W | Select successively increasing code blocks | 選中當前光標所在的代碼塊,多次觸發(fā),代碼塊會(huì )逐級變大。(常用) |
| Ctrl + Shift + W | Decrease current selection to previous state | 是 Ctrl + W 的反向操作,多次觸發(fā),代碼塊會(huì )逐級變小,最小變?yōu)楣鈽恕?/td> |
| Alt + Q | Context info | 展示包含當前光標所在代碼的父節點(diǎn)信息,比如在 java 方法中調用,就會(huì )展示方法簽名信息。 |
| Alt + Enter | Show intention actions and quick-fixes | 展示當前當前光標所在代碼,可以變化的擴展操作 |
| Ctrl + Alt + L | Reformat code | 格式化代碼 (常用) |
| Ctrl + Alt + O | Optimize imports | 去除沒(méi)有實(shí)際用到的包,這在 java 類(lèi)中特別有用。(常用) |
| Ctrl + Alt + I | Auto-indent line(s) | 按照縮進(jìn)的設定,自動(dòng)縮進(jìn)所選擇的代碼段。 |
| Tab / Shift + Tab | Indent/unindent selected lines | 縮進(jìn)或者不縮進(jìn)一次所選擇的代碼段。(常用) |
| Ctrl + X 或 Shift Delete | Cut current line or selected block to clipboard | 剪切當前代碼。 (常用) |
| Ctrl + C 或 Ctrl + Insert | Copy current line or selected block to clipboard | 拷貝當前代碼。 (常用) |
| Ctrl + V 或 Shift + Insert | Paste from clipboard | 粘貼之前剪切或拷貝的代碼。(常用) |
| Ctrl + Shift + V | Paste from recent buffers… | 從之前的剪切或拷貝的代碼歷史記錄中,選擇現在需要粘貼的內容。(常用) |
| Ctrl + D | Duplicate current line or selected block | 復制當前選中的代碼。(常用) |
| Ctrl + Y | Delete line at caret | 刪除當前光標所在的代碼行。(常用) |
| Ctrl + Shift + J | Smart line join | 把下一行的代碼接續到當前的代碼行。 |
| Ctrl + Enter | Smart line split | 當前代碼行與下一行代碼之間插入一個(gè)空行,原來(lái)所在的光標不變。(常用) |
| Shift + Enter | Start new line | 當前代碼行與下一行代碼之間插入一個(gè)空行,原來(lái)光標現在處于新加的空行上。(常用) |
| Ctrl + Shift + U | Toggle case for word at caret or selected block | 所選擇的內容進(jìn)行大小寫(xiě)轉換。。(常用) |
Ctrl + Shift + ]/[ | Select till code block end/start | 從當前光標所在位置開(kāi)始,一直選擇到當前光標所在代碼段起始或者結束位置。 |
| Ctrl + Delete | Delete to word end | 刪除從當前光標所在位置開(kāi)始,直到這個(gè)單詞的結尾的內容。 |
| Ctrl + NumPad(+/-) | Expand/collapse code block | 展開(kāi)或收縮代碼段。 (常用) |
| Ctrl + Shift + NumPad(+) | Expand all | 展開(kāi)所有代碼段。 |
| Ctrl + Shift + NumPad(-) | Collapse all | 收縮所有代碼段。 |
| Ctrl + F4 | Close active editor tab | 關(guān)閉當前標簽頁(yè)。 |
| Shift + F6 | 修改名字。(常用) |
使用前,用于補全的列表,默認是以輸入的關(guān)鍵字作為前綴的:
使用后,用于補全的列表,會(huì )把與輸入的關(guān)鍵字最相關(guān)的信息排到最前面,比如這里的 Resource 的實(shí)現類(lèi)會(huì )直接過(guò)濾出來(lái),很方便吧 O(∩_∩)O~:
不大好用,字體太小了,還不如直接 [ctrl + 點(diǎn)擊] 看源代碼來(lái)的方便!
如果綁定了 Spring 框架,還能自動(dòng)生成與 Spring 相關(guān)的依賴(lài)參數哦:


再強調一遍,使用前要先選擇好需要環(huán)繞的代碼塊!沒(méi)有選擇代碼塊,還做環(huán)繞干嘛呢 O(∩_∩)O~

在右邊的 Surround with 列表,就是目前支持的自動(dòng)代碼環(huán)繞功能,可以直接通過(guò)列表最左邊的快捷鍵選擇,是不是很方便呀 O(∩_∩)O~
它還支持自定義的代碼模板(Live templates)呢,很強大吧。
這是一個(gè)很酷的功能 O(∩_∩)O~,它會(huì )把之前剪切或拷貝的代碼歷史記錄(最近 5 條)展示出來(lái),讓你來(lái)選擇哦??上У氖?,列表選項如果是中文會(huì )亂碼,還好內容可以正常顯示:

| 快捷鍵 | 英文說(shuō)明 | 中文說(shuō)明 |
|---|---|---|
| Ctrl + F | Find | 在當前標簽頁(yè)中進(jìn)行查找,還支持正則表達式哦。(常用) |
| F3 | Find next | 如果找到了多個(gè)查找結果,每調用一次就會(huì )跳到下一個(gè)結果,很方便哦。 |
| Shift + F3 | Find previous | 是 F3 的反向操作,即每調用一次就會(huì )跳到上一個(gè)結果。 |
| Ctrl + R | Replace | 在當前標簽頁(yè)中進(jìn)行替換操作。(常用) |
| Ctrl + Shift + F | Find in path | 通過(guò)路徑查找。(常用) |
| Ctrl + Shift + R | Replace in path | 通過(guò)路徑替換。(常用) |
觸發(fā)后,會(huì )打開(kāi)一個(gè)查找面板:

具體含義如下:
| 圖示 | 說(shuō)明 |
|---|---|
| 向上箭頭 | 就是 快捷鍵【Shift + F3】,每調用一次就會(huì )跳到上一個(gè)結果。 |
| 向下箭頭 | 就是 快捷鍵【F3】,每調用一次就會(huì )跳到下一個(gè)結果。 |
| 加號符號 | 把當前的高亮項加入到選中的列表中。 |
| 減號符號 | 把當前的高亮項從選中的列表中移除。 |
| 勾選符號 | 把所有的查找結果同時(shí)選中,這很適合批量操作。 |
| 文本內的向上箭頭 | 打開(kāi)查詢(xún)結果列表面板。 |
| 兩個(gè)框加一個(gè)向下箭頭 | 更多選項。 |
| Match Case | 是否大小寫(xiě)敏感。 |
| Regex | 正則表達式。 |
| Words | 匹配單詞。 |
| x matches | x 表示的是找到的記錄數。 |
勾選符號選中效果:

點(diǎn)擊文本內的向上箭頭,打開(kāi)后的查詢(xún)結果列表面板:

兩個(gè)框加一個(gè)向下箭頭,會(huì )變成一個(gè)大文本輸入框,而且還多出一個(gè)查看搜索歷史的按鈕:


主要是查看當前光標所在內容使用情況。
| 快捷鍵 | 英文說(shuō)明 | 中文說(shuō)明 |
|---|---|---|
| Alt + F7 | Find usages | 在當前項目中的使用情況,會(huì )打開(kāi)一個(gè)使用情況面板。 |
| Ctrl + F7 | Find usages in file | 在當前文件中的使用情況,找的內容會(huì )低亮顯示。 |
| Ctrl + Shift + F7 | 在當前文件中的使用情況,找的內容會(huì )高亮顯示。 | |
| Ctrl + Alt + F7 | Show usages | 打開(kāi)使用情況列表。 (常用) |

| 快捷鍵 | 英文說(shuō)明 | 中文說(shuō)明 |
|---|---|---|
| Ctrl + F9 | Make project (compile modifed and dependent) | 編譯項目(如果之前有編譯過(guò),那么只會(huì )編譯那些修改的類(lèi)或者依賴(lài)的包)。 |
| Ctrl + Shift + F9 | Compile selected file, package or module | 編譯所中的范圍(如果在某個(gè)類(lèi)中,那么只會(huì )編譯當前類(lèi))。 |
| Alt + Shift + F10 | Select configuration and run | 會(huì )打開(kāi)一個(gè)已經(jīng)配置的運行列表,讓你選擇一個(gè)后,再運行。 |
| Alt + Shift + F9 | Select configuration and debug | 會(huì )打開(kāi)一個(gè)已經(jīng)配置的運行列表,讓你選擇一個(gè)后,再以調試模式運行。 |
| Shift + F10 | Run | 立即運行當前配置的運行實(shí)例,這個(gè)在單元測試中特別好用。 (常用) |
| Shift + F9 | Debug | 立即以編譯模式運行當前配置的運行實(shí)例。 |
| Ctrl + Shift + F10 | Run context configuration from editor | 按照編輯器綁定的文件類(lèi)型,運行相關(guān)的程序。比如一個(gè) html 頁(yè)面,調用后,會(huì )直接打開(kāi)一個(gè)瀏覽器。 |

| 快捷鍵 | 英文說(shuō)明 | 中文說(shuō)明 |
|---|---|---|
| F8 | Step over | 跳到當前代碼下一行。 (常用) |
| F7 | Step into | 跳入到調用的方法內部代碼。 (常用) |
| Shift + F7 | Smart step into | 會(huì )打開(kāi)一個(gè)面板,讓你選擇具體要跳入的類(lèi)方法,這個(gè)在復雜的嵌套代碼中特別有用。 |
| Shift + F8 | Step out | 跳出當前的類(lèi),到上一級。 (常用) |
| Alt + F9 | Run to cursor | 讓代碼運行到當前光標所在處,非常棒的功能。 (常用) |
| Alt + F8 | Evaluate expression | 打開(kāi)一個(gè)表達式面板,然后進(jìn)行進(jìn)一步的計算。 |
| F9 | Resume program | 結束當前斷點(diǎn)的本輪調試(因為有可能代碼會(huì )被調用多次,所以調用后只會(huì )結束當前的這一次);如果有下一個(gè)斷點(diǎn)會(huì )跳到下一個(gè)斷點(diǎn)中。(常用) |
| Ctrl + F8 | Toggle breakpoint | 在當前光標處,添加或者刪除斷點(diǎn)。 |
| Ctrl + Shift + F8 | View breakpoints | 打開(kāi)當前斷點(diǎn)的面板,可以進(jìn)行條件過(guò)濾哦。 |

注意:要在當前斷點(diǎn)之前的代碼中,選擇某一個(gè)變量運行才有效,因為只有代碼運行過(guò)了,才會(huì )有值的呀 O(∩_∩)O~


| 快捷鍵 | 英文說(shuō)明 | 中文說(shuō)明 |
|---|---|---|
| Ctrl + N | Go to class | 打開(kāi)類(lèi)查詢(xún)框。(常用) |
| Ctrl + Shift + N | Go to file | 打開(kāi)文件查詢(xún)框。(常用) |
| Ctrl + Alt + Shift + N | Go to symbol | 打開(kāi)文本查詢(xún)框。 |
| Alt + 右箭頭/左箭頭 | Go to next/previous editor tab | 跳到下一個(gè)/上一個(gè)編輯器標簽。 |
| F12 | Go back to previous tool window | 如果當前在編輯窗口,觸發(fā)后,會(huì )跳到之前操作過(guò)的工具欄上。 |
| ESC | Go to editor (from tool window) | 從工具欄上,再跳回原來(lái)的編輯窗口,一般與 F12 配合使用。 |
| Shift + ESC | Hide active or last active window | 隱藏最后一個(gè)處于活躍狀態(tài)的工具窗口。 |
| Ctrl + Shift + F4 | Close active run/messages/find/… tab | 同時(shí)關(guān)閉處于活動(dòng)狀態(tài)的某些工具欄窗口。 |
| Ctrl + G | Go to line | 跳轉至某一行代碼。。(常用) |
| Ctrl + E | Recent files popup | 打開(kāi)曾經(jīng)操作過(guò)的文件歷史列表。 |
| Ctrl + Alt + 右箭頭/左箭頭 | Navigate back/forward | 在曾經(jīng)瀏覽過(guò)的代碼行中來(lái)回跳 |
| Ctrl + Shift + Backspace | Navigate to last edit location | 跳轉到最近的編輯位置(如果曾經(jīng)編輯過(guò)代碼)。 |
| Alt + F1 | Select current file or symbol in any view | 打開(kāi)一個(gè)類(lèi)型列表,選擇后會(huì )導航到當前文件或者內容的具體與類(lèi)型相關(guān)的面板中。 |
| Ctrl + B 或 Ctrl + 鼠標左鍵 | Go to declaration | 如果是類(lèi),那么會(huì )跳轉到當前光標所在的類(lèi)定義或者接口;如果是變量,會(huì )打開(kāi)一個(gè)變量被引用的列表。(常用) |
| Ctrl + Alt + B | Go to implementation(s) | 跳轉到實(shí)現類(lèi),而不是接口。(常用) |
| Ctrl + Shift + I | Open quick definition lookup | 打開(kāi)一個(gè)面板,里面包含類(lèi)代碼。 |
| Ctrl + Shift + B | Go to type declaration | 打開(kāi)變量的類(lèi)型所對應的類(lèi)代碼,只對變量有用。 |
| Ctrl + U | Go to super-method/super-class | 打開(kāi)方法的超類(lèi)方法或者類(lèi)的超類(lèi),只對有超類(lèi)的方法或者類(lèi)有效。 |
| Alt + 上/下箭頭 | Go to previous/next method | 在某個(gè)類(lèi)中,跳到上一個(gè)/下一個(gè)方法的簽名上。 |
Ctrl + ]/[ | Move to code block end/start | 移動(dòng)光標到類(lèi)定義的終止右大括號或者起始左大括號。 |
| Ctrl + F12 | File structure popup | 打開(kāi)類(lèi)的結構列表。(常用) |
| Ctrl + H | Type hierarchy | 打開(kāi)類(lèi)的繼承關(guān)系列表。(常用) |
| Ctrl + Shift + H | Method hierarchy | 打開(kāi)某個(gè)類(lèi)方法的繼承關(guān)系列表。 |
| Ctrl + Alt + H | Call hierarchy | 打開(kāi)所有類(lèi)的方法列表,這些方法都調用了當前光標所處的某個(gè)類(lèi)方法。(常用) |
| F2/Shift + F2 | Next/previous highlighted error | 在編譯錯誤的代碼行中來(lái)回跳。 |
| F4 | Edit source | 打開(kāi)當前光標所在處的方法或類(lèi)源碼。 |
| Alt + Home | Show navigation bar | 激活包路徑的導航欄。 |
| F11 | Toggle bookmark | 把光標所處的代碼行添加為書(shū)簽或者從書(shū)簽中刪除。(常用) |
| Ctrl + F11 | Toggle bookmark with mnemonic | 把光標所處的代碼行添加為帶快捷鍵的書(shū)簽或者從快捷鍵書(shū)簽中刪除。 |
| Ctrl + [0-9] | Go to numbered bookmark | 跳轉到之前定義的快捷鍵書(shū)簽。 |
| Shift + F11 | Show bookmarks | 打開(kāi)書(shū)簽列表。(常用) |
鍵入類(lèi)名的關(guān)鍵字,會(huì )自動(dòng)出現相關(guān)的類(lèi)哦,右側還有一個(gè)勾選項,能夠把引用的 jar 包中的類(lèi)也加進(jìn)來(lái),很強大 O(∩_∩)O~

如果操作系統裝的是 NVIDIA 顯卡驅動(dòng)程序,那么觸發(fā)這個(gè)熱鍵,會(huì )把旋轉顯示內容,而不是觸發(fā) idea 的功能,因為 idea 熱鍵被 NVIDIA 顯卡驅動(dòng)給劫持咯。
解決方法是禁用 NVIDIA 顯卡驅動(dòng)所有快捷鍵,:
1、控制面板-》顯示-》屏幕分辨率:

2、點(diǎn)擊【高級設置】-》核芯顯卡控制面板:

3、圖形屬性-》選項與支持-》禁用所有快捷鍵(這些快捷鍵幾乎沒(méi)有什么用處?。?/p>


書(shū)簽不是默認視圖,所以我們要把它添加到當前視圖中:View -> Tool Windows -> Favorites,打開(kāi) Favorites 面板:

Favorites 面板中的 Bookmarks 就是我們添加的書(shū)簽哦:

或者直接使用 Shift + F11,打開(kāi)書(shū)簽列表也可以的哦 O(∩_∩)O~。
會(huì )打開(kāi)一個(gè)設置快捷鍵的面板,比如這里點(diǎn)擊了 1,那么它的快捷鍵就是 Ctrl + 1。
注意不要選擇面板提供的 26 個(gè)大寫(xiě)字母,因為這會(huì )與 idea 的其他快捷鍵沖突,不知道 idea 為什么要把它們放在這里?好奇怪 O(∩_∩)O~

聯(lián)系客服