常用的有fori/sout/psvm+Tab即可生成循環、System.out、main方法等boilerplate樣板代碼 。
例如,要輸入for(User user : users)只需輸入user.for+Tab ;
再比如,要輸入Date birthday = user.getBirthday()只需輸入user.getBirthday().var+Tab即可。
代碼標籤輸入完成後,按Tab,生成代碼。
編碼快捷鍵
快捷鍵 | 作用 |
---|---|
Ctrl+Alt+O | 優化導入的類和包 |
Alt+Insert | 生成代碼(如get,set方法,構造函數等) 或者右鍵(Generate) |
fori/sout/psvm + Tab | 生成循環代碼塊 |
Ctrl+Alt+T | 生成try catch 或者 Alt+enter |
Ctrl+Alt+T | 把選中的代碼放在 TRY{} IF{} ELSE{} 裏 |
Ctrl+O | 重寫方法 |
Ctr+I | 實現方法 |
Ctr+shift+U | 大小寫轉化 |
Alt+回車 | 導入包,自動修正 |
Alt+/ | 代碼提示 |
Ctrl+J | 自動代碼 |
Ctrl+Shift+J | 整合兩行爲一行 |
Ctrl+空格 | 代碼提示 |
Ctrl+Shift+Space | 自動補全代碼 |
Ctrl+Alt+L | 格式化代碼 |
Ctrl+Alt+I | 自動縮進 |
Ctrl+Alt+O | 優化導入的類和包 |
Alt+Insert | 生成代碼(如GET,SET方法,構造函數等) |
Ctrl+E | 最近更改的代碼 |
Ctrl+Alt+Space | 類名或接口名提示 |
Ctrl+P | 方法參數提示 |
Ctrl+Q | 可以看到當前方法的聲明 |
Shift+F6 | 重構-重命名 (包、類、方法、變量、甚至註釋等) |
Ctrl+Alt+V | 提取變量 |
查詢快捷鍵
快捷鍵 | 作用 |
---|---|
Ctrl+Shift+Backspace | 可以跳轉到上次編輯的地 |
Ctrl+Alt+left/right | 前後導航編輯過的地方 |
Alt+7 | 靠左窗口顯示當前文件的結構 |
Ctrl+F12 | 浮動顯示當前文件的結構 |
Alt+F7 | 找到你的函數或者變量或者類的所有引用到的地方 |
Ctrl+ALT+F7 | 找到你的函數或者變量或者類的所有引用到的地方 |
Ctrl+Shift+Alt+N | 查找類中的方法或變量 |
雙擊SHIFT | 在項目的所有目錄查找文件 |
Ctrl+N | 查找類 |
Ctrl+Shift+N | 查找文件 |
Ctrl+G | 定位行 |
Ctrl+F | 在當前窗口查找文本 |
Ctrl+Shift+F | 在指定窗口查找文本 |
Ctrl+R | 在 當前窗口替換文本 |
Ctrl+Shift+R | 在指定窗口替換文本 |
Alt+Shift+C | 查找修改的文件 |
Ctrl+E | 最近打開的文件 |
F3 | 向下查找關鍵字出現位置 |
SHIFT+F3 | 向上一個關鍵字出現位置 |
選中文本,按Alt+F3 | 高亮相同文本,F3逐個往下查找相同文本 |
F4 | 查找變量來源 |
Ctrl+Shift+O | 彈出顯示查找內容 |
Ctrl+W 選中代碼 | 連續按會有其他效果 |
F2 或Shift+F2 | 高亮錯誤或警告快速定位 |
Ctrl+Up/Down | 光標跳轉到第一行或最後一行下 |
Ctrl+B | 快速打開光標處的類或方法 |
Ctrl+Alt+B | 找所有的子類 |
Ctrl+Shift+B | 找變量的類 |
Ctrl+Shift+上下鍵 | 上下移動代碼 |
Ctrl+Alt+ left/right | 返回至上次瀏覽的位置 |
Ctrl+X | 刪除行 |
Ctrl+D | 複製行 |
Ctrl+/ 或 Ctrl+Shift+/ | 註釋(// 或者/…/ ) |
Ctrl+H | 顯示類結構圖 |
Ctrl+Q | 顯示註釋文檔 |
Alt+F1 | 查找代碼所在位置 |
Alt+1 | 快速打開或隱藏工程面板 |
Alt+ left/right | 切換代碼視圖 |
Alt+ ↑/↓ | 在方法間快速移動定位 |
Ctrl+Alt+ left/right | 前後導航編輯過的地方 |
Ctrl+Shift+Backspace | 可以跳轉到上次編輯的地 |
Alt+6 | 查找TODO |
其他快捷鍵
快捷鍵 | 作用 |
---|---|
Shift+Enter | 另起一行 |
Ctrl+Z | 倒退(撤銷) |
Ctrl+Shift+Z | 向前(取消撤銷) |
Ctrl+Alt+F12 | 資源管理器打開文件夾 |
Alt+F1 | 查找文件所在目錄位置 |
Shift+Alt+Insert | 豎編輯模式 |
Ctrl+F4 | 關閉當前窗口 |
Ctrl+Alt+V | 可以引入變量。例如:new String(); 自動導入變量定義 |
Ctrl+~ | 快速切換方案(界面外觀、代碼風格、快捷鍵映射等菜單) |
調試快捷鍵
其實常用的 就是F8 F7 F9 最值得一提的就是Drop Frame 可以讓運行過的代碼從頭再來。
快捷鍵 | 作用 |
---|---|
Alt+F8 | debug時選中查看值 |
Alt+Shift+F9 | 選擇 Debug |
Alt+Shift+F10 | 選擇 Run |
Ctrl+Shift+F9 | 編譯 |
Ctrl+Shift+F8 | 查看斷點 |
F7 | 步入 |
Shift+F7 | 智能步入 |
Alt+Shift+F7 | 強制步入 |
F8 | 步過 |
Shift+F8 | 步出 |
Alt+Shift+F8 | 強制步過 |
Alt+F9 | 運行至光標處 |
Ctrl+Alt+F9 | 強制運行至光標處 |
F9 | 恢復程序 |
Alt+F10 | 定位到斷點 |
重構
快捷鍵 | 作用 |
---|---|
Ctrl+Alt+Shift+T | 彈出重構菜單 |
Shift+F6 | 重命名 |
F6 | 移動 |
F5 | 複製 |
Alt+Delete | 安全刪除 |
Ctrl+Alt+N | 內聯 |
十大Intellij IDEA快捷鍵
Intellij IDEA中有很多快捷鍵讓人愛不釋手,stackoverflow上也有一些有趣的討論。每個人都有自己的最愛,想排出個理想的榜單還真是困難。
以前也整理過Intellij的快捷鍵,這次就按照我日常開發時的使用頻率,簡單分類列一下我最喜歡的十大快捷-神-鍵吧。
1 智能提示
Intellij首當其衝的當然就是Intelligence智能!基本的代碼提示用Ctrl+Space,還有更智能地按類型信息提示Ctrl+Shift+Space,但因爲Intellij總是隨着我們敲擊而自動提示,所以很多時候都不會手動敲這兩個快捷鍵(除非提示框消失了)。
用F2/ Shift+F2移動到有錯誤的代碼,Alt+Enter快速修復(即Eclipse中的Quick Fix功能)。當智能提示爲我們自動補全方法名時,我們通常要自己補上行尾的反括號和分號,當括號嵌套很多層時會很麻煩,這時我們只需敲Ctrl+Shift+Enter就能自動補全末尾的字符。而且不只是括號,例如敲完if/for時也可以自動補上{}花括號。
最後要說一點,Intellij能夠智能感知Spring、Hibernate等主流框架的配置文件和類,以靜制動,在看似“靜態”的外表下,智能地掃描理解你的項目是如何構造和配置的。
2 重構
Intellij重構是另一完爆Eclipse的功能,其智能程度令人瞠目結舌,比如提取變量時自動檢查到所有匹配同時提取成一個變量等。尤其看過《重構-改善既有代碼設計》之後,有了Intellij的配合簡直是令人大呼過癮!也正是強大的智能和重構功能,使Intellij下的TDD開發非常順暢。
切入正題,先說一個無敵的重構功能大彙總快捷鍵Ctrl+Shift+Alt+T,叫做Refactor This。按法有點複雜,但也符合Intellij的風格,很多快捷鍵都要雙手完成,而不像Eclipse不少最有用的快捷鍵可以瀟灑地單手完成(不知道算不算Eclipse的一大優點),但各位用過Emacs的話就會覺得也沒什麼了(非Emacs黑)。
此外,還有些最常用的重構技巧,因爲太常用了,若每次都在Refactor This菜單裏選的話效率有些低。比如Shift+F6直接就是改名,Ctrl+Alt+V則是提取變量。
3 代碼生成
這一點類似Eclipse,雖不是獨到之處,但因爲日常使用頻率極高,所以還是羅列在榜單前面。常用的有fori/sout/psvm+Tab即可生成循環、System.out、main方法等boilerplate樣板代碼,用Ctrl+J可以查看所有模板。
後面“輔助”一節中將會講到Alt+Insert,在編輯窗口中點擊可以生成構造函數、toString、getter/setter、重寫父類方法等。這兩個技巧實在太常用了,幾乎每天都要生成一堆main、System.out和getter/setter。
另外,Intellij IDEA 13中加入了後綴自動補全功能(Postfix Completion),比模板生成更加靈活和強大。例如要輸入for(User user : users)只需輸入user.for+Tab。再比如,要輸入Date birthday = user.getBirthday();只需輸入user.getBirthday().var+Tab即可。
4 編輯
編輯中不得不說的一大神鍵就是能夠自動按語法選中代碼的Ctrl+W以及反向的Ctrl+Shift+W了。此外,Ctrl+Left/Right移動光標到前/後單詞,Ctrl+[/]移動到前/後代碼塊,這些類Vim風格的光標移動也是一大亮點。以上Ctrl+Left/Right/[]加上Shift的話就能選中跳躍範圍內的代碼。Alt+Forward/Backward移動到前/後方法。還有些非常普通的像Ctrl+Y刪除行、Ctrl+D複製行、**Ctrl++/-**摺疊/展開代碼。
另外,Intellij的書籤功能也是不錯的,用Ctrl+Shift+Num定義1-10書籤(再次按這組快捷鍵則是刪除書籤),然後通過Ctrl+Num跳轉。這避免了多次使用前/下一編輯位置Ctrl+Left/Right來回跳轉的麻煩,而且此快捷鍵默認與Windows熱鍵衝突(默認多了Alt,與Windows改變顯示器顯示方向衝突,一不小心顯示器就變成倒着顯式的了,冏啊)。
5 查找打開
類似Eclipse,Intellij的Ctrl+N/Ctrl+Shift+N可以打開類或資源,但Intellij更加智能一些,我們輸入的任何字符都將看作模糊匹配,省卻了Eclipse中還有輸入*的麻煩。最新版本的IDEA還加入了Search Everywhere功能,只需按Shift+Shift即可在一個彈出框中搜索任何東西,包括類、資源、配置項、方法等等。
類的繼承關係則可用Ctrl+H打開類層次窗口,在繼承層次上跳轉則用Ctrl+B/Ctrl+Alt+B分別對應父類或父方法定義和子類或子方法實現,查看當前類的所有方法用Ctrl+F12。
要找類或方法的使用也很簡單,Alt+F7。要查找文本的出現位置就用Ctrl+F/Ctrl+Shift+F在當前窗口或全工程中查找,再配合F3/Shift+F3前後移動到下一匹配處。
Intellij更加智能的又一佐證是在任意菜單或顯示窗口,都可以直接輸入你要找的單詞,Intellij就會自動爲你過濾。
6 其他輔助
快捷鍵 | 作用 |
---|---|
命令 | Ctrl+Shift+A可以查找所有Intellij的命令,並且每個命令後面還有其快捷鍵。所以它不僅是一大神鍵,也是查找學習快捷鍵的工具。 |
新建 | Alt+Insert可以新建類、方法等任何東西。 |
格式化代碼 | 格式化import列表Ctrl+Alt+O,格式化代碼Ctrl+Alt+L。 |
切換窗口 | Alt+Num,常用的有1-項目結構,3-搜索結果,4/5-運行調試。Ctrl+Tab切換標籤頁,Ctrl+E/Ctrl+Shift+E打開最近打開過的或編輯過的文件。 |
單元測試 | Ctrl+Alt+T創建單元測試用例。 |
運行 | Alt+Shift+F10運行程序,Shift+F9啓動調試,Ctrl+F2停止。 |
調試 | F7/F8/F9分別對應Step into,Step over,Continue。 |
Ctrl+Alt+left/right | 前後導航編輯過的地方 |
Ctrl+Shift+Backspace | 可以跳轉到上次編輯的地方。 |
常用的有fori/sout/psvm+Tab即可生成循環、System.out、main方法等boilerplate樣板代碼 。
此外還有些我自定義的,例如水平分屏Ctrl+|等,和一些神奇的小功能Ctrl+Shift+V粘貼很早以前拷貝過的,Alt+Shift+Insert進入到列模式進行按列選中。