1. 程式人生 > >Intellij IDEA快捷鍵

Intellij IDEA快捷鍵

over 構造 重寫 ideavim post shortcut left 補全 代碼塊

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本身已提供的功能外,我們還可以安裝ideaVim或者emacsIDEAs享受到Vim的快速移動和Emacs的AceJump功能(超爽!)。另外,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 其他輔助

以上這些神鍵配上一些輔助快捷鍵,即可讓你的雙手90%以上的時間擺脫鼠標,專註於鍵盤仿佛在進行鋼琴表演。這些不起眼卻是至關重要的最後一塊拼圖有:

? 命令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+|等,和一些神奇的小功能Ctrl+Shift+V粘貼很早以前拷貝過的,Alt+Shift+Insert進入到列模式進行按列選中。

7 最終榜單

這榜單陣容太豪華了,後幾名都是如此有用,毫不示弱。

? Top #10切來切去Ctrl+Tab

? Top #9選你所想Ctrl+W

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

? Top #7發號施令Ctrl+Shift+A

? Top #6無處藏身Shift+Shift

? Top #5自動完成Ctrl+Shift+Enter

? Top #4創造萬物Alt+Insert

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

? Top #1智能補全Ctrl+Shift+Space

? Top #1自我修復Alt+Enter

? Top #1重構一切Ctrl+Shift+Alt+T

補充幾點:

跳到這個方法的實現函數體:CTRL+ALT+B

刪除一行的快捷鍵:CTRL+Y

光標移到類或方法上後,Ctrl+B是跳轉到Declaration(聲明),Ctrl+Alt+B是Implementation(實現)


1. 打開調用鏈
Alt+F6
Ctrl + Alt + H
Ctrl + H 繼承

2. 實現接口類的方法
Ctrl + I

3. 快速進入實現類
Ctrl + alt + B,Ctrl + shift + B
快速進入父類
Ctrl + U
4. 格式化
Ctrl + Alt + L

5. 快速生成get set
Alt + Insert

6. syso
sout + Tab

7. 調試
下一行 F8
步入 F7
跳出 F9

8. 編譯
編譯當前類 ctrl + shift + F9
編譯所有類 ctrl + F9

9. 最大化窗口
shift + esc
ctrl + f12

10. 自動返回值
crrl + alr + v

11. 註釋縮進


12.
CTRL+SHIFT+F7 高亮顯示多個關鍵字

13. 重構
shift + f6

14.查找類
Ctrl + N

15.查找方法
Ctrl + Shift + Alt + N, Shift+Shift (Search Everywhere)更全一些

16.打開近期的類
Ctrl + E

Intellij IDEA快捷鍵