1. -----------自動代碼--------
常用的有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 重寫方法
Ctrl + I 實現方法
Ctrl + 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 提取變量
2. -----------查詢快捷鍵--------
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
3.---------------------其他快捷鍵-------------------
Shift + ENTER 另起一行
Ctrl + Z 倒退(撤銷)
Ctrl + Shift + Z 向前(取消撤銷)
Ctrl + Alt + F12 資源管理器打開文件夾
Alt + F1 查找文件所在目錄位置
Shift + Alt + INSERT 豎編輯模式
Ctrl + F4 關閉當前窗口
Ctrl + Alt + V 可以引入變量。例如:new String(); 自動導入變量定義
Ctrl + ~ 快速切換方案(界面外觀、代碼風格、快捷鍵映射等菜單)
4.--------------svn快捷鍵---------------
Ctrl + K 提交代碼到SVN
Ctrl + T 更新代碼
5.--------------調試快捷鍵---------------
其實常用的就是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 定位到斷點
6.--------------重構---------------
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本身已提供的功能外,我們還可以安裝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進入到列模式進行按列選中。
Ø 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 + left/right 前后導航編輯過的地方
Ctrl +Shift + Backspace可以跳轉到上次編輯的地方