比較完整的 Android Studio 快捷小技巧
整理 Android群英傳 和網上出現的比較完整 AS 的快捷小技巧. mac 版已測, win 大部分已測試. 最后有一個整理的完整 快捷鍵表格 . win也好mac也好, 如果快捷被修改還是錯誤, 都可以通過提供的 Keymap中的關鍵字 來進行重設. 圖中 gif 如果看不清, 放大頁面即可.
單詞選擇
一般 IDE 通過 option + 方向鍵左右 (win為 ctrl + 左右方向鍵 )對光標進行單詞的跳動, 但是由于我們使用駝峰式命名較多, 默認的會導致由多個單詞組成的駝峰式的首尾跳轉. 還好 AS 可以對這種風格進行設定.
默認效果
修改后的效果
修改步驟
打開 偏好設置 如圖片設置
顯示最近操作, 修改的文件
例如: 我打開了 main_activity.xml 布局文件, 然后關閉頁面. 這個時候 Command + E , 就會如下顯示之前的操作文件.
那么如果要查看之前修改過的文件, Command + Shift + E 即可. 可以配合 Control + Tab 進行快速界面的切換.
快捷鍵
- 最近操作
- Command + E (mac)
- ctrl + E (win)
- 最近修改
- Command + Shift + E (mac)
- ctrl + shift + enter (win)
文件查找
search Everywhere
項目中的全局查找功能文件功能
查找類文件
- command + o (mac)
- ctrl + n (win)
默認只是在項目代碼中查找類文件, 如果需要查找 sdk 或者類庫中的相關類. 再按一次快捷鍵, 或者勾選下圖選項搜索全局類文件
查找文件
這個級別比上面那個更廣. 包括所有文件, 如 xml 等.
- command + shift + o (mac)
- ctrl + shift + n (win)
如上如果需要搜索類庫或者源碼, 請在按一次快捷鍵, 或者勾選 查找類 給出圖中的選項.
操作記錄
在瀏覽代碼結構的時候, 很多時候總是會跟進許多類里面, 如果想回到之前瀏覽調轉點. 那么這個快捷鍵你就必須要記住.
- Command + Option + Left\Right 或者 command + [ , command + ] (mac)
- ctrl + alt + Left\Right (win)
移動行
這個不用太多介紹, 就是 整行 的上下移動.
- Option + shift + 方向鍵上\方向鍵下 (mac)
- alt + shift + 方向鍵上\方向鍵下 (win)
查找方法調用處
場景: 查找一個方法在何處被調用, 或者一個ID在哪里被引用. 選中這個方法 右鍵 , 選擇 Find Usages 即可.
快捷鍵:
- option + F7 (mac)
- alt + F7 (win)
方法的跟進
方法總是伴隨著調轉, 我們也總是會對方法的內部查看細節. 常用的辦法是 按住Command 并點擊方法名 的方式.
也可以在光標所在處直接通過 Command + B 進行方法內部跟進.
- Command + B (mac)
- ctrl + alt + B (win)
顯示方法的參數
當我們使用一個方法的時候, 會在剛開始的時候顯示出所有的參數. 但是過一會可能就不存在了. 這個時候如果你想知道下一個參數是什么類型, 或者看一下所有參數.
快捷鍵:
- command + P (mac)
- ctrl + P (win)
如果你還想查看一下方法的文檔, 不用跟進源碼, 直接 F1 鍵即可顯示出文檔.
行的快速操作
快速刪除行, 其實使用剪切功能就可以 Command + X
快速復制行, 使用 command + D mac , ctrl + D win
多行操作
可能有時候我們會聲明做一系列相關的變量為 float 類型, 但是真實的需要的是 int 類型. 這個時候就可以進行 多重選擇 進行整體修改. 如下圖:
按住 option (win為 alt )鍵, 然后鼠標進行區域的選擇. 然后進行對應修改即可.
你可能認為上面的必須要連續的才可以. 那么如果可以設置 多個光標點 是否就可以滿足你的問題了?
看下圖:
- option + shift + 鼠標點擊 (mac)
- alt + shift + 鼠標點擊 (win)
即可添加一個 編輯光標 . 最后如果不需要那么就 esc 即可關閉多余光標.
快速補全完成
創建一個對象. 或者 findViewById() 有時總需要移動鼠標或者光標到末尾進行 分號 的補全. 這些都可以快捷鍵搞定. 當你用習慣之后, 會非常的方便好用.
- command + shift + enter (mac)
- ctrl + shift + enter (win)
實現的功能
- 方法體大括號的添加
- 行尾分號的添加
- 自動格式化改行操作等
代碼提示
任何地方都可以調出的代碼提示.
control + option + / (不是默認, mac默認為 control + space ). 這里要說的是. 代碼提示之后一般都會 回車鍵 確定. 當按 回車鍵 的時候. 會保留光標之后的內容. 當有的時候我們并不需要. 這個時候你就可以使用 table 鍵進行選擇. 它會將后面的輸入內容刪掉.
win的快捷方式 ctrl + 空格 (win同樣大部分和輸入法沖突, 請手動在AS設置里面 keymap 項查找 completion basic 手動修改快捷鍵)
快速生成變量
比如在方法體中 logi 直接快速生成一個 log 日志輸出的模板, 但是 TAG 這個常量還沒有聲明. 這個時候用光標移動到 TAG 上. 使用快捷鍵提示即可快速生成.
- option + enter (mac)
- alt + enter (win)
變量的快速操作
上圖使用了兩次快捷鍵,
- 第一次: 跳轉到變量的 聲明處
- command + B (mac)
- ctrl + b (win)
- 第二次: 跳轉到變量類型的 定義處
- command + shift + B (mac)
- ctrl + shift + b (win)
代碼折疊
對代碼塊進行折疊和展開.
- command + 加號\減號 (mac)
- ctrl + 加號\減號 (win)
預覽方法定義
如果只想大體了解方法的定義, 而不需要進行方法所在源碼類的跳轉顯示. 可以通過 Command + Y (win快捷鍵為 ctrl + shift + I )來進行預覽
粘貼板管理
對于復制粘貼. 我們習慣只是 單次 的 c+v , 那么如果你想查看之前被覆蓋了的 復制過的 內容. AS 同樣有 復制粘貼板 來管理. 展示最近幾次的復制內容.
- command + shift + v (mac)
- ctrl + shift + v (win)
拆分窗口
只需要在標簽頁上 右鍵 . 選擇 split vertical\horizontal .
變量命名風格
對于 成員變量 應該 m 開頭. 對于 靜態成員 通常是 s 開頭. 可以這樣設置這個風格.
這樣在輸入一個變量的名字時, 就可以自動補全 m 或者 s . 同時在 Extra 代碼的時候, 生成的代碼都可以自動根據這個規則重構.
查看大綱
當一個類很大的時候. 可以通過 command + F12 (win為 ctrl + F12 ) 打開大綱界面. 展示全部的方法和成員變量列表.
并且支持模糊搜索. 來進行篩選顯示. 可以快速的找到要搜索的方法集.
書簽
在瀏覽大型代碼, 或者調試時. 有時可能會需要記住一些關鍵的代碼或者方法. 這個時候就可以使用 書簽 . 來記錄此關鍵代碼. 只需要在點擊需要標記的行, 并按 F3 就會在左側出現一個 小對勾 . 這就說明已經打上了一個書簽.
同時在 Favorites 標簽中, 也可以找到對應的 Bookmarks
可以通過快捷鍵 command + F3 (win為 shift + F11 )快速調出書簽面板, 進行后續的操作.
重構入口
當一個代碼片段準備重構的時候. 可以使用 control + T (win為 ctrl + alt + shift + T )打開重構入口. 或者 右鍵單擊 選擇 Refactor 顯示重構界面.
這里有很多方便的功能. 提成方法等等.
surround With
當對一個段代碼進行, 條件包裹, 捕捉異常, 循環, Runnable等. 可以直接使用快捷的方式, 而不需要手動生成條件在進行代碼塊的 復制-粘貼
快捷鍵
- command + option + T (mac)
- ctrl + alt + T (win)
Extract
你可以經常使用它,提取出一個方法.
不僅僅如此, 你還可以對 xml 中的多個控件相同的屬性進行抽取為 style
是不是很爽?
這是其一, 對于 xml 不僅可以抽取 Style , 還可以抽取布局 Layout
而代碼中, 可以提取各種變量, 參數, 長廊.
代碼模板
AS 中已經內置了很多代碼模板, 你可以很嗖嗖嗖的就完成之前倒背如流的代碼. 如下一小部分
通過快捷鍵可調出這些代碼模板
- command + J (mac)
- ctrl + J (win)
代碼分析
Google 提供了很多代碼分析工具, 這些工具都集中在頂部菜單欄的 Analyze 中.
Inspect Code & Code cleanup
Inspect Code 可以讓 IDE 分析整個工程. 類似于 Lint 分析, 并會給出大致修改意見等
Code cleanup 功能可以進行自動的代碼修復.
Dependencies
通過 Analyze 中的幾個 Dependencies 選項. 可以快速分析項目的依賴.
方法調用棧
對于某些方法來說, 查看它被調用的地方和調用的順序是非常重要的. 可通過 control + option + H 快速查找方法調用棧.
快速斷點
條件斷點 . 主要用在循環體內. 一個循環10次的 for . 只想在第 8 次進入斷點.
和 普通斷點 相似, 一樣先聲明一個斷點. 然后在 普通斷點 上 單擊鼠標右鍵 . 在彈出的菜單填寫斷點條件即可. 如下:
上面圖中 Enable 可以控制 啟用 , 還是 停用 一個斷點.
臨時斷點 . 如果需要一個只執行一次的斷點. 執行完之后斷點自動取消. 那么可以通過快捷點將當前行作為臨時斷點.
- command + option + shift + F8
- ctrl + alt + shift + F8
為了篇幅不是很長, 調試的部分貼一個講解很詳細的帖子
快捷鍵查找表
速查表列出了 keymap 快捷鍵的名稱. 可以直接通過 AS setting 界面搜索 keymap . 通過對應的快捷鍵名稱來添加或者修改快捷鍵.
功能描述 | keymap對應名字 | Mac | Win/Linux |
---|---|---|---|
提示錯誤解決方案 | Show Intention Actions | option + enter | alt + enter |
AS配置界面 | Preferences | command + , | control+alt+S |
工程項目配置界面 | Project Structure | command + ; | Control+Alt+Shift+S |
快速構成代碼 | Code Generate | command + N | alt + insert |
代碼提示 | Completion/Basic | control + space (mac會沖突, 手動修改) | ctrl + 空格 (win同樣大部分和輸入法沖突, 手動修改) |
選擇視圖 | select in any view | option + F1 | alt + F1 |
添加書簽標識 | Toggle Bookmark | option + F3 | ctrl + F11 |
向下移動一行 | Move Line Down | option + shift + Down | alt + shift + Down |
向上移動一行 | Move Line Up | option + shift + Up | alt + shift + Up |
注釋代碼 | Comment with Line Comment | command + / | ctrl + / |
用代碼模板包裹代碼 | surround with Live Template | command + option + J | ctrl + alt + J |
格式化代碼 | Reformat Code | command + option + L | ctrl + alt + L |
Copy Reference | Copy Reference | command + option + shift + C | ctrl + alt + shift + C |
if/try等包裹代碼 | Surround With.. | command + option + T | ctrl + alt + T |
查看聲明 | Declaration | command + B | ctrl + B |
快捷向下復制行 | Duplicate Line or Block | command + D | ctrl + D |
刪除行 | Delete Line | command + delete | ctrl + Y |
快捷最近打開 | Recent Files | command + E | ctrl + E |
查找 | Edit/Find/Find | command + F | ctrl + F |
文件方法結構 | File Structure | command + F12 | ctrl + F12 |
顯示書簽 | Show Bookmarks | command + F3 | shift + F11 |
代碼高亮向下查找 | Move To Next Occurrence | command + G | F3 |
代碼高亮向上查找 | Move To Previous Occurrence | command + shift + G | shift + F3 |
按照模板生成代碼 | Insert Live Template | command + J | ctrl + J |
定位到行 | Navigate/Line | command + L | ctrl + G |
快速到行首/尾 | Move Caret to Line Start/End | command + Left/Right | ctrl + Left/Right |
代碼折疊/展開 | Collapse/Expand | command + 減號/加號 | ctrl + 減號/加號 |
查找類 | Navigate/Class | command + O | ctrl + N |
多行注釋 | * Code/Comment * | command + option + / | ctrl + alt + / |
格式化代碼 | Reformat Code | command + option + L | ctrl + alt + L |
提示參數類型 | Parameter Info | command + P | ctrl + P |
查找替換 | Replace | command + R | ctrl + R |
查找命令 | Find Action | command + shift + A | ctrl + shift + A |
拷貝文件路徑 | Copy Paths | command + shift + C | ctrl + shift + C |
移動代碼塊 | Move Statement Up/Down | command + shift + down/up | ctrl + shift + down/up |
代碼補全 | Complete Current Statement | command + shift + enter | ctrl + shift + enter |
全路徑查找 | Find in Path | command + shift + F | ctrl + shift + F |
代碼高亮 | Highlight Usages in File | command + shift + F7 | alt + J |
窗口內所有代碼折疊/展開 | Collapse/Expand All | command + shift + 減號/加號 | ctrl + shift + 減號/加號 |
查找文件 | Navigate/File | command + shift + O | ctrl + shift + N |
全路徑中替換 | Replace in Path | command + shift + R | ctrl + shift + R |
大小寫轉換 | Toggle Case | command + shift + U | ctrl + shift + U |
顯示粘貼版歷史 | Paste from History | command + shift + V | ctrl + shift + V |
快速查找定義 | command + space | ctrl + shift + I | |
粘貼 | Paste | command + V | ctrl + V |
復制 | Copy | command + C | ctrl + C |
去除無效包引用 | Optimize Imports | control + option + O | ctrl + alt + O |
顯示類關系繼承體系 | Type Hierarchy | control + H | ctrl + H |
快速覆寫方法 | override Methods | control + O | ctrl + O |
查找調用的位置 | Call hierarchy | control + option + H | ctrl + alt + H |
添加書簽 | Toggle Bookmark | F3 | F11 |
擴大縮小選中范圍 | Extend Selection/Shrink Selection | option + UP/Down | ctrl + W + shift + W |
跳轉到父類 | Super method | command + U | ctrl + U |
關閉當前tab標簽 | Editor Tabs / Close | command + W | ctrl + shift + a |
關閉除編輯窗口的其余窗口 | Hide All Tool Windows | command + shift + F12 | ctrl + shift + F12 |
預覽方法定義 | Quick Definition | command + Y | ctrl + shift + I |
返回光標最后編輯位置 | Last Edit Location | command + shift + delete | control + shift + Backspace |
調到代碼塊首部/尾部 | Move Caret To Code Block | Option + Command + [ 或者 ] | Control+[ 或者 ] |
重命名 | Rename | shift + F6 | shift + F6 |
抽取方法 | Extract Method | command + option + M | control+alt+M |
抽取變量 | Extract Variable | command + option + V | control+alt+V |
抽取字段 | Extract Field | command + option + F | control+alt+F |
抽取常量 | Extract Constant | command + option + C | control+alt+C |
抽取參數 | Extract Parameter | command + option + P | control+alt+P |
重構入口 | Refactor This | control + T | ctrl + alt + shift + T |