最近在讀徐老師的書看到有對Android Studio功能的講解瘫想,學到了到了許多新的東西,所以就花點時間整理學習下(基于Windows)昌讲。本文提及的都是Android Studio默認的快捷鍵国夜。
快捷鍵
書簽(Bookmarks)
添加/移除書簽 : F11
-
添加/移除帶標記的書簽: Ctrl + F11
書簽可以在Favorites窗口(可以通過Alt + 2打開)查看,通過點擊可以鎖定到目標位置短绸;帶標記的書簽可以通過Shift + 標記可以快速到達目標位置支竹。書簽在查看開源項目和源碼時十分好用。
高亮一切(Hightlight All the Things)
快捷鍵 : Ctrl + Shift + F7
-
退出高亮 : Esc
如果高亮一個方法的return或throw語句鸠按,將會高亮這個方法的所有出口/結(jié)束點礼搁;如果高亮某個類定義處的extend或implements語句,將會高亮繼承的或?qū)崿F(xiàn)的方法目尖;高亮一個import語句也會高亮使用到的地方馒吴。
上一個編輯位置(Last Edit Location)
-
快捷鍵 : Ctrl + Shift + Backspace
該操作將使得你導航到上一處你改動過的地方,這與點擊工具欄上的返回箭頭回到上一個定位位置是不一樣的瑟曲,該操作將會返回到上一個編輯的位置(跨窗口)饮戳。
定位到父類(Navigate to parent)
-
快捷鍵 : Ctrl + U
如果光標是在一個繼承父類重寫的方法里,這個操作將定位到父類實現(xiàn)的地方洞拨。如果光標是在類名上扯罐,則定位到父類類名。
快速查看定義(Quick Definition Lookup)
-
快捷鍵 : Ctrl + Shift + I
在當前界面查看一個類具體方法的實現(xiàn)烦衣。
Sublime Text式的多處選擇(Sublime Text Multi Selection)
快捷鍵 : Alt + J
該操作會識別當前選中字符串歹河,選擇下一個同樣的字符串,并且添加一個光標花吟。這意味著你可以在同一個文件里擁有多個光標衅澈,你可以同時在所有光標處輸入任何東西今布。在修改變量名的時候非常好用。
- 列選擇/塊選擇(Column Selection)
- 快捷鍵 : 按住Alt,然后拖動鼠標選擇累奈。(也可以通過Alt + Shift + Insert來一直打開或關閉)
正常選擇時澎媒,當你向下選擇時,會直接將當前行到行尾都選中储玫,而塊選擇模式下撒穷,則是根據(jù)鼠標選中的矩形區(qū)域來選擇端礼。
- 語句補全(Complete Statement)
- 快捷鍵 : Ctrl + Shift + Enter
- 這個方法將會生成缺失的代碼來補全語句,常用的使用場景如下:
- 在行末添加一個分號凡桥,即使光標不在行末缅刽;
- 為if拷恨、while、for 語句生成圓括號和大括號芦疏;
- 方法聲明后,添加大括號分预;
刪除行(Delete Line)
快捷鍵 : Ctrl + Y
如果沒選中笼痹,則刪除光標所在行凳干,如果選中救赐,則會刪除選中所在的所有行经磅。行復制(Duplicate Line)
快捷鍵 : Ctrl + D
復制當前行预厌,并粘貼到下一行轧叽,這個操作不會影響剪貼板的內(nèi)容犹芹。
- 編寫正則表達式(Edit Regex)
- 快捷鍵 : 快捷鍵:Alt + Enter → check regexp
使用Java編寫正則表達式很難,你必須得避開反斜杠屿笼;而且記不住那些對應關系驴一。
- 使用Enter和Tab進行代碼補全的差別(Enter vs Tab for Code Completion)
- 使用Enter時:從光標處插入補全的代碼肝断,對原來的代碼不做任何操作担扑。
- 使用Tab時:從光標處插入補全的代碼涌献,并刪除后面的代碼燕垃,直到遇到點號卜壕、圓括號印叁、分號或空格為止轮蜕。
- 提取方法(Extract Method)
- 快捷鍵 : Ctrl + Alt + M
提取一段代碼塊跃洛,生成一個新的方法汇竭。當你發(fā)現(xiàn)某個方法里面過于復雜细燎,需要將某一段代碼提取成單獨的方法時玻驻,該技巧是很有用的璧瞬。在提取代碼的對話框渐夸,你可以更改方法的修飾符和參數(shù)的變量名墓塌。
- 提取參數(shù)(Extract Parameter)
- 快捷鍵 : Ctrl + Alt + P
這是一個提取參數(shù)的快捷操作。當你覺得可以通過提取參數(shù)來優(yōu)化某個方法的時候披坏,這個技巧將很有用盐数。該操作會將當前值作為一個方法的參數(shù)玫氢,將舊的值放到方法調(diào)用的地方漾峡,作為傳進來的參數(shù)生逸。通過勾選“delegate”槽袄,可以保持舊的方法锋谐,重載生成一個新方法乾戏。
- 合并行和文本(Join Lines and Literals)
- 快捷鍵 : Ctrl + Shift + J
- 這個操作比起在行末使勁按刪除鍵爽多了鼓择!該操作遵守格式化規(guī)則呐能,同時:
- 合并兩行注釋催跪,同時移除多余的 //夷野;
- 合并多行字符串悯搔,移除 + 和雙引號;
- 合并字段的聲明和初始化賦值铸豁;
上下移動行(Move Lines Up Down)
快捷鍵 : Alt + Shift + Up/Down
不需要復制粘貼就可以上下移動行了节芥。移動方法(Move Methods)
快捷鍵 : Ctrl + Shift + Up/Down
這個操作和移動行操作很類似,不過該操作是應用于整個方法的魄幕,在不需要復制纯陨、粘貼的情況下翼抠,就可以將整個方法塊移動到另一個方法的前面或后面机久。該操作的實際叫做“移動語句”,這意味著你可以移動任何類型的語句胧弛,你可以方便地調(diào)整字段或內(nèi)部類的順序结缚。
- 取反補全(Negation Completion)
- 快捷鍵 : 代碼補全的時候红竭,按下 ! 即可(有時需要上下鍵選中候選項)
有時你自動補全一個布爾值茵宪,然后回到該值的前面添加一個感嘆號來完成取反操作稀火,現(xiàn)在通過使用輸入!代替enter完成補全操作凰狞,就可以跳過這些繁瑣的操作了。
重命名(Rename)
快捷鍵 : Shift + F6
你可以通過該操作重命名變量、字段逾冬、方法分冈、類霸株、包去件。當然了尤溜,該操作會確保重命名對上下文有意義宫莱,不會無腦替換掉所有文件中的名字。包裹代碼(Surround With)
快捷鍵 : Ctrl + Alt + T
該操作可以用特定代碼結(jié)構(gòu)包裹住選中的代碼塊碘耳,通常是if語句框弛,循環(huán)斗搞,try/catch語句或者runnable語句慷妙。 如果你沒有選中任何東西溅呢,該操作會包裹當前一整行澡屡。
- 移除包裹代碼(Unwrap Remove)
- 快捷鍵 : Ctrl + Shift + Delete
該操作會移除周圍的代碼,它可能是一條if語句室埋,一個while循環(huán),一個try/catch語句甚至是一個runnable語句腌逢。該操作恰恰和包裹代碼相反搏讶。
實用工具
- 分析傳入數(shù)據(jù)流(Analyze data flow to here)
- 調(diào)用 : 右鍵→ Analyze → Analyze Data Flow to Here
這個操作將會根據(jù)當前選中的變量媒惕、參數(shù)或者字段,分析出其傳遞到此處的路徑肴盏。 當你進入某段陌生的代碼叁鉴,試圖明白某個參數(shù)是怎么傳遞到此處的時候幌墓,這是一個非常有用的操作常侣。分析傳出數(shù)據(jù)流(Analyze data flow from here),這個將會分析當前選中的變量往下傳遞的路徑舞肆,直到結(jié)束。
- 條件斷點(Conditional Breakpoints)
- 調(diào)用:右鍵需要填寫表達式的斷點,然后輸入布爾表達式前方。
簡單說惠险,就是當設定的條件滿足時,才會觸發(fā)斷點趣竣。你可以基于當前范圍輸入一個java布爾表達式,并且條件輸入框內(nèi)是支持代碼補全的宵呛。
- 調(diào)用:右鍵需要填寫表達式的斷點,然后輸入布爾表達式前方。
- 禁用斷點(Disable Breakpoints)
- 調(diào)用:按住Alt,然后單擊斷點即可
- 計算表達式(Evaluate Expression)
- 快捷鍵:處在斷點狀態(tài)時,光標放在變量處须鼎,按Alt + F8,即可顯示計算表達式對話框
- 日志斷點(Logging Breakpoints)
- 調(diào)用:在斷點上右鍵府蔗,取消Suspend的勾選晋控,然后勾選上Log evaluated Expression,并在輸入框中輸入你要打印的日志信息
這是一種打印日志而不是暫停的斷點
我只是挑出了一些經(jīng)常會用到的快捷鍵和功能列了出來姓赤,太多了我自己也記不住赡译,更全更詳細的內(nèi)容請移步最強 Android Studio 使用小技巧和快捷鍵。
Android攻城獅—全套必備神級工具(開發(fā)不铆,插件蝌焚,效率)這篇文章介紹了許多實用的插件裹唆,感興趣的可以看一下
參考書籍:
《Android 群英傳 : 神兵利器》 徐宜生老師
參考鏈接:
最強 Android Studio 使用小技巧和快捷鍵
Android攻城獅—全套必備神級工具(開發(fā),插件只洒,效率)