最近在讀徐老師的書看到有對Android Studio功能的講解,學到了到了許多新的東西,所以就花點時間整理學習下(基于Windows)。本文提及的都是Android Studio默認的快捷鍵。
快捷鍵
書簽(Bookmarks)
添加/移除書簽 : F11
-
添加/移除帶標記的書簽: Ctrl + F11
書簽可以在Favorites窗口(可以通過Alt + 2打開)查看,通過點擊可以鎖定到目標位置;帶標記的書簽可以通過Shift + 標記可以快速到達目標位置。書簽在查看開源項目和源碼時十分好用。
高亮一切(Hightlight All the Things)
快捷鍵 : Ctrl + Shift + F7
-
退出高亮 : Esc
如果高亮一個方法的return或throw語句,將會高亮這個方法的所有出口/結束點;如果高亮某個類定義處的extend或implements語句,將會高亮繼承的或實現的方法;高亮一個import語句也會高亮使用到的地方。
上一個編輯位置(Last Edit Location)
-
快捷鍵 : Ctrl + Shift + Backspace
該操作將使得你導航到上一處你改動過的地方,這與點擊工具欄上的返回箭頭回到上一個定位位置是不一樣的,該操作將會返回到上一個編輯的位置(跨窗口)。
定位到父類(Navigate to parent)
-
快捷鍵 : Ctrl + U
如果光標是在一個繼承父類重寫的方法里,這個操作將定位到父類實現的地方。如果光標是在類名上,則定位到父類類名。
快速查看定義(Quick Definition Lookup)
-
快捷鍵 : Ctrl + Shift + I
在當前界面查看一個類具體方法的實現。
Sublime Text式的多處選擇(Sublime Text Multi Selection)
快捷鍵 : Alt + J
該操作會識別當前選中字符串,選擇下一個同樣的字符串,并且添加一個光標。這意味著你可以在同一個文件里擁有多個光標,你可以同時在所有光標處輸入任何東西。在修改變量名的時候非常好用。
- 列選擇/塊選擇(Column Selection)
- 快捷鍵 : 按住Alt,然后拖動鼠標選擇。(也可以通過Alt + Shift + Insert來一直打開或關閉)
正常選擇時,當你向下選擇時,會直接將當前行到行尾都選中,而塊選擇模式下,則是根據鼠標選中的矩形區域來選擇。
- 語句補全(Complete Statement)
- 快捷鍵 : Ctrl + Shift + Enter
- 這個方法將會生成缺失的代碼來補全語句,常用的使用場景如下:
- 在行末添加一個分號,即使光標不在行末;
- 為if、while、for 語句生成圓括號和大括號;
- 方法聲明后,添加大括號;
刪除行(Delete Line)
快捷鍵 : Ctrl + Y
如果沒選中,則刪除光標所在行,如果選中,則會刪除選中所在的所有行。行復制(Duplicate Line)
快捷鍵 : Ctrl + D
復制當前行,并粘貼到下一行,這個操作不會影響剪貼板的內容。
- 編寫正則表達式(Edit Regex)
- 快捷鍵 : 快捷鍵:Alt + Enter → check regexp
使用Java編寫正則表達式很難,你必須得避開反斜杠;而且記不住那些對應關系。
- 使用Enter和Tab進行代碼補全的差別(Enter vs Tab for Code Completion)
- 使用Enter時:從光標處插入補全的代碼,對原來的代碼不做任何操作。
- 使用Tab時:從光標處插入補全的代碼,并刪除后面的代碼,直到遇到點號、圓括號、分號或空格為止。
- 提取方法(Extract Method)
- 快捷鍵 : Ctrl + Alt + M
提取一段代碼塊,生成一個新的方法。當你發現某個方法里面過于復雜,需要將某一段代碼提取成單獨的方法時,該技巧是很有用的。在提取代碼的對話框,你可以更改方法的修飾符和參數的變量名。
- 提取參數(Extract Parameter)
- 快捷鍵 : Ctrl + Alt + P
這是一個提取參數的快捷操作。當你覺得可以通過提取參數來優化某個方法的時候,這個技巧將很有用。該操作會將當前值作為一個方法的參數,將舊的值放到方法調用的地方,作為傳進來的參數。通過勾選“delegate”,可以保持舊的方法,重載生成一個新方法。
- 合并行和文本(Join Lines and Literals)
- 快捷鍵 : Ctrl + Shift + J
- 這個操作比起在行末使勁按刪除鍵爽多了!該操作遵守格式化規則,同時:
- 合并兩行注釋,同時移除多余的 //;
- 合并多行字符串,移除 + 和雙引號;
- 合并字段的聲明和初始化賦值;
上下移動行(Move Lines Up Down)
快捷鍵 : Alt + Shift + Up/Down
不需要復制粘貼就可以上下移動行了。移動方法(Move Methods)
快捷鍵 : Ctrl + Shift + Up/Down
這個操作和移動行操作很類似,不過該操作是應用于整個方法的,在不需要復制、粘貼的情況下,就可以將整個方法塊移動到另一個方法的前面或后面。該操作的實際叫做“移動語句”,這意味著你可以移動任何類型的語句,你可以方便地調整字段或內部類的順序。
- 取反補全(Negation Completion)
- 快捷鍵 : 代碼補全的時候,按下 ! 即可(有時需要上下鍵選中候選項)
有時你自動補全一個布爾值,然后回到該值的前面添加一個感嘆號來完成取反操作,現在通過使用輸入!代替enter完成補全操作,就可以跳過這些繁瑣的操作了。
重命名(Rename)
快捷鍵 : Shift + F6
你可以通過該操作重命名變量、字段、方法、類、包。當然了,該操作會確保重命名對上下文有意義,不會無腦替換掉所有文件中的名字。包裹代碼(Surround With)
快捷鍵 : Ctrl + Alt + T
該操作可以用特定代碼結構包裹住選中的代碼塊,通常是if語句,循環,try/catch語句或者runnable語句。 如果你沒有選中任何東西,該操作會包裹當前一整行。
- 移除包裹代碼(Unwrap Remove)
- 快捷鍵 : Ctrl + Shift + Delete
該操作會移除周圍的代碼,它可能是一條if語句,一個while循環,一個try/catch語句甚至是一個runnable語句。該操作恰恰和包裹代碼相反。
實用工具
- 分析傳入數據流(Analyze data flow to here)
- 調用 : 右鍵→ Analyze → Analyze Data Flow to Here
這個操作將會根據當前選中的變量、參數或者字段,分析出其傳遞到此處的路徑。 當你進入某段陌生的代碼,試圖明白某個參數是怎么傳遞到此處的時候,這是一個非常有用的操作。分析傳出數據流(Analyze data flow from here),這個將會分析當前選中的變量往下傳遞的路徑,直到結束。
- 條件斷點(Conditional Breakpoints)
- 調用:右鍵需要填寫表達式的斷點,然后輸入布爾表達式。
簡單說,就是當設定的條件滿足時,才會觸發斷點。你可以基于當前范圍輸入一個java布爾表達式,并且條件輸入框內是支持代碼補全的。
- 調用:右鍵需要填寫表達式的斷點,然后輸入布爾表達式。
- 禁用斷點(Disable Breakpoints)
- 調用:按住Alt,然后單擊斷點即可
- 計算表達式(Evaluate Expression)
- 快捷鍵:處在斷點狀態時,光標放在變量處,按Alt + F8,即可顯示計算表達式對話框
- 日志斷點(Logging Breakpoints)
- 調用:在斷點上右鍵,取消Suspend的勾選,然后勾選上Log evaluated Expression,并在輸入框中輸入你要打印的日志信息
這是一種打印日志而不是暫停的斷點
我只是挑出了一些經常會用到的快捷鍵和功能列了出來,太多了我自己也記不住,更全更詳細的內容請移步最強 Android Studio 使用小技巧和快捷鍵。
Android攻城獅—全套必備神級工具(開發,插件,效率)這篇文章介紹了許多實用的插件,感興趣的可以看一下
參考書籍:
《Android 群英傳 : 神兵利器》 徐宜生老師
參考鏈接:
最強 Android Studio 使用小技巧和快捷鍵
Android攻城獅—全套必備神級工具(開發,插件,效率)