你真的會用Android Studio么

最近在讀徐老師的書看到有對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攻城獅—全套必備神級工具(開發,插件,效率)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,835評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,676評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,730評論 0 380
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,118評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,873評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,266評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,330評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,482評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,036評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,846評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,025評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,575評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,279評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,684評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,953評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,751評論 3 394
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,016評論 2 375

推薦閱讀更多精彩內容