[TOC]
1.編輯器
1.1 編輯
操作名 | 快捷鍵 | 備注 |
---|---|---|
復(fù)制行 | ?+D | |
刪除行 | ?+? | |
從復(fù)制歷史中粘貼 | ?+?+V | 設(shè)置歷史記錄數(shù):<br />Maximum number of contents to keep in clipboard |
(取消)縮進(jìn) | (?+)? | |
合并行 | ?+J |
1.2 編碼
操作名 | 快捷鍵 | 備注 |
---|---|---|
補(bǔ)全 | ?:只補(bǔ)全<br />?:補(bǔ)全替換<br />!:取反補(bǔ)全<br />.:點(diǎn)號(hào)補(bǔ)全<br /> | image
|
(Call)代碼補(bǔ)全 | ?+?+? | <img src="https://jaeger.itscoder.com/assets/img/studio_tips/class_name_completion.gif" style="zoom:50%" /> |
補(bǔ)全當(dāng)前狀態(tài) | ?+?+? | <img src="https://camo.githubusercontent.com/acb8bd2b87c8f6df86b998f71204290c2f22b0ae/68747470733a2f2f6a61656765722e697473636f6465722e636f6d2f6173736574732f696d672f73747564696f5f746970732f31362d636f6d706c65746573746174656d656e742e676966"/> |
覆蓋方法 | ?+O | Override |
實(shí)現(xiàn)方法 | ?+I | implement |
生成 | ?+N | getter/setter<br />toString<br />constructor<br />equals()/hashcode()<br />copyright |
格式化代碼 | ?+?+L | |
重排代碼 | 刪除Resume Program 其中一個(gè) | |
優(yōu)化引用 | ?+?+O | |
大小寫(xiě)轉(zhuǎn)換 | ?+?+U |
1.3 選擇
操作名 | 快捷鍵 | 備注 |
---|---|---|
列選擇 | ?+選擇 | |
擴(kuò)大選擇 | ?+↑ | |
縮小選擇 | ?+↓ | |
增加選擇下一個(gè) | Add selection for next occurrence | |
取消選擇one by one | unselect occurrence |
1.4 查找/替換
操作名 | 快捷鍵 | 備注 |
---|---|---|
查找操作 | ?+?+A | |
查找 | ?+F | |
快速查找 | 選中,?+F | |
指定路徑查找 | ?+?+F | |
Next/previous查找匹配 | Find Next/Previous | |
選中所有查找結(jié)果 | Select all occurrences | |
替換 | ?+R | |
指定路徑替換 | ?+?+R |
2.導(dǎo)航
2.1 面板導(dǎo)航
操作名 | 快捷鍵 | 備注 |
---|---|---|
打開(kāi)面板(數(shù)字) | ?+num | 1:Project<br />3:Find<br />4:Run<br />5:Debug<br />6:Logcat<br />7:Structure<br />8:Hierarchy<br />9:Version Control |
打開(kāi)內(nèi)置 Terminal | 修改 update project | |
打開(kāi) Gradle | ||
選擇目標(biāo)位置 | (alt + F1被系統(tǒng)占用:cry:) | |
切換器 | ?+? | 在已打開(kāi)的 tab 和 file 間切換<br />按住?鍵,鍵入?關(guān)閉 tab / file |
(隱藏工具窗口并)回到編輯器 | (?+)? | |
最近訪問(wèn)文件 | ?+E | |
上一個(gè)工具窗口 | F12 |
2.2 代碼導(dǎo)航
2.2.1 文件內(nèi)跳轉(zhuǎn)
操作名 | 快捷鍵 | 備注 |
---|---|---|
向后跳一個(gè)單詞 | ?+→ | |
向前跳一個(gè)單詞 | ?+← | |
跳到行首 | fn+← | |
跳到行尾 | fn+→ | |
跳到上/下一個(gè)方法/內(nèi)部類 | ?+↑/↓ | <img src="https://jaeger.itscoder.com/assets/img/studio_tips/02-move_between_methods.gif" style="zoom:50%" /> |
上一個(gè)光標(biāo)位置 | ?+?+← | |
上一個(gè)編輯位置 | ?+?+? | |
定位到行 | ?+L | |
跳轉(zhuǎn)到錯(cuò)誤代碼 | F2 | |
文件結(jié)構(gòu) | ?+F12 |
2.2.2 跨文件跳轉(zhuǎn)
操作名 | 快捷鍵 | 備注 |
---|---|---|
跳轉(zhuǎn)到父類/父類方法 | ?+U | |
跳轉(zhuǎn)到聲明 | ?+B | 沒(méi)在聲明處:跳轉(zhuǎn)到聲明 |
跳轉(zhuǎn)到實(shí)現(xiàn) | ?+?+B | 接口/抽象類/方法 |
跳轉(zhuǎn)到相關(guān)文件 | ?+?+↑ | 跳轉(zhuǎn)到布局與代碼相關(guān)文件,Kotlin 暫時(shí)無(wú)效 |
2.2.2 跨文件導(dǎo)航
操作名 | 快捷鍵 | 備注 |
---|---|---|
導(dǎo)航到文件 | ?+?+O | FileName:lineNum 可導(dǎo)航到文件內(nèi)行數(shù) |
導(dǎo)航到類 | ?+O | 同上 |
導(dǎo)航到symbol<br />(field,method,file) | ?+?+O | 對(duì)不知道文件名的方法和變量或者想一步到位很有效<br />(kotlin 擴(kuò)展方法) |
3.分析
操作名 | 快捷鍵 | 備注 |
---|---|---|
分析面板 | ||
查看使用 | ?+F7 | |
顯示使用 | ?+?+F7 | |
指定路徑查看使用 | ?+?+?+F7 | |
高亮一切 | ?+?+F7 |
|
查看工程內(nèi)使用 | ?+B | |
查看類型層級(jí) | ?+H | |
查看方法層級(jí) | ?+?+H | |
查看Context信息 | ?+?+Q | 深入源碼不知道位置的時(shí)候 |
快速查看方法定義 | ?+? | 快速查看方法定義,不用跳轉(zhuǎn) |
分析數(shù)據(jù)流傳入/出 | Menu → Analyze → Analyze Data Flow to/from Here<br /><img src="https://jaeger.itscoder.com/assets/img/studio_tips/31-analyzedataflow.gif" style="zoom:50%" /> | |
堆棧分析 | Menu → Analyze → Analyze Stacktrace<br /><img src="https://jaeger.itscoder.com/assets/img/studio_tips/30-analyzestacktrace.gif" style="zoom:50%" /> |
4.運(yùn)行/調(diào)試
4.1 斷點(diǎn)
操作名 | 快捷鍵 | 備注 |
---|---|---|
查看斷點(diǎn) | ?+?+F8 | |
單次斷點(diǎn) | ?+鼠標(biāo)左鍵 | 觸發(fā)一次后刪除斷點(diǎn) |
(取消)禁用斷點(diǎn) | ?+鼠標(biāo)左鍵<br />?+F8 | 在已有斷點(diǎn)上操作,再次操作取消禁用 |
條件斷點(diǎn) | 條件滿足時(shí)觸發(fā)<br /><img src="https://jaeger.itscoder.com/assets/img/studio_tips/22-conditionalbreakpoint.gif" style="zoom:50%" /> | |
日志斷點(diǎn) | <img src="https://jaeger.itscoder.com/assets/img/studio_tips/23-loggingbreakpoints.gif" style="zoom:50%" /> | |
異常斷點(diǎn) | View BreakPoints-><br />選擇 Java Exception Breakpoints-><br />add -> Java exception breakpoint | |
字段觀察斷點(diǎn) | 在字段定義處打斷點(diǎn),可勾選<br />Field Initialization<br />Field access<br />Field modification<br /> |
4.2 執(zhí)行
操作名 | 快捷鍵 | 備注 |
---|---|---|
Attach debugger to Android Process | ?+?+F8 | 無(wú)需重新 debug 運(yùn)行 |
運(yùn)行 Run | ?+R | |
調(diào)試 Debug | ?+D | |
Run 當(dāng)前文件 | ?+?+R | Run context configuration |
Debug 當(dāng)前文件 | ?+?+D | Debug context configuration |
Stop | ?+F2 | |
恢復(fù)執(zhí)行 | F9 | |
光標(biāo)返回到執(zhí)行點(diǎn) | ?+F10 | |
單步調(diào)試 | F8 | |
調(diào)試進(jìn)入方法 | F7 | 只能進(jìn)入自己寫(xiě)的方法 |
強(qiáng)制調(diào)試進(jìn)入方法 | ?+?+F7 | 進(jìn)入系統(tǒng)層級(jí)方法 |
跳出方法 | ?+F8 | |
debug 到光標(biāo)處 | ?+F9 | "恢復(fù)執(zhí)行"直到光標(biāo)行<br />(光標(biāo)等于一個(gè)臨時(shí)斷點(diǎn)) |
丟棄當(dāng)前幀(重新執(zhí)行方法) | 重新執(zhí)行方法<br /> |
4.3調(diào)試
操作名 | 快捷鍵 | 備注 |
---|---|---|
設(shè)置(變量)值 | F2 | 為變量賦值 |
計(jì)算表達(dá)式值 | ?+F8 | |
快速計(jì)算表達(dá)式值 | ?+?+F8 | 光標(biāo)放在表達(dá)式上或者選中表達(dá)式 |
審查 | ?+鼠標(biāo)左鍵<br />審查變量或代碼<br />當(dāng)審查表達(dá)式時(shí)≈快速計(jì)算表達(dá)式值 | |
標(biāo)記對(duì)象 | 給變量打 Tag,便于從多個(gè)相似對(duì)象中辨認(rèn) image
|
|
禁用全部斷點(diǎn) |
Debug 設(shè)置:
調(diào)試工具欄: Settings
- Show Values Inline
選中后啟動(dòng)內(nèi)聯(lián)調(diào)試功能,允許在編輯器中觀察執(zhí)行過(guò)的變量的值.
- Show Method Return Values
選中后會(huì)顯示上次執(zhí)行方法的返回值.
- Sort values alphabetically
選中后窗口中的變量值按字母的順序排列.
- Unmute breakpoints on session finish
當(dāng)一個(gè)調(diào)試會(huì)話完成后,會(huì)重新啟用所有禁用的斷點(diǎn).搭配"禁用全部斷點(diǎn)",達(dá)到某一次直接跳過(guò)接下來(lái)所有 Debug 的作用
5.重構(gòu)
操作名 | 快捷鍵 | 備注 |
---|---|---|
重構(gòu)面板 | ?+T | 提取抽象類<br />提取接口<br />下放到子類<br />上提到父類<br />移除未使用資源 |
重命名 | ?+F6 | |
更改簽名 | ?+F6 | 攺變方法的名稱,攺函數(shù)的可訪問(wèn)性<br />對(duì)參數(shù)進(jìn)行添加、刪除酱床、重命名和重新排序 |
移動(dòng)行 | ?+?+↑/↓ | |
移動(dòng)代碼塊 | ?+?+↑/↓ | 選中的代碼塊,或者掛光標(biāo)定位在頭部 |
提取方法 | ?+?+M | <img src="https://jaeger.itscoder.com/assets/img/studio_tips/53-extractmethod.gif" style="zoom:50%" /> |
提取參數(shù) | ?+?+P | <img src="https://jaeger.itscoder.com/assets/img/studio_tips/52-extractparam.gif" style="zoom:50%" /> |
提取變量 | ?+?+V | Java,按下?+?選擇具體類型<br />Kotlin 可勾選 Var,具體類型 |
提取全局變量(Field) | ?+?+F | kotlin 需先有variable 才能提取 Field |
提取常量 | ?+?+C | kotlin 不可用 |
內(nèi)置inline | ?+?+N | 對(duì)方法,字段,參數(shù),變量都有效<br /><img src="https://jaeger.itscoder.com/assets/img/studio_tips/54-inline.gif" style="zoom:60%" /> |
移動(dòng)類/靜態(tài)字段/靜態(tài)方法 | F6 | 移動(dòng)內(nèi)部類到單獨(dú)文件<br />移動(dòng)單獨(dú)文件類為內(nèi)部類<br />移動(dòng)文件到其他包 |
包裹代碼 | ?+?+T | if/try/{}/()<br /><img src="https://jaeger.itscoder.com/assets/img/studio_tips/13-surround_with.gif" style="zoom:100%" /> |
移除代碼/包裹 | ?+?+? | <img src="https://jaeger.itscoder.com/assets/img/studio_tips/20-unwrap.gif" style="zoom:80%" /> |
6.版本控制
操作名 | 快捷鍵 | 備注 |
---|---|---|
版本控制彈窗 | ?+V | <img src="https://jaeger.itscoder.com/assets/img/studio_tips/37-vcspopup.gif" style="zoom:60%" /> |
update project | 修改 Navigate to test | |
commit | ?+K | |
push project | ?+?+K | |
顯示 歷史 | Git show history | |
顯示"選中"歷史 | Git show history for selection | |
對(duì)比不同 | ?+D | 在 Local Changes 界面選中文件->?+D |
與分支對(duì)比 | 右鍵-git-compare with branch<br /><img src="https://jaeger.itscoder.com/assets/img/studio_tips/38-comparewithbranch.gif" style="zoom:50%" /> | |
與提交的版本對(duì)比 | Git —> Compare with the Same Repository Version | |
還原修改 | ?+?+Z |
commit 設(shè)置勾選:
optimize imports
-
reformat code
()
-
rearrange code
()
perform code analysis
-
Alibaba Code Guidelines
(需安裝插件)
7.其他
操作名 | 快捷鍵 | 備注 |
---|---|---|
隱藏/顯示所有面板 | ?+?+F12 | 源碼查看模式 |
與剪貼板對(duì)比 | 右鍵-compare with clipboard<br /><img src="https://jaeger.itscoder.com/assets/img/studio_tips/34-comparewithclipboard.gif" style="zoom:70%" /> | |
設(shè)置:
-
右下角顯示內(nèi)存使用
Appearance -> Show memory indicator
-
顯示行號(hào)
Editor -> General -> Appearance -> Show line numbers