Intellij IDEA中有不少快捷鍵讓人愛不釋手,stackoverflow上也有一些有趣的討論。每一個人都有本身的最愛,想排出個理想的榜單還真是困難。之前也整理過Intellij的快捷鍵,此次就按照我平常開發時的使用頻率,簡單分類列一下我最喜歡的十大快捷-神-鍵吧。java
Intellij首當其衝的固然就是Intelligence智能!基本的代碼提示用Ctrl+Space,還有更智能地按類型信息提示Ctrl+Shift+Space,但由於Intellij老是隨着咱們敲擊而自動提示,因此不少時候都不會手動敲這兩個快捷鍵(除非提示框消失了)。用F2/ Shift+F2移動到有錯誤的代碼,Alt+Enter快速修復(即Eclipse中的Quick Fix功能)。當智能提示爲咱們自動補全方法名時,咱們一般要本身補上行尾的反括號和分號,當括號嵌套不少層時會很麻煩,這時咱們只需敲Ctrl+Shift+Enter就能自動補全末尾的字符。並且不僅是括號,例如敲完if/for時也能夠自動補上{}花括號。程序員
最後要說一點,Intellij可以智能感知spring、hibernate等主流框架的配置文件和類,以靜制動,在看似「靜態」的外表下,智能地掃描理解你的項目是如何構造和配置的。spring
Intellij重構是另外一完爆Eclipse的功能,其智能程度使人瞠目結舌,好比提取變量時自動檢查到全部匹配同時提取成一個變量等。尤爲看過《重構-改善既有代碼設計》以後,有了Intellij的配合簡直是使人大呼過癮!也正是強大的智能和重構功能,使Intellij下的TDD開發很是順暢。瀏覽器
切入正題,先說一個無敵的重構功能大彙總快捷鍵Ctrl+Shift+Alt+T,叫作Refactor This。按法有點複雜,但也符合Intellij的風格,不少快捷鍵都要雙手完成,而不像Eclipse很多最有用的快捷鍵能夠瀟灑地單手完成(不知道算不算Eclipse的一大優勢),但各位用過Emacs的話就會以爲也沒什麼了(非Emacs黑)。此外,還有些最經常使用的重構技巧,由於太經常使用了,若每次都在Refactor This菜單裏選的話效率有些低。好比Shift+F6直接就是更名,Ctrl+Alt+V則是提取變量。安全
這一點相似Eclipse,雖不是獨到之處,但由於平常使用頻率極高,因此仍是羅列在榜單前面。經常使用的有fori/sout/psvm+Tab便可生成循環、System.out、main方法等boilerplate樣板代碼,用Ctrl+J能夠查看全部模板。後面「輔助」一節中將會講到Alt+Insert,在編輯窗口中點擊能夠生成構造函數、toString、getter/setter、重寫父類方法等。這兩個技巧實在太經常使用了,幾乎天天都要生成一堆main、System.out和getter/setter。intellij-idea
另外,Intellij IDEA 13中加入了後綴自動補全功能(Postfix Completion),比模板生成更加靈活和強大。例如要輸入for(User user : users)只需輸入user.for+Tab。再好比,要輸入Date birthday = user.getBirthday();只需輸入user.getBirthday().var+Tab便可。框架
編輯中不得不說的一大神鍵就是可以自動按語法選中代碼的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改變顯示器顯示方向衝突,一不當心顯示器就變成倒着顯式的了,冏啊)。ide
相似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就會自動爲你過濾。
以上這些神鍵配上一些輔助快捷鍵,便可讓你的雙手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進入到列模式進行按列選中。
這榜單陣容太豪華了,後幾名都是如此有用,絕不示弱。
Ø 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+L 格式化代碼 Ctrl+Shift+J 兩行合成一行,刪去沒必要要的空格匹配代碼格式 其餘快捷鍵: 【常規】 Ctrl+Shift + Enter,語句完成 「!」,否認完成,輸入表達式時按 「!」鍵 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,能夠關閉文件 Ctrl+[ OR ],能夠跑到大括號的開頭與結尾 Ctrl+F12,能夠顯示當前文件的結構 Ctrl+F7,能夠查詢當前元素在當前文件中的引用,而後按 F3 能夠選擇 Ctrl+N,能夠快速打開類 Ctrl+Shift+N,能夠快速打開文件 Alt+Q,能夠看到當前方法的聲明 Ctrl+P,能夠顯示參數信息 Ctrl+Shift+Insert,能夠選擇剪貼板內容並插入 Alt+Insert,能夠生成構造器/Getter/Setter等 Ctrl+Alt+V,能夠引入變量。例如:new String(); 自動導入變量定義 Ctrl+Alt+T,能夠把代碼包在一個塊內,例如:try/catch Ctrl+Enter,導入包,自動修正 Ctrl+Alt+L,格式化代碼 Ctrl+Alt+I,將選中的代碼進行自動縮進編排,這個功能在編輯 JSP 文件時也能夠工做 Ctrl+Alt+O,優化導入的類和包 Ctrl+R,替換文本 Ctrl+F,查找文本 Ctrl+Shift+Space,自動補全代碼 Ctrl+空格,代碼提示(與系統輸入法快捷鍵衝突) Ctrl+Shift+Alt+N,查找類中的方法或變量 Alt+Shift+C,最近的更改 Alt+Shift+Up/Down,上/下移一行 Shift+F6,重構 – 重命名 Ctrl+X,刪除行 Ctrl+D,複製行 Ctrl+/或Ctrl+Shift+/,註釋(//或者/**/) Ctrl+J,自動代碼(例如:serr) Ctrl+Alt+J,用動態模板環繞 Ctrl+H,顯示類結構圖(類的繼承層次) Ctrl+Q,顯示註釋文檔 Alt+F1,查找代碼所在位置 Alt+1,快速打開或隱藏工程面板 Ctrl+Alt+left/right,返回至上次瀏覽的位置 Alt+left/right,切換代碼視圖 Alt+Up/Down,在方法間快速移動定位 Ctrl+Shift+Up/Down,向上/下移動語句 F2 或 Shift+F2,高亮錯誤或警告快速定位 Tab,代碼標籤輸入完成後,按 Tab,生成代碼 Ctrl+Shift+F7,高亮顯示全部該文本,按 Esc 高亮消失 Alt+F3,逐個往下查找相同文本,並高亮顯示 Ctrl+Up/Down,光標中轉到第一行或最後一行下 Ctrl+B/Ctrl+Click,快速打開光標處的類或方法(跳轉到定義處) Ctrl+Alt+B,跳轉到方法實現處 Ctrl+Shift+Backspace,跳轉到上次編輯的地方 Ctrl+O,重寫方法 Ctrl+Alt+Space,類名自動完成 Ctrl+Alt+Up/Down,快速跳轉搜索結果 Ctrl+Shift+J,整合兩行 Alt+F8,計算變量值 Ctrl+Shift+V,能夠將最近使用的剪貼板內容選擇插入到文本 Ctrl+Alt+Shift+V,簡單粘貼 Shift+Esc,不只能夠把焦點移到編輯器上,並且還能夠隱藏當前(或最後活動的)工具窗口 F12,把焦點從編輯器移到最近使用的工具窗口 Shift+F1,要打開編輯器光標字符處使用的類或者方法 Java 文檔的瀏覽器 Ctrl+W,能夠選擇單詞繼而語句繼而行繼而函數 Ctrl+Shift+W,取消選擇光標所在詞 Alt+F7,查找整個工程中使用地某一個類、方法或者變量的位置 Ctrl+I,實現方法 Ctrl+Shift+U,大小寫轉化 Ctrl+Y,刪除當前行 Shift+Enter,向下插入新行 psvm/sout,main/System.out.println(); Ctrl+J,查看更多 Ctrl+Shift+F,全局查找 Ctrl+F,查找/Shift+F3,向上查找/F3,向下查找 Ctrl+Shift+S,高級搜索 Ctrl+U,轉到父類 Ctrl+Alt+S,打開設置對話框 Alt+Shift+Inert,開啓/關閉列選擇模式 Ctrl+Alt+Shift+S,打開當前項目/模塊屬性 Ctrl+G,定位行 Alt+Home,跳轉到導航欄 Ctrl+Enter,上插一行 Ctrl+Backspace,按單詞刪除 Ctrl+」+/-」,當前方法展開、摺疊 Ctrl+Shift+」+/-」,所有展開、摺疊 Alt+1,項目 Alt+2,收藏 Alt+6,TODO Alt+7,結構 Ctrl+Shift+C,複製路徑 Ctrl+Alt+Shift+C,複製引用,必須選擇類名 Ctrl+Alt+Y,同步 Ctrl+~,快速切換方案(界面外觀、代碼風格、快捷鍵映射等菜單) Ctrl+Tab,轉到下一個拆分器 Ctrl+Shift+Tab,轉到上一個拆分器 【重構】 Ctrl+Alt+Shift+T,彈出重構菜單 Alt+Delete,安全刪除 Ctrl+Alt+N,內聯 【查找】 Ctrl+F,查找 Ctrl+R,替換 Ctrl+Shift+F,在路徑中查找 Ctrl+Shift+R,在路徑中替換 Ctrl+Shift+S,搜索結構 Ctrl+Shift+M,替換結構 【VCS】 Alt+~,VCS 操做菜單 Ctrl+K,提交更改 Ctrl+T,更新項目 Ctrl+Alt+Shift+D,顯示變化 補充說明: IDEA 全稱IntelliJ IDEA,是java語言開發的集成環境,IntelliJ在業界被公認爲最好的java開發工具之一,尤爲在智能代碼助手、代碼自動提示、重構、J2EE支持、Ant、JUnit、CVS整合、代碼審查、 創新的GUI設計等方面的功能能夠說是超常的。IDEA是JetBrains公司的產品,這家公司總部位於捷克共和國的首都布拉格,開發人員以嚴謹著稱的東歐程序員爲主。