自動(dòng)代碼
常用的有fori/sout/psvm+Tab即可生成循環(huán)、System.out尤溜、main方法等boilerplate樣板代碼 。
例如要輸入for(User user : users)
只需輸入user.for+Tab
再比如,要輸入Date birthday = user.getBirthday()
只需輸入user.getBirthday().var+Tab即可周伦。
代碼標(biāo)簽輸入完成后未荒,按Tab专挪,生成代碼。
自動(dòng)代碼 快捷鍵
Ctrl+Alt+O 優(yōu)化導(dǎo)入的類和包
Alt+Insert 生成代碼(如get,set方法,構(gòu)造函數(shù)等) 或者右鍵(Generate)
fori/sout/psvm + Tab
Ctrl+Alt+T 生成try catch 或者 Alt+enter
CTRL+ALT+T 把選中的代碼放在 TRY{} IF{} ELSE{} 里
Ctrl + O 重寫方法
Ctrl + I 實(shí)現(xiàn)方法
Ctr+shift+U 大小寫轉(zhuǎn)化
ALT+回車 導(dǎo)入包,自動(dòng)修正
ALT+/ 代碼提示
CTRL+J 自動(dòng)代碼
Ctrl+Shift+J片排,整合兩行為一行
CTRL+空格 代碼提示
CTRL+SHIFT+SPACE 自動(dòng)補(bǔ)全代碼
CTRL+ALT+L 格式化代碼
CTRL+ALT+I 自動(dòng)縮進(jìn)
CTRL+ALT+O 優(yōu)化導(dǎo)入的類和包
ALT+INSERT 生成代碼(如GET,SET方法,構(gòu)造函數(shù)等)
CTRL+E 最近更改的代碼
CTRL+ALT+SPACE 類名或接口名提示
CTRL+P 方法參數(shù)提示
CTRL+Q寨腔,可以看到當(dāng)前方法的聲明
Shift+F6 重構(gòu)-重命名 (包、類率寡、方法迫卢、變量、甚至注釋等)
Ctrl+Alt+V 提取變量
查詢快捷鍵
Ctrl+Shift+Backspace可以跳轉(zhuǎn)到上次編輯的地
CTRL+ALT+ left/right 前后導(dǎo)航編輯過的地方
ALT+7 靠左窗口顯示當(dāng)前文件的結(jié)構(gòu)
Ctrl+F12 浮動(dòng)顯示當(dāng)前文件的結(jié)構(gòu)
ALT+F7 找到你的函數(shù)或者變量或者類的所有引用到的地方
CTRL+ALT+F7 找到你的函數(shù)或者變量或者類的所有引用到的地方
Ctrl+Shift+Alt+N 查找類中的方法或變量
雙擊SHIFT 在項(xiàng)目的所有目錄查找文件
Ctrl+N 查找類
Ctrl+Shift+N 查找文件
CTRL+G 定位行
CTRL+F 在當(dāng)前窗口查找文本
CTRL+SHIFT+F 在指定窗口查找文本
CTRL+R 在 當(dāng)前窗口替換文本
CTRL+SHIFT+R 在指定窗口替換文本
ALT+SHIFT+C 查找修改的文件
CTRL+E 最近打開的文件
F3 向下查找關(guān)鍵字出現(xiàn)位置
SHIFT+F3 向上一個(gè)關(guān)鍵字出現(xiàn)位置
選中文本冶共,按Alt+F3 乾蛤,高亮相同文本,F(xiàn)3逐個(gè)往下查找相同文本
F4 查找變量來源
CTRL+SHIFT+O 彈出顯示查找內(nèi)容
Ctrl+W 選中代碼捅僵,連續(xù)按會(huì)有其他效果
F2 或Shift+F2 高亮錯(cuò)誤或警告快速定位
Ctrl+Up/Down 光標(biāo)跳轉(zhuǎn)到第一行或最后一行下
Ctrl+B 快速打開光標(biāo)處的類或方法
CTRL+ALT+B 找所有的子類
CTRL+SHIFT+B 找變量的類
Ctrl+Shift+上下鍵 上下移動(dòng)代碼
Ctrl+Alt+ left/right 返回至上次瀏覽的位置
Ctrl+X 刪除行
Ctrl+D 復(fù)制行
Ctrl+/ 或 Ctrl+Shift+/ 注釋(// 或者/…/ )
Ctrl+H 顯示類結(jié)構(gòu)圖
Ctrl+Q 顯示注釋文檔
Alt+F1 查找代碼所在位置
Alt+1 快速打開或隱藏工程面板
Alt+ left/right 切換代碼視圖
ALT+ ↑/↓ 在方法間快速移動(dòng)定位
CTRL+ALT+ left/right 前后導(dǎo)航編輯過的地方
Ctrl+Shift+Backspace可以跳轉(zhuǎn)到上次編輯的地
Alt+6 查找TODO
其他快捷鍵
SHIFT+ENTER 另起一行
CTRL+Z 倒退(撤銷)
CTRL+SHIFT+Z 向前(取消撤銷)
CTRL+ALT+F12 資源管理器打開文件夾
ALT+F1 查找文件所在目錄位置
SHIFT+ALT+INSERT 豎編輯模式
CTRL+F4 關(guān)閉當(dāng)前窗口
Ctrl+Alt+V家卖,可以引入變量。例如:new String(); 自動(dòng)導(dǎo)入變量定義
Ctrl+~庙楚,快速切換方案(界面外觀上荡、代碼風(fēng)格、快捷鍵映射等菜單)
調(diào)試快捷鍵
其實(shí)常用的 就是F8 F7 F9 最值得一提的就是Drop Frame 可以讓運(yùn)行過的代碼從頭再來馒闷。
alt+F8 debug時(shí)選中查看值
Alt+Shift+F9酪捡,選擇 Debug
Alt+Shift+F10叁征,選擇 Run
Ctrl+Shift+F9,編譯
Ctrl+Shift+F8沛善,查看斷點(diǎn)
F7航揉,步入
Shift+F7,智能步入
Alt+Shift+F7金刁,強(qiáng)制步入
F8帅涂,步過
Shift+F8,步出
Alt+Shift+F8尤蛮,強(qiáng)制步過
Alt+F9媳友,運(yùn)行至光標(biāo)處
Ctrl+Alt+F9,強(qiáng)制運(yùn)行至光標(biāo)處
F9产捞,恢復(fù)程序
Alt+F10醇锚,定位到斷點(diǎn)
重構(gòu)
Ctrl+Alt+Shift+T,彈出重構(gòu)菜單
Shift+F6坯临,重命名
F6焊唬,移動(dòng)
F5,復(fù)制
Alt+Delete看靠,安全刪除
Ctrl+Alt+N赶促,內(nèi)聯(lián)
十大Intellij IDEA快捷鍵
Intellij IDEA中有很多快捷鍵讓人愛不釋手,stackoverflow上也有一些有趣的討論挟炬。每個(gè)人都有自己的最愛鸥滨,想排出個(gè)理想的榜單還真是困難。
以前也整理過Intellij的快捷鍵谤祖,這次就按照我日常開發(fā)時(shí)的使用頻率婿滓,簡單分類列一下我最喜歡的十大快捷-神-鍵吧。
1 智能提示
Intellij首當(dāng)其沖的當(dāng)然就是Intelligence智能粥喜!基本的代碼提示用Ctrl+Space凸主,還有更智能地按類型信息提示Ctrl+Shift+Space,但因?yàn)镮ntellij總是隨著我們敲擊而自動(dòng)提示额湘,所以很多時(shí)候都不會(huì)手動(dòng)敲這兩個(gè)快捷鍵(除非提示框消失了)秕铛。
用F2/ Shift+F2移動(dòng)到有錯(cuò)誤的代碼,Alt+Enter快速修復(fù)(即Eclipse中的Quick Fix功能)缩挑。當(dāng)智能提示為我們自動(dòng)補(bǔ)全方法名時(shí),我們通常要自己補(bǔ)上行尾的反括號(hào)和分號(hào)鬓梅,當(dāng)括號(hào)嵌套很多層時(shí)會(huì)很麻煩供置,這時(shí)我們只需敲Ctrl+Shift+Enter就能自動(dòng)補(bǔ)全末尾的字符。而且不只是括號(hào)绽快,例如敲完if/for時(shí)也可以自動(dòng)補(bǔ)上{}花括號(hào)芥丧。
最后要說一點(diǎn)紧阔,Intellij能夠智能感知Spring、Hibernate等主流框架的配置文件和類续担,以靜制動(dòng)擅耽,在看似“靜態(tài)”的外表下,智能地掃描理解你的項(xiàng)目是如何構(gòu)造和配置的物遇。
2 重構(gòu)
Intellij重構(gòu)是另一完爆Eclipse的功能乖仇,其智能程度令人瞠目結(jié)舌,比如提取變量時(shí)自動(dòng)檢查到所有匹配同時(shí)提取成一個(gè)變量等询兴。尤其看過《重構(gòu)-改善既有代碼設(shè)計(jì)》之后乃沙,有了Intellij的配合簡直是令人大呼過癮!也正是強(qiáng)大的智能和重構(gòu)功能诗舰,使Intellij下的TDD開發(fā)非常順暢警儒。
切入正題,先說一個(gè)無敵的重構(gòu)功能大匯總快捷鍵Ctrl+Shift+Alt+T眶根,叫做Refactor This蜀铲。按法有點(diǎn)復(fù)雜,但也符合Intellij的風(fēng)格属百,很多快捷鍵都要雙手完成记劝,而不像Eclipse不少最有用的快捷鍵可以瀟灑地單手完成(不知道算不算Eclipse的一大優(yōu)點(diǎn)),但各位用過Emacs的話就會(huì)覺得也沒什么了(非Emacs黑)诸老。
此外隆夯,還有些最常用的重構(gòu)技巧,因?yàn)樘S昧吮鸱裘看味荚赗efactor This菜單里選的話效率有些低蹄衷。比如Shift+F6直接就是改名,Ctrl+Alt+V則是提取變量厘肮。
3 代碼生成
這一點(diǎn)類似Eclipse愧口,雖不是獨(dú)到之處,但因?yàn)槿粘J褂妙l率極高类茂,所以還是羅列在榜單前面耍属。常用的有fori/sout/psvm+Tab即可生成循環(huán)、System.out巩检、main方法等boilerplate樣板代碼厚骗,用Ctrl+J可以查看所有模板。
后面“輔助”一節(jié)中將會(huì)講到Alt+Insert兢哭,在編輯窗口中點(diǎn)擊可以生成構(gòu)造函數(shù)领舰、toString、getter/setter、重寫父類方法等冲秽。這兩個(gè)技巧實(shí)在太常用了舍咖,幾乎每天都要生成一堆main、System.out和getter/setter锉桑。
另外排霉,Intellij IDEA 13中加入了后綴自動(dòng)補(bǔ)全功能(Postfix Completion),比模板生成更加靈活和強(qiáng)大民轴。例如要輸入for(User user : users)只需輸入user.for+Tab攻柠。再比如,要輸入Date birthday = user.getBirthday();只需輸入user.getBirthday().var+Tab即可杉武。
4 編輯
編輯中不得不說的一大神鍵就是能夠自動(dòng)按語法選中代碼的Ctrl+W以及反向的Ctrl+Shift+W了辙诞。此外,Ctrl+Left/Right移動(dòng)光標(biāo)到前/后單詞轻抱,Ctrl+[/]移動(dòng)到前/后代碼塊飞涂,這些類Vim風(fēng)格的光標(biāo)移動(dòng)也是一大亮點(diǎn)。以上Ctrl+Left/Right/[]加上Shift的話就能選中跳躍范圍內(nèi)的代碼祈搜。Alt+Forward/Backward移動(dòng)到前/后方法较店。還有些非常普通的像Ctrl+Y刪除行、Ctrl+D復(fù)制行容燕、Ctrl+折疊代碼就不多說了梁呈。
關(guān)于光標(biāo)移動(dòng)再多擴(kuò)展一點(diǎn),除了Intellij本身已提供的功能外蘸秘,我們還可以安裝ideaVim或者emacsIDEAs享受到Vim的快速移動(dòng)和Emacs的AceJump功能(超爽官卡!)。
另外醋虏,Intellij的書簽功能也是不錯(cuò)的寻咒,用Ctrl+Shift+Num定義1-10書簽(再次按這組快捷鍵則是刪除書簽),然后通過Ctrl+Num跳轉(zhuǎn)颈嚼。這避免了多次使用前/下一編輯位置Ctrl+Left/Right來回跳轉(zhuǎn)的麻煩毛秘,而且此快捷鍵默認(rèn)與Windows熱鍵沖突(默認(rèn)多了Alt,與Windows改變顯示器顯示方向沖突阻课,一不小心顯示器就變成倒著顯式的了叫挟,冏啊)。
5 查找打開
類似Eclipse限煞,Intellij的Ctrl+N/Ctrl+Shift+N可以打開類或資源抹恳,但I(xiàn)ntellij更加智能一些,我們輸入的任何字符都將看作模糊匹配署驻,省卻了Eclipse中還有輸入*的麻煩奋献。最新版本的IDEA還加入了Search Everywhere功能绊序,只需按Shift+Shift即可在一個(gè)彈出框中搜索任何東西,包括類秽荞、資源、配置項(xiàng)抚官、方法等等扬跋。
類的繼承關(guān)系則可用Ctrl+H打開類層次窗口,在繼承層次上跳轉(zhuǎn)則用Ctrl+B/Ctrl+Alt+B分別對(duì)應(yīng)父類或父方法定義和子類或子方法實(shí)現(xiàn)凌节,查看當(dāng)前類的所有方法用Ctrl+F12钦听。
要找類或方法的使用也很簡單,Alt+F7倍奢。要查找文本的出現(xiàn)位置就用Ctrl+F/Ctrl+Shift+F在當(dāng)前窗口或全工程中查找朴上,再配合F3/Shift+F3前后移動(dòng)到下一匹配處。
Intellij更加智能的又一佐證是在任意菜單或顯示窗口卒煞,都可以直接輸入你要找的單詞痪宰,Intellij就會(huì)自動(dòng)為你過濾。關(guān)注Java技術(shù)棧微信公眾號(hào)畔裕,在后臺(tái)回復(fù)關(guān)鍵字:IDEA衣撬,可以獲取一份棧長整理的 IDEA 最新技術(shù)干貨。
6 其他輔助
以上這些神鍵配上一些輔助快捷鍵扮饶,即可讓你的雙手90%以上的時(shí)間擺脫鼠標(biāo)具练,專注于鍵盤仿佛在進(jìn)行鋼琴表演。這些不起眼卻是至關(guān)重要的最后一塊拼圖有:
命令:Ctrl+Shift+A可以查找所有Intellij的命令甜无,并且每個(gè)命令后面還有其快捷鍵扛点。所以它不僅是一大神鍵,也是查找學(xué)習(xí)快捷鍵的工具岂丘。
新建:Alt+Insert可以新建類陵究、方法等任何東西。
格式化代碼:格式化import列表Ctrl+Alt+O元潘,格式化代碼Ctrl+Alt+L畔乙。
切換窗口:Alt+Num,常用的有1-項(xiàng)目結(jié)構(gòu)翩概,3-搜索結(jié)果牲距,4/5-運(yùn)行調(diào)試。Ctrl+Tab切換標(biāo)簽頁钥庇,Ctrl+E/Ctrl+Shift+E打開最近打開過的或編輯過的文件牍鞠。
單元測(cè)試:Ctrl+Alt+T創(chuàng)建單元測(cè)試用例。
運(yùn)行:Alt+Shift+F10運(yùn)行程序评姨,Shift+F9啟動(dòng)調(diào)試难述,Ctrl+F2停止萤晴。
調(diào)試:F7/F8/F9分別對(duì)應(yīng)Step into,Step over胁后,Continue店读。
此外還有些我自定義的,例如水平分屏Ctrl+|等攀芯,和一些神奇的小功能Ctrl+Shift+V粘貼很早以前拷貝過的屯断,Alt+Shift+Insert進(jìn)入到列模式進(jìn)行按列選中。
Top #10切來切去:Ctrl+Tab
Top #9選你所想:Ctrl+W
Top #8代碼生成:Template/Postfix +Tab
Top #7發(fā)號(hào)施令:Ctrl+Shift+A
Top #6無處藏身:Shift+Shift
Top #5自動(dòng)完成:Ctrl+Shift+Enter
Top #4創(chuàng)造萬物:Alt+Insert
太難割舍,前三名并列吧!
Top #1智能補(bǔ)全:Ctrl+Shift+Space
Top #1自我修復(fù):Alt+Enter
Top #1重構(gòu)一切:Ctrl+Shift+Alt+T
CTRL+ALT+ left/right 前后導(dǎo)航編輯過的地方 Ctrl+Shift+Backspace可以跳轉(zhuǎn)到上次編輯的地方