1. 書簽(Bookmarks)
- 描述:這是一個(gè)很有用的功能,讓你可以在某處做個(gè)標(biāo)記(書簽)墨榄,方便后面再跳轉(zhuǎn)到此處怀挠。
- 調(diào)用:Menu → Navigate → Bookmarks
- ****快捷鍵:
- 添加/移除書簽:F3(OS X) 、F11(Windows/Linux);
- 添加/移除書簽(帶標(biāo)記):Alt + F3(OS X)赢乓、Ctrl + F11(Windows/Linux);
- 顯示全部書簽:Cmd + F3(OS X) 跟衅、Shift + F11(Windows/Linux)孵睬,顯示所有的書簽列表,并且是可以搜索的伶跷。
- 上一個(gè)/下一個(gè)書簽:無掰读,可以在設(shè)置中設(shè)置快捷鍵秘狞。
- 更多:當(dāng)你為某個(gè)書簽指定了標(biāo)記,你可以使用快捷鍵 Ctrl + 標(biāo)記 來快速跳轉(zhuǎn)到標(biāo)記處蹈集,比如輸入Ctrl + 1烁试,跳到標(biāo)記為1的書簽處。
2. 折疊/展開代碼塊(Collapse Expand Code Block)
- 描述:該操作提供一種方法拢肆,讓你隱藏你不關(guān)心的部分代碼减响,以一種較為簡潔的格式顯示關(guān)鍵代碼。一個(gè)有意思的用法是隱藏匿名內(nèi)部類的代碼郭怪,讓其看起來像一個(gè)Lambda表達(dá)式支示。
- ****快捷鍵:Cmd + “+”/”-“(OS X)、Ctrl + Shift + “+”/”-“(Windows/Linux);
- 更多:可以在Settig → Editor → General → Code Folding 中設(shè)置折疊規(guī)則鄙才。
3. 與分支比對(Compare With Branch (Git))
- 描述:假如你的項(xiàng)目是使用git來管理的颂鸿,你可以將當(dāng)前文件或者文件夾與其他的分支進(jìn)行比對。比較有用的是可以讓你了解到你與主分支有多少差別咒循。
- 調(diào)用:Menu → VCS → Git → Compare With Branch
[圖片上傳失敗...(image-14035f-1572404572911)]
4. 與剪切板比對(Compare With Clipboard)
- 描述:將當(dāng)前選中的部分與剪切板上的內(nèi)容進(jìn)行比對。
- 調(diào)用:右鍵選中的部分绞愚,在右鍵菜單中選擇“Compare With Clipboard”叙甸。
5. 上下文信息(Context Info)
- 描述:當(dāng)前作用域定義超過滾動區(qū)域,執(zhí)行該操作將顯示所在的上下文信息位衩,通常它顯示的是類名或者內(nèi)部類類名或者當(dāng)前所在的方法名裆蒸。該操作在xml文件中同樣適用。
- 調(diào)用:Menu → View → Context Info
- ****快捷鍵:Alt + Q (Windows/Linux)
- 更多:個(gè)人認(rèn)為糖驴,這個(gè)功能更好的用法是快速查看當(dāng)前類繼承的父類或者實(shí)現(xiàn)的接口僚祷。
6. 查找操作(Find Action)
- 描述:輸入某個(gè)操作的名稱,快速查找贮缕,對于沒有快捷鍵的部分操作這是一個(gè)很有用的技巧辙谜。
- ****快捷鍵:Cmd +Shift + A(OS X)、Ctrl + Shift + A(Windows/Linux)感昼;
- 更多:當(dāng)某個(gè)操作是有快捷鍵的装哆,會顯示在旁邊。
7. 查找補(bǔ)全(Find Complection)
- 描述:當(dāng)你在一個(gè)文件中進(jìn)行查找時(shí)定嗓,使用自動補(bǔ)全快捷鍵可以給出在當(dāng)前文件中出現(xiàn)的建議單詞蜕琴;
- ****快捷鍵:Cmd + F(OS X),Ctrl + F(Windows/Linux),輸入一些字符,然后使用自動補(bǔ)全宵溅;
8. 隱藏所有面板(Hide All Panels)
- 描述:切換編輯器鋪滿整個(gè)程序界面凌简,隱藏其他的面板。再次執(zhí)行該操作恃逻,將會回到隱藏前的狀態(tài)雏搂。
- 調(diào)用:Menu → Window → Active Tool Window → Hide All Windows藕施;
- ****快捷鍵:Cmd +Shift + F12(OS X)、Ctrl + Shift + F12(Windows/Linux)畔派;
9. 高亮一切(Hightlight All the Things)
- 描述:該操作將會高亮某個(gè)字符在當(dāng)前文件中所有出現(xiàn)的地方铅碍。這不僅僅是簡單的匹配,實(shí)際上它會分析當(dāng)前的作用域线椰,只高亮相關(guān)的部分胞谈。
- 調(diào)用:Menu → Edit → Find → Highlight Usages in File;
- 定位到上一處/下一處:Menu → Edit → Find → Find Next/Previous憨愉;
- ****快捷鍵:相關(guān)快捷鍵請?jiān)诓藛沃胁榭矗?/li>
-
更多:
- 如果高亮一個(gè)方法的
return
或throw
語句烦绳,將會高亮這個(gè)方法的所有出口/結(jié)束點(diǎn); - 如果高亮某個(gè)類定義處的
extend
或implements
語句配紫,將會高亮繼承的或?qū)崿F(xiàn)的方法径密; - 高亮一個(gè)
import
語句也會高亮使用到的地方; - 按下Esc可以退出高亮模式躺孝;
- 如果高亮一個(gè)方法的
10. 回到上一個(gè)工具窗口(Jump to Last Tool Window)
- 描述:有時(shí)候你會從某個(gè)工具窗口跳到編輯器里面享扔,然后又需要重新回到剛才操作的那個(gè)工具窗,比如你查找使用情況的時(shí)植袍,使用該操作可以在不使用鼠標(biāo)的情況下跳轉(zhuǎn)到之前的工具窗口惧眠。
- ****快捷鍵:F12;
[圖片上傳失敗...(image-8f52b8-1572404572911)]
11. 上一個(gè)編輯位置(Last Edit Location)
- 描述:該操作將使得你導(dǎo)航到上一處你改動過的地方于个,這與點(diǎn)擊工具欄上的返回箭頭回到上一個(gè)定位位置是不一樣的氛魁,該操作將會返回到上一個(gè)編輯的位置。
- ****快捷鍵: Cmd + Shift + Delete(OS X)厅篓、Ctrl + Shift + Backspace(Windows/Linux);
12. 在方法和內(nèi)部類之間跳轉(zhuǎn)(Move Between Methods and Inner Classes)
- 描述:該操作讓光標(biāo)在當(dāng)前文件的方法或內(nèi)部類的名字間跳轉(zhuǎn)秀存。
- 調(diào)用:Navigate → Next Method/Previous Method;
- ****快捷鍵:Ctrl + Up/Down(OS X)、Alt + Up/Down(Windows/Linux);
13. 定位到嵌套文件(Navigate to Nested File)
-
描述:有時(shí)你有一堆存放在不同目錄下的同名文件羽氮,例如不同模塊下的
AndroidManifest.xml
文件或链,當(dāng)你想定位到其中的一個(gè)文件,你會得到一堆搜索結(jié)果档押,你還得辨認(rèn)哪個(gè)才是你需要的株扛。通過在檢索框中輸入部分路徑的前綴,并添加斜杠號汇荐,你就可以在第一次嘗試的時(shí)候就找到正確的那個(gè)洞就。 - ****快捷鍵:Shift + Cmd + O(OS X)、Shift + Ctrl + N(Windows/Linux);
14. 定位到父類(Navigate to parent)
- 描述:如果光標(biāo)是在一個(gè)繼承父類重寫的方法里掀淘,這個(gè)操作將定位到父類實(shí)現(xiàn)的地方旬蟋。如果光標(biāo)是在類名上,則定位到父類類名革娄。
- Menu → Navigate → Super Class/Method
- ****快捷鍵:Cmd + U(OS X)倾贰、Ctrl + U(Windows/Linux);
15. 根據(jù)編號打開面板(Open a Panel by Its Number)
- 描述:你可能已經(jīng)注意到某些面板的名稱左邊有一個(gè)數(shù)字冕碟,這里有個(gè)快捷操作可以打開它們。如果你沒看到面板的名稱匆浙,請點(diǎn)擊IDE的左下角的切換按鈕安寺。
- ****快捷鍵:Cmd + 數(shù)字(OS X)、Alt + 數(shù)字(Windows/Linux);
16. 在外部打開文件(Open File Externally)
- 描述:通過這個(gè)快捷鍵首尼,簡單地點(diǎn)擊Tab挑庶,就可以打開當(dāng)前文件所在的位置或者該文件的任意上層路徑。
- ****快捷鍵:Cmd + 單擊Tab(OS X)软能、Ctrl + 點(diǎn)擊Tab(Windows/Linux);
17. 參數(shù)信息(Parameter Info)
- 描述:這個(gè)操作將顯示和你在方法聲明處寫一樣的參數(shù)列表迎捺,當(dāng)你想看某個(gè)存在的方法的參數(shù),這是一個(gè)很有 用的操作查排。光標(biāo)下的參數(shù)顯示為黃色凳枝,如果沒有參數(shù)顯示黃色,意味著你的方法調(diào)用是無效的跋核,很可能是某個(gè)參數(shù)分配不對岖瑰。(例如一個(gè)浮點(diǎn)數(shù)賦值給了整型參 數(shù))。如果你正在寫一個(gè)方法調(diào)用砂代,突然離開編輯的地方蹋订,再返回的時(shí)候,輸入一個(gè)逗號泊藕,就可以重新觸發(fā)參數(shù)信息辅辩。
- ****快捷鍵:Cmd + P(OS X)难礼、Ctrl + U(Windows/Linux);
18. 快速查看定義(Quick Definition Lookup)
- 描述:你曾經(jīng)是否想查看一個(gè)方法或者類的具體實(shí)現(xiàn)娃圆,但是不想離開當(dāng)前界面? 該操作可以幫你搞定蛾茉。
- ****快捷鍵:Alt + Space / Cmd + Y(OS X)讼呢、Ctrl + Shift + I(Windows/Linux)
19. 最近修改的文件(Recently Changed Files)
- 描述:該操作類似于“最近訪問(Recents)”彈窗,會顯示最近本地修改過的文件列表谦炬,根據(jù)修改時(shí)間排列悦屏。可以輸入字符來過濾列表結(jié)果键思。
- ****快捷鍵:Cmd + Shift + E(OS X)础爬、Ctrl + Shift + E(Windows/Linux)
20. 最近訪問(Recents)
- 描述:該操作可以得到一個(gè)最近訪問文件的可搜索的列表。
- ****快捷鍵:Cmd + E(OS X)吼鳞、Ctrl + E(Windows/Linux)
[圖片上傳失敗...(image-81fb85-1572404572909)]
21. 相關(guān)文件(Related File)
- 描述:該操作有助于在布局文件和Activity/Fragment之間輕松跳轉(zhuǎn)看蚜。這也是一個(gè)快捷操作,在類名/布局頂端的左側(cè)赔桌。
- ****快捷鍵:Ctrl + Cmd + Up(OS X)供炎、Ctrl + Alt + Home(Windows/Linux)
22. 返回到編輯器(Return to the Editor)
-
描述:一大堆快捷鍵操作會把你從編輯器帶走(type hierarchy, find usages, 等等)渴逻。如果你想返回到編輯器,你有兩個(gè)選項(xiàng):
- Esc:該操作僅僅把光標(biāo)移回編輯器音诫。
- Shift + Esc:該操作會關(guān)閉當(dāng)前面板惨奕,然后把光標(biāo)移回到編輯器。
- ****快捷鍵:
- 返回但保留打開的面板:Esc
- 關(guān)閉面板并返回:Shift + Esc
23. Select In
描述:拿著當(dāng)前文件然后問你在哪里選中該文件竭钝。恕我直言梨撞,最有用的就是在項(xiàng)目結(jié)構(gòu)或者資源管理 器中打開該文件。每一個(gè)操作都有數(shù)字或者字母作為前綴蜓氨,可以通過這個(gè)前綴來快速跳轉(zhuǎn)聋袋。通常,我會 Alt + F1 然后 回車(Enter) 來打開項(xiàng)目視圖穴吹,然后 再用 Alt + F1 在OS X的Finder里找到文件幽勒。你可以在文件中或者直接在項(xiàng)目視圖里使用該操作。
****快捷鍵:Alt + F1港令;
24. 擴(kuò)大/縮小選擇(Extend/Shrink Selection)
- 描述:該操作會在上下文逐漸擴(kuò)大/縮小當(dāng)前選擇范圍啥容。例如,它會先選中當(dāng)前變量顷霹,再選中當(dāng)前語句咪惠,然后選中整個(gè)方法,縮小選擇則相反淋淀。
- ****快捷鍵:Alt + 上/下 (OS X)遥昧、Ctrl+W / Ctrl + Shift + W(Windows、Linux)
25. Sublime Text式的多處選擇(Sublime Text Multi Selection)
- 描述:這個(gè)功能超級贊朵纷!該操作會識別當(dāng)前選中字符串炭臭,選擇下一個(gè)同樣的字符串,并且添加一個(gè)光標(biāo)袍辞。這意味著你可以在同一個(gè)文件里擁有多個(gè)光標(biāo)鞋仍,你可以同時(shí)在所有光標(biāo)處輸入任何東西。
- ****快捷鍵:Ctrl + G(OS X)搅吁、Alt + J(Windows威创、Linux)
26. 文件結(jié)構(gòu)彈窗(The File Structure Popup)
描述:該操作可以展示當(dāng)前類的大綱,并且可以快速跳轉(zhuǎn)谎懦。你還可以通過鍵盤輸入來過濾結(jié)果肚豺。這是一種很高效的方法來跳轉(zhuǎn)到指定方法。
-
更多:
- 你在輸入字符的時(shí)候可以用駝峰風(fēng)格來過濾選項(xiàng)界拦。比如輸入”oCr”會找到”onCreate”
- 你可以通過勾選多選框來決定是否顯示匿名類吸申。這在某些情況下很有用,比如你想直接跳轉(zhuǎn)到一個(gè)OnClickListener的onClick方法。
****快捷鍵:Cmd + F12(OS X)呛谜、Ctrl + F12(Windows/Linux)
調(diào)用:Menu → Navigate → File Structure
27. 切換器(The Switcher)
描述:該快捷鍵基本上就是IDE的alt+tab/cmd+tab命令在跳。你可以用它在導(dǎo)航tab或者面板切換。一旦打開這個(gè)窗口隐岛,只要一直按著ctrl鍵猫妙,你可以通過對應(yīng)的數(shù)字或者字母快捷鍵快速選擇画机。你也可以通過backspace鍵來關(guān)閉一個(gè)已選中的tab或者面板图贸。
****快捷鍵:Ctrl + Tab
28. 版本控制操作彈窗(VCS Operations Popup)
- 描述:該操作會給你顯示最常用的版本控制操作。如果你的項(xiàng)目沒有用git等版本控制軟件進(jìn)行管理陨簇,它至少會給你提供一個(gè)由IDE維護(hù)的本地歷史記錄妒牙。
- ****快捷鍵:Ctrl + V(OS X)彼哼、Alt + `(Windows/Linux)
編碼技巧
29. 列選擇/塊選擇(Column Selection)
- 描述:正常選擇時(shí),當(dāng)你向下選擇時(shí)湘今,會直接將當(dāng)前行到行尾都選中敢朱,而塊選擇模式下,則是根據(jù)鼠標(biāo)選中的矩形區(qū)域來選擇摩瞎。
- 調(diào)用:按住Alt拴签,然后拖動鼠標(biāo)選擇。
- 開啟/關(guān)閉塊選擇:Menu → Edit → Column Selection Mode
- ****快捷鍵:切換塊選擇模式:Cmd + Shift + 8(OS X)旗们、Shift + Alt + Insert(Windows/Linux);
30. 語句補(bǔ)全(Complete Statement)
-
描述:這個(gè)方法將會生成缺失的代碼來補(bǔ)全語句蚓哩,常用的使用場景如下:
- 在行末添加一個(gè)分號,即使光標(biāo)不在行末上渴;
- 為if岸梨、while、for 語句生成圓括號和大括號稠氮;
- 方法聲明后曹阔,添加大括號;
- 調(diào)用:Menu → Edit → Compelete Current Statement
- ****快捷鍵:Cmd + Shift + Enter(OS X)括袒、Ctrl + Shift + Enter(Windows/Linux)次兆;
- 更多:如果一個(gè)語句已經(jīng)補(bǔ)全稿茉,當(dāng)你執(zhí)行該操作時(shí)锹锰,則會直接跳到下一行,即使光標(biāo)不在當(dāng)前行的行末漓库。
31. 刪除行(Delete Line)
- 描述:如果沒選中恃慧,則刪除光標(biāo)所在行,如果選中渺蒿,則會刪除選中所在的所有行痢士。
- ****快捷鍵:Cmd + Delete(OS X)、Ctrl + Y(Windows/Linux)
32. 行復(fù)制(Duplicate Line)
- 描述:復(fù)制當(dāng)前行,并粘貼到下一行怠蹂,這個(gè)操作不會影響剪貼板的內(nèi)容善延。這個(gè)命令配合移動行快捷鍵非常有用。
- ****快捷鍵:Cmd + D(OS X)城侧、Ctrl + D(Windows/Linux)
[圖片上傳失敗...(image-befaa0-1572404572909)]
33. 編寫正則表達(dá)式(Edit Regex)
-
描述:使用Java編寫正則表達(dá)式是一件很困難的事易遣,主要原因是:
- 你必須得避開反斜杠;
- 說實(shí)話嫌佑,正則很難豆茫;
- 看第二條。
IDE能幫我們干點(diǎn)啥呢屋摇?當(dāng)然是一個(gè)舒服的界面來編寫和測試正則啦~ - ****快捷鍵:Alt + Enter → check regexp
34. 使用Enter和Tab進(jìn)行代碼補(bǔ)全的差別(Enter vs Tab for Code Completion)
- 描述:代碼補(bǔ)全時(shí)揩魂,可以使用Enter或Tab來進(jìn)行補(bǔ)全操作,但是兩者是有差別的炮温。
- 使用Enter時(shí):從光標(biāo)處插入補(bǔ)全的代碼火脉,對原來的代碼不做任何操作。
- 使用Tab時(shí):從光標(biāo)處插入補(bǔ)全的代碼柒啤,并刪除后面的代碼忘分,直到遇到點(diǎn)號、圓括號白修、分號或空格為止妒峦。
35. 提取方法(Extract Method)
- 描述:提取一段代碼塊,生成一個(gè)新的方法兵睛。當(dāng)你發(fā)現(xiàn)某個(gè)方法里面過于復(fù)雜肯骇,需要將某一段代碼提取成單獨(dú)的方法時(shí),該技巧是很有用的祖很。
- 調(diào)用:Menu → Refactor → Extract → Method
- ****快捷鍵:Cmd + Alt + M(OS X)笛丙、Ctrl + Alt + M(Windows/Linux);
- 更多:在提取代碼的對話框假颇,你可以更改方法的修飾符和參數(shù)的變量名胚鸯。
36. 提取參數(shù)(Extract Parameter)
- 描述:這是一個(gè)提取參數(shù)的快捷操作。當(dāng)你覺得可以通過提取參數(shù)來優(yōu)化某個(gè)方法的時(shí)候笨鸡,這個(gè)技巧將很有用姜钳。該操作會將當(dāng)前值作為一個(gè)方法的參數(shù),將舊的值放到方法調(diào)用的地方形耗,作為傳進(jìn)來的參數(shù)哥桥。
- 調(diào)用:Menu → Refactor → Extract → Parameter
- ****快捷鍵:Cmd + Alt + P(OS X)、Ctrl + Alt + P(Windows/Linux)激涤;
- 更多:通過勾選“delegate”拟糕,可以保持舊的方法,重載生成一個(gè)新方法。
37. 提取變量(Extract Variable)
- 描述:這是一個(gè)提取變量的快捷操作送滞。當(dāng)你在沒有寫變量聲明的直接寫下值的時(shí)候侠草,這是一個(gè)很方便生成變量聲明的操作,同時(shí)還會給出一個(gè)建議的變量命名犁嗅。
- 調(diào)用:Menu → Refactor → Extract → Variable
- ****快捷鍵:Cmd + Alt + V(OS X)梦抢、Ctrl + Alt + V(Windows/Linux);
- 更多:當(dāng)你需要改變變量聲明的類型愧哟,例如使用 List 替代 ArrayList奥吩,可以按下Shift + Tab,就會顯示所有可用的變量類型蕊梧。
38. 內(nèi)置(Inline)
- 描述:當(dāng)你開始對提取操作有點(diǎn)興奮的時(shí)候霞赫,突然覺得東西太多了,怎么辦呢肥矢?這是一個(gè)和提取相反的操作端衰。該操作對方法、字段甘改、參數(shù)和變量均有效旅东。
- 調(diào)用:Menu → Refactor → Inline
- ****快捷鍵:Cmd + Alt + N(OS X)、Ctrl + Alt + N(Windows/Linux)十艾;
39. 合并行和文本(Join Lines and Literals)
-
描述:這個(gè)操作比起在行末使勁按刪除鍵爽多了抵代!該操作遵守格式化規(guī)則,同時(shí):
- 合并兩行注釋忘嫉,同時(shí)移除多余的
//
荤牍; - 合并多行字符串,移除
+
和雙引號庆冕; - 合并字段的聲明和初始化賦值康吵;
- 合并兩行注釋忘嫉,同時(shí)移除多余的
- ****快捷鍵:Ctrl + Shift + J;
40. 動態(tài)模板(Live Templates)
- 描述:動態(tài)模板是一種快速插入代碼片段的方法访递,使用動態(tài)模板比較有意思的是你可以使用合適的默認(rèn)值將模板參數(shù)化晦嵌,當(dāng)你插入代碼片段時(shí),這可以指導(dǎo)你完成參數(shù)拷姿。
- 更多:如果你知道模板的縮寫惭载,就可以不必使用快捷鍵,只需要鍵入縮寫并使用Tab鍵補(bǔ)全即可跌前。
- ****快捷鍵:Cmd + J(OS X)棕兼、Ctrl + J(Windows/Linux);
41. 上下移動行(Move Lines Up Down)
- 描述:不需要復(fù)制粘貼就可以上下移動行了陡舅。
- ****快捷鍵:Alt + Shift + Up/Down抵乓;
42. 移動方法(Move Methods)
- 描述:這個(gè)操作和移動行操作很類似,不過該操作是應(yīng)用于整個(gè)方法的,在不需要復(fù)制灾炭、粘貼的情況下茎芋,就可以將整個(gè)方法塊移動到另一個(gè)方法的前面或后面。該操作的實(shí)際叫做“移動語句”蜈出,這意味著你可以移動任何類型的語句田弥,你可以方便地調(diào)整字段或內(nèi)部類的順序。
- ****快捷鍵:Cmd + Alt + Up/Down(OS X)铡原、Ctrl + Shift + Up/Down(Windows/Linux);
43. 取反補(bǔ)全(Negation Completion)
-
描述:有時(shí)你自動補(bǔ)全一個(gè)布爾值偷厦,然后回到該值的前面添加一個(gè)感嘆號來完成取反操作,現(xiàn)在通過使用輸入
!
代替enter
完成補(bǔ)全操作燕刻,就可以跳過這些繁瑣的操作了只泼。 - ****快捷鍵:代碼補(bǔ)全的時(shí)候,按下
!
即可(有時(shí)需要上下鍵選中候選項(xiàng))卵洗;
44. 后綴補(bǔ)全(Postfix Completion)
- 描述:你可以認(rèn)為該操作是一種代碼補(bǔ)全请唱,它會在點(diǎn)號之前生成代碼,而不是在點(diǎn)號之后过蹂。實(shí)際上你調(diào)用這個(gè)操作和正常的代碼補(bǔ)全操作一樣:在一個(gè)表達(dá)式之后輸入點(diǎn)號十绑。
例如對一個(gè)列表進(jìn)行遍歷,你可以輸入myList.for
酷勺,然后按下Tab鍵本橙,就會自動生成for
循環(huán)代碼。
調(diào)用: 你可以在某個(gè)表達(dá)式后面輸入點(diǎn)號脆诉,出現(xiàn)一個(gè)候選列表勋功,在常規(guī)的代碼補(bǔ)全提示就可以看到一系列后綴補(bǔ)全關(guān)鍵字,同樣的库说,你也可以在
Editor → Postfix Completion
中看到一系列后綴補(bǔ)全關(guān)鍵字狂鞋。-
常用的有后綴補(bǔ)全關(guān)鍵字有:
- .for (補(bǔ)全foreach語句)
-
.format (使用
String.format()
包裹一個(gè)字符串) - .cast (使用類型轉(zhuǎn)化包裹一個(gè)表達(dá)式)
45. 重構(gòu)(Refactor This)
描述:該操作可以顯示所有對當(dāng)前選中項(xiàng)可行的重構(gòu)方法。這個(gè)列表可以用數(shù)字序號快速選擇潜的。
****快捷鍵:Ctrl + T(OS X)骚揍、Ctrl + Alt + Shift + T(Windows/Linux)
46. 重命名(Rename)
- 描述:你可以通過該操作重命名變量、字段啰挪、方法信不、類、包亡呵。當(dāng)然了抽活,該操作會確保重命名對上下文有意義,不會無腦替換掉所有文件中的名字锰什;
- ****快捷鍵:Shift + F6
- 更多:如果你忘記了這個(gè)快捷鍵下硕,你可以使用快速修復(fù)(Quick Fix)的快捷鍵丁逝,它通常包含重命名選項(xiàng)。
47. 分號/點(diǎn) 補(bǔ)全(Semicolon Dot Completion)
- 描述:代碼補(bǔ)全這個(gè)功能太棒啦梭姓!我們大概都對以下這種情況很熟悉:開始輸入點(diǎn)什么東西霜幼,接著從IDE得 到一些建議的選項(xiàng),然后通過Enter或者Tab來選擇我們想要的補(bǔ)全代碼誉尖。其實(shí)還有另外一種方法來選擇補(bǔ)全的代碼:我們可以輸入一個(gè)點(diǎn)(.)或者一個(gè)分 號(;)罪既。這樣就會完成補(bǔ)全,添加所選字符铡恕。這在結(jié)束一條語句補(bǔ)全或者快速鏈?zhǔn)秸{(diào)用方法的時(shí)候特別有用琢感。
- 注意點(diǎn):如果你要代碼補(bǔ)全的方法需要參數(shù),這些參數(shù)會被略過探熔。
- ****快捷鍵:Autocomplete + “.” 或者 “;”
48. 包裹代碼(Surround With)
描述: 該操作可以用特定代碼結(jié)構(gòu)包裹住選中的代碼塊猩谊,通常是if語句,循環(huán)祭刚,try/catch語句或者runnable語句牌捷。 如果你沒有選中任何東西,該操作會包裹當(dāng)前一整行涡驮。
****快捷鍵:Cmd + Alt + T(OS X)暗甥、Ctrl + Alt + T(Windows/Linux)
49. 移除包裹代碼(Unwrap Remove)
描述:該操作會移除周圍的代碼,它可能是一條if語句捉捅,一個(gè)while循環(huán)撤防,一個(gè)try/catch語句甚至是一個(gè)runnable語句。該操作恰恰和包裹代碼(Surround With)相反棒口。
****快捷鍵:Cmd + Shift + Delete(OS X)寄月、Ctrl + Shift + Delete(Windows/Linux)
調(diào)試技巧
50. 分析傳入數(shù)據(jù)流(Analyze data flow to here)
- 描述:這個(gè)操作將會根據(jù)當(dāng)前選中的變量、參數(shù)或者字段无牵,分析出其傳遞到此處的路徑漾肮。 當(dāng)你進(jìn)入某段陌生的代碼,試圖明白某個(gè)參數(shù)是怎么傳遞到此處的時(shí)候茎毁,這是一個(gè)非常有用的操作克懊。
- 調(diào)用:Menu → Analyze → Analyze Data Flow to Here
- ****快捷鍵:無,可以在設(shè)置中指定七蜘。
- 相反的操作:分析傳出數(shù)據(jù)流(Analyze data flow from here)谭溉,這個(gè)將會分析當(dāng)前選中的變量往下傳遞的路徑,直到結(jié)束橡卤。
51. 堆棧追蹤分析(Analyze Stacktrace)
- 描述: 這個(gè)操作讀取一份堆棧追蹤信息扮念,并且使它像logcat中那樣可以點(diǎn)擊。當(dāng)你從bug報(bào)告中或者終端復(fù)制了一份堆棧追蹤碧库,使用該操作可以很方便地調(diào)試柜与。
- 調(diào)用:Menu → Analyze → Analyze Stacktrace
- ****快捷鍵:無巧勤,可以在設(shè)置中指定。
- 更多:通過使用“ProGuard Unscramble Plugin”插件旅挤,也可以分析混淆過的堆棧追蹤踢关。
52. 關(guān)聯(lián)調(diào)試程序(Attach Debugger)
- 描述:隨時(shí)啟動調(diào)試程序伞鲫,即使你沒有以調(diào)試模式啟動你的應(yīng)用粘茄。這是一個(gè)很方便的操作,因?yàn)槟悴槐貫榱苏{(diào)試程序而以調(diào)試模式重新部署你的應(yīng)用秕脓。當(dāng)別人正在測試應(yīng)用柒瓣,突然遇到一個(gè)bug而將設(shè)備交給你時(shí),你也可以很快地進(jìn)入調(diào)試模式吠架。
- 調(diào)用:點(diǎn)擊工具欄圖標(biāo)或者M(jìn)enu → Build → Attach to Android Process
- ****快捷鍵:無芙贫,可以在設(shè)置中指定,或者點(diǎn)擊工具欄對應(yīng)的圖標(biāo)傍药。
53. 條件斷點(diǎn)(Conditional Breakpoints)
- 描述:簡單說磺平,就是當(dāng)設(shè)定的條件滿足時(shí),才會觸發(fā)斷點(diǎn)拐辽。你可以基于當(dāng)前范圍輸入一個(gè)java布爾表達(dá)式拣挪,并且條件輸入框內(nèi)是支持代碼補(bǔ)全的。
- 調(diào)用:右鍵需要填寫表達(dá)式的斷點(diǎn)俱诸,然后輸入布爾表達(dá)式菠劝。
54. 禁用斷點(diǎn)(Disable Breakpoints)
- 這個(gè)操作將使得斷點(diǎn)。當(dāng)你有一個(gè)設(shè)置過復(fù)雜條件的斷點(diǎn)或者是日志斷點(diǎn),當(dāng)前不需要,但是下次又不用重新創(chuàng)建有序,該操作是很方便的贸呢。
- 調(diào)用:按住Alt,然后單擊斷點(diǎn)即可静盅。
55. 計(jì)算表達(dá)式(Evaluate Expression)
- 描述:這個(gè)操作可以用來查看變量的內(nèi)容并且計(jì)算幾乎任何有效的java表達(dá)式。需要注意的是,如果你修改了變量的狀態(tài)辙喂,這個(gè)狀態(tài)在你恢復(fù)代碼執(zhí)行后依然會保留。
- ****快捷鍵:處在斷點(diǎn)狀態(tài)時(shí)鸠珠,光標(biāo)放在變量處巍耗,按Alt + F8,即可顯示計(jì)算表達(dá)式對話框渐排。
56. 審查變量(Inspect Variable)
- 描述:該操作可以在不打開計(jì)算表達(dá)式對話框就能審查表達(dá)式的值炬太。
- ****快捷鍵:調(diào)試狀態(tài)下,按住Alt鍵驯耻,然后單擊表達(dá)式即可亲族。
57. 日志斷點(diǎn)(Logging Breakpoints)
-
描述:這是一種打印日志而不是暫停的斷點(diǎn)炒考,當(dāng)你想打印一些日志信息但是不想添加
log
代碼后重新部署項(xiàng)目,這是一個(gè)非常有用的操作霎迫。 -
調(diào)用:在斷點(diǎn)上右鍵斋枢,取消
Suspend
的勾選,然后勾選上Log evaluated Expression
知给,并在輸入框中輸入你要打印的日志信息瓤帚。
[圖片上傳失敗...(image-bf331c-1572404572908)]
58. 標(biāo)記對象(Mark Object)
- 描述:當(dāng)你在調(diào)試的時(shí)候,這個(gè)操作可以讓你給某個(gè)特殊的對象添加一個(gè)標(biāo)簽涩赢,方便你后面很快地辨認(rèn)戈次。在調(diào)試時(shí),當(dāng)你從一堆相似的對象中查看某個(gè)對象是否和之前是一樣的筒扒,這就是一個(gè)非常有用的操作怯邪。
-
調(diào)用:右鍵你需要標(biāo)記的對象,選中
Mark Object
花墩,輸入標(biāo)簽悬秉; - ****快捷鍵:選中對象時(shí),按F3(OS X)冰蘑、F11(Windows/Linux)和泌;
59. 顯示當(dāng)前運(yùn)行點(diǎn)(Show Execution Point)
- 描述:該操作會立刻把你的光標(biāo)移回到當(dāng)前debug處。
通常的情況是: 1. 你在某處觸發(fā)了斷點(diǎn) 2. 然后在文件中隨意瀏覽 3. 直接調(diào)用這個(gè)快捷鍵懂缕,快速返回之前逐步調(diào)試的地方允跑。
- ****快捷鍵:(Debug時(shí)) Alt + F10;
60. 終止進(jìn)程(Stop Process)
- 描述:該操作會終止當(dāng)前正在運(yùn)行的任務(wù)搪柑。如果任務(wù)數(shù)量大于一聋丝,則顯示一個(gè)列表供你選擇。在終止調(diào)試或者中止編譯的時(shí)候特別有用工碾!
- ****快捷鍵:Cmd + F2(OS X)弱睦、Ctrl + F2(Windows、Linux)渊额;
61. 臨時(shí)斷點(diǎn)(Temporary Breakpoints)
描述:通過該操作可以添加一個(gè)斷點(diǎn)况木,這個(gè)斷點(diǎn)會在第一次被命中的時(shí)候自動移除。
****快捷鍵:Alt + 鼠標(biāo)左鍵 點(diǎn)擊代碼左側(cè)(鼠標(biāo))旬迹、Cmd + Alt + Shift + F8(OS X)火惊、Ctrl + Alt + Shift + F8(Windows/Linux)
62. 調(diào)用層級樹彈窗(The Call Hierarchy Popup)
描述:該操作會給你展示 在一個(gè)方法的聲明和調(diào)用之間所有可能的路徑。
****快捷鍵:Ctrl + Alt + H
[圖片上傳失敗...(image-a39297-1572404572907)]