Android Studio 常用高效快捷鍵
整理
Android群英傳
和網(wǎng)上出現(xiàn)的比較完整AS
的快捷小技巧.mac
版已測,win
大部分已測試. 最后有一個整理的完整快捷鍵表格
. win也好mac也好, 如果快捷被修改還是錯誤, 都可以通過提供的Keymap中的關(guān)鍵字
來進(jìn)行重設(shè).
圖中gif
如果看不清, 放大頁面即可.
<a name="1"/>
常用小操作
<a name="2"/>
單詞選擇
一般IDE
通過option + 方向鍵左右
(win為ctrl + 左右方向鍵
)對光標(biāo)進(jìn)行單詞的跳動, 但是由于我們使用駝峰式命名較多, 默認(rèn)的會導(dǎo)致由多個單詞組成的駝峰式的首尾跳轉(zhuǎn). 還好AS
可以對這種風(fēng)格進(jìn)行設(shè)定.
默認(rèn)效果
修改后的效果
修改步驟
打開偏好設(shè)置如圖片設(shè)置
注意: (感謝樓下朋友的留言钙蒙,指出這個問題)
如果你仍然希望當(dāng)鼠標(biāo)在單詞上雙擊之后選中整個單詞叭爱,需要作如下設(shè)置:
- File | Settings 打開設(shè)置
- 選擇 Editor | General
- 取消選中 ‘Mouse’ | ‘Honor Camel Humps words settings when selecting on double click’
<a name="3"/>
顯示最近操作, 修改的文件
例如: 我打開了main_activity.xml
布局文件, 然后關(guān)閉頁面. 這個時候Command + E
, 就會如下顯示之前的操作文件.
那么如果要查看之前修改過的文件, Command + Shift + E
即可. 可以配合Control + Tab
進(jìn)行快速界面的切換.
快捷鍵
- 最近操作
-
Command + E
(mac) -
ctrl + E
(win)
-
- 最近修改
-
Command + Shift + E
(mac) -
ctrl + shift + enter
(win)
-
<a name="4"/>
文件查找
search Everywhere
項目中的全局查找功能文件功能
查找類文件
-
command + o
(mac) -
ctrl + n
(win)
默認(rèn)只是在項目代碼中查找類文件, 如果需要查找sdk
或者類庫中的相關(guān)類. 再按一次快捷鍵, 或者勾選下圖選項搜索全局類文件
查找文件
這個級別比上面那個更廣. 包括所有文件, 如xml
等.
-
command + shift + o
(mac) -
ctrl + shift + n
(win)
如上如果需要搜索類庫或者源碼, 請在按一次快捷鍵, 或者勾選查找類
給出圖中的選項.
<a name="5"/>
操作記錄
在瀏覽代碼結(jié)構(gòu)的時候, 很多時候總是會跟進(jìn)許多類里面, 如果想回到之前瀏覽調(diào)轉(zhuǎn)點. 那么這個快捷鍵你就必須要記住.
-
Command + Option + Left\Right
或者command + [
,command + ]
(mac) -
ctrl + alt + Left\Right
(win)
<a name="6"/>
移動行
這個不用太多介紹, 就是整行的上下移動.
-
Option + shift + 方向鍵上\方向鍵下
(mac) -
alt + shift + 方向鍵上\方向鍵下
(win)
<a name="7"/>
查找方法調(diào)用處
場景: 查找一個方法在何處被調(diào)用, 或者一個ID在哪里被引用. 選中這個方法右鍵, 選擇Find Usages
即可.
快捷鍵:
-
option + F7
(mac) -
alt + F7
(win)
<a name="8"/>
方法的跟進(jìn)
方法總是伴隨著調(diào)轉(zhuǎn), 我們也總是會對方法的內(nèi)部查看細(xì)節(jié). 常用的辦法是按住Command 并點擊方法名
的方式.
也可以在光標(biāo)所在處直接通過Command + B
進(jìn)行方法內(nèi)部跟進(jìn).
-
Command + B
(mac) -
ctrl + alt + B
(win)
<a name="9"/>
顯示方法的參數(shù)
當(dāng)我們使用一個方法的時候, 會在剛開始的時候顯示出所有的參數(shù). 但是過一會可能就不存在了. 這個時候如果你想知道下一個參數(shù)是什么類型, 或者看一下所有參數(shù).
快捷鍵:
-
command + P
(mac) -
ctrl + P
(win)
如果你還想查看一下方法的文檔, 不用跟進(jìn)源碼, 直接F1
鍵即可顯示出文檔.
<a name="10"/>
行的快速操作
快速刪除行, 其實使用剪切功能就可以Command + X
快速復(fù)制行, 使用command + D
mac, ctrl + D
win
<a name="11"/>
多行操作
可能有時候我們會聲明做一系列相關(guān)的變量為float
類型, 但是真實的需要的是int
類型. 這個時候就可以進(jìn)行多重選擇
進(jìn)行整體修改. 如下圖:
按住option
(win為alt
)鍵, 然后鼠標(biāo)進(jìn)行區(qū)域的選擇. 然后進(jìn)行對應(yīng)修改即可.
你可能認(rèn)為上面的必須要連續(xù)的才可以. 那么如果可以設(shè)置多個光標(biāo)點
是否就可以滿足你的問題了?
看下圖:
-
option + shift + 鼠標(biāo)點擊
(mac) -
alt + shift + 鼠標(biāo)點擊
(win)
即可添加一個編輯光標(biāo)
. 最后如果不需要那么就esc
即可關(guān)閉多余光標(biāo).
<a name="12"/>
快速補(bǔ)全完成
創(chuàng)建一個對象. 或者findViewById()
有時總需要移動鼠標(biāo)或者光標(biāo)到末尾進(jìn)行分號
的補(bǔ)全. 這些都可以快捷鍵搞定. 當(dāng)你用習(xí)慣之后, 會非常的方便好用.
-
command + shift + enter
(mac) -
ctrl + shift + enter
(win)
實現(xiàn)的功能
- 方法體大括號的添加
- 行尾分號的添加
- 自動格式化改行操作等
<a name="13"/>
代碼提示
任何地方都可以調(diào)出的代碼提示.
control + option + /
(不是默認(rèn), mac默認(rèn)為control + space
). 這里要說的是. 代碼提示之后一般都會回車鍵
確定. 當(dāng)按回車鍵
的時候. 會保留光標(biāo)之后的內(nèi)容. 當(dāng)有的時候我們并不需要. 這個時候你就可以使用table
鍵進(jìn)行選擇. 它會將后面的輸入內(nèi)容刪掉.
win的快捷方式ctrl + 空格
(win同樣大部分和輸入法沖突, 請手動在AS設(shè)置里面keymap
項查找completion basic
手動修改快捷鍵)
快速生成變量
比如在方法體中logi
直接快速生成一個log
日志輸出的模板, 但是TAG
這個常量還沒有聲明. 這個時候用光標(biāo)移動到TAG
上. 使用快捷鍵提示即可快速生成.
-
option + enter
(mac) -
alt + enter
(win)
<a name="14"/>
變量的快速操作
上圖使用了兩次快捷鍵,
- 第一次: 跳轉(zhuǎn)到變量的
聲明處
-
command + B
(mac) -
ctrl + b
(win)
-
- 第二次: 跳轉(zhuǎn)到變量類型的
定義處
-
command + shift + B
(mac) -
ctrl + shift + b
(win)
-
<a name="15"/>
代碼折疊
對代碼塊進(jìn)行折疊和展開.
-
command + 加號\減號
(mac) -
ctrl + 加號\減號
(win)
<a name="16"/>
預(yù)覽方法定義
如果只想大體了解方法的定義, 而不需要進(jìn)行方法所在源碼類的跳轉(zhuǎn)顯示. 可以通過Command + Y
(win快捷鍵為ctrl + shift + I
)來進(jìn)行預(yù)覽
<a name="17"/>
粘貼板管理
對于復(fù)制粘貼. 我們習(xí)慣只是單次
的c+v
, 那么如果你想查看之前被覆蓋了的復(fù)制過的
內(nèi)容. AS
同樣有復(fù)制粘貼板
來管理. 展示最近幾次的復(fù)制內(nèi)容.
-
command + shift + v
(mac) -
ctrl + shift + v
(win)
<a name="18"/>
拆分窗口
只需要在標(biāo)簽頁上右鍵
. 選擇split vertical\horizontal
.
<a name="19"/>
變量命名風(fēng)格
對于成員變量
應(yīng)該m
開頭. 對于靜態(tài)成員
通常是s
開頭. 可以這樣設(shè)置這個風(fēng)格.
這樣在輸入一個變量的名字時, 就可以自動補(bǔ)全m
或者s
. 同時在Extra
代碼的時候, 生成的代碼都可以自動根據(jù)這個規(guī)則重構(gòu).
<a name="20"/>
查看大綱
當(dāng)一個類很大的時候. 可以通過command + F12
(win為ctrl + F12
) 打開大綱界面. 展示全部的方法和成員變量列表.
并且支持模糊搜索. 來進(jìn)行篩選顯示. 可以快速的找到要搜索的方法集.
<a name="21"/>
書簽
在瀏覽大型代碼, 或者調(diào)試時. 有時可能會需要記住一些關(guān)鍵的代碼或者方法. 這個時候就可以使用書簽
. 來記錄此關(guān)鍵代碼. 只需要在點擊需要標(biāo)記的行, 并按F3
就會在左側(cè)出現(xiàn)一個小對勾
. 這就說明已經(jīng)打上了一個書簽.
同時在Favorites
標(biāo)簽中, 也可以找到對應(yīng)的Bookmarks
可以通過快捷鍵command + F3
(win為shift + F11
)快速調(diào)出書簽面板, 進(jìn)行后續(xù)的操作.
<a name="22"/>
快速重構(gòu)
<a name="23"/>
重構(gòu)入口
當(dāng)一個代碼片段準(zhǔn)備重構(gòu)的時候. 可以使用control + T
(win為ctrl + alt + shift + T
)打開重構(gòu)入口. 或者右鍵單擊
選擇Refactor
顯示重構(gòu)界面.
這里有很多方便的功能. 提成方法等等.
<a name="24"/>
surround With
當(dāng)對一個段代碼進(jìn)行, 條件包裹, 捕捉異常, 循環(huán), Runnable等. 可以直接使用快捷的方式, 而不需要手動生成條件在進(jìn)行代碼塊的復(fù)制-粘貼
快捷鍵
-
command + option + T
(mac) -
ctrl + alt + T
(win)
<a name="25"/>
Extract
你可以經(jīng)常使用它,提取出一個方法.
不僅僅如此, 你還可以對xml
中的多個控件相同的屬性進(jìn)行抽取為style
快捷鍵:
-
ctrl + alt + shift + T
(win)
是不是很爽?
這是其一, 對于xml
不僅可以抽取Style
, 還可以抽取布局Layout
而代碼中, 可以提取各種變量, 參數(shù), 長廊.
<a name="26"/>
代碼模板
AS
中已經(jīng)內(nèi)置了很多代碼模板, 你可以很嗖嗖嗖的就完成之前倒背如流的代碼. 如下一小部分
通過快捷鍵可調(diào)出這些代碼模板
-
command + J
(mac) -
ctrl + J
(win)
<a name="27"/>
代碼分析
Google
提供了很多代碼分析工具, 這些工具都集中在頂部菜單欄的Analyze
中.
<a name="28"/>
Inspect Code & Code cleanup
Inspect Code
可以讓IDE
分析整個工程. 類似于Lint
分析, 并會給出大致修改意見等
Code cleanup
功能可以進(jìn)行自動的代碼修復(fù).
<a name="29"/>
Dependencies
通過Analyze
中的幾個Dependencies
選項. 可以快速分析項目的依賴.
<a name="30"/>
方法調(diào)用棧
對于某些方法來說, 查看它被調(diào)用的地方和調(diào)用的順序是非常重要的. 可通過control + option + H
快速查找方法調(diào)用棧.
<a name="31"/>
斷點調(diào)試
<a name="32"/>
快速斷點
條件斷點
. 主要用在循環(huán)體內(nèi). 一個循環(huán)10次的for
. 只想在第8
次進(jìn)入斷點.
和普通斷點
相似, 一樣先聲明一個斷點. 然后在普通斷點
上單擊鼠標(biāo)右鍵
. 在彈出的菜單填寫斷點條件即可. 如下:
上面圖中Enable
可以控制啟用
, 還是停用
一個斷點.
臨時斷點
. 如果需要一個只執(zhí)行一次的斷點. 執(zhí)行完之后斷點自動取消. 那么可以通過快捷點將當(dāng)前行作為臨時斷點.
command + option + shift + F8
ctrl + alt + shift + F8
為了篇幅不是很長, 調(diào)試的部分貼一個講解很詳細(xì)的帖子
<a name="33"/>
快捷鍵查找表
速查表列出了keymap
快捷鍵的名稱. 可以直接通過AS setting
界面搜索keymap
. 通過對應(yīng)的快捷鍵名稱來添加或者修改快捷鍵.
功能描述 | keymap對應(yīng)名字 | Mac | Win/Linux |
---|---|---|---|
提示錯誤解決方案 | Show Intention Actions | option + enter |
alt + enter |
AS配置界面 | Preferences | command + , |
control+alt+S |
工程項目配置界面 | Project Structure | command + ; |
Control+Alt+Shift+S |
快速構(gòu)成代碼 | Code Generate | command + N |
alt + insert |
代碼提示 | Completion/Basic |
control + space (mac會沖突, 手動修改) |
ctrl + 空格 (win同樣大部分和輸入法沖突, 手動修改) |
選擇視圖 | select in any view | option + F1 |
alt + F1 |
添加書簽標(biāo)識 | 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 |
快捷向下復(fù)制行 | 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 |
文件方法結(jié)構(gòu) | 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 |
提示參數(shù)類型 | 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 |
代碼補(bǔ)全 | 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 |
窗口內(nèi)所有代碼折疊/展開 | Collapse/Expand All | command + shift + 減號/加號 |
ctrl + shift + 減號/加號 |
查找文件 | Navigate/File | command + shift + O |
ctrl + shift + N |
全路徑中替換 | Replace in Path | command + shift + R |
ctrl + shift + R |
大小寫轉(zhuǎn)換 | 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 |
復(fù)制 | Copy | command + C |
ctrl + C |
去除無效包引用 | Optimize Imports | control + option + O |
ctrl + alt + O |
顯示類關(guān)系繼承體系 | Type Hierarchy | control + H |
ctrl + H |
快速覆寫方法 | override Methods | control + O |
ctrl + O |
查找調(diào)用的位置 | Call hierarchy | control + option + H |
ctrl + alt + H |
添加書簽 | Toggle Bookmark | F3 |
F11 |
擴(kuò)大縮小選中范圍 | Extend Selection/Shrink Selection | option + UP/Down |
ctrl + W + shift + W |
跳轉(zhuǎn)到父類 | Super method | command + U |
ctrl + U |
關(guān)閉當(dāng)前tab標(biāo)簽 | Editor Tabs / Close | command + W |
ctrl + shift + a |
關(guān)閉除編輯窗口的其余窗口 | Hide All Tool Windows | command + shift + F12 |
ctrl + shift + F12 |
預(yù)覽方法定義 | Quick Definition | command + Y |
ctrl + shift + I |
返回光標(biāo)最后編輯位置 | Last Edit Location | command + shift + delete |
control + shift + Backspace |
調(diào)到代碼塊首部/尾部 | 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 |
抽取參數(shù) | Extract Parameter | command + option + P |
control+alt+P |
重構(gòu)入口 | Refactor This | control + T |
ctrl + alt + shift + T |