前言
? ? 對(duì)開發(fā)工具快捷鍵的熟練使用能大大提高編碼效率,為程序們可以節(jié)省出時(shí)間去做更多的事情党远,今天我們就Android Studio開發(fā)工具的使用以及技巧做一個(gè)總結(jié)换况。希望大家一起學(xué)習(xí)和交流
系統(tǒng)默認(rèn)快捷鍵
? ? 以表格形式列出比較常用得系統(tǒng)快捷鍵轨蛤,ps:系統(tǒng)默認(rèn)的快捷鍵也可以根據(jù)自己的喜好晨汹,在??Settings-->Keymap。你可以從Keymaps中選擇對(duì)應(yīng)IDE的快捷鍵進(jìn)行修改:
設(shè)置與結(jié)構(gòu)
description? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 解釋? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Windows快捷鍵
Open settings dialogue? ? ? ? ? ? ? ? ? ? ? ?快速打開設(shè)置? ? ? ? ? ? ? ? ? ? ? Ctrl + Al + S
Open project structure dialog? ? ? ? ? ? ?打開項(xiàng)目結(jié)構(gòu)? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Alt + Shift + S
搜索和追蹤
description? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?解釋? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Windows快捷鍵
Find? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查找? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Alt + S?
Search everything? ? ? ? ? ? ? ? ? ? ? ? ? 查找所有? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?點(diǎn)擊shift兩次即可搜索
Find next? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 順序向下查找? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?F3?
Find action? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查找功能桃漾,超級(jí)強(qiáng)大坏匪,? ? ? ? ? ? ?Ctrl + Shift + A
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?as的所有功能可以通過該功能來查找? ? ? ? ? ? ? ?
Find class? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 快速找到類并打開文件? ? ? ? ? ? ? ? ? ? Ctrl + N
Find file (instead of class)? ? ? ? ? ? ? 快速查找文件? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Shift + N
Find in path? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在項(xiàng)目下的所有路徑查找? ? ? ? ? ? ? ? Ctrl + Shift + F
Recently opened files pop-up? ? ? ? ? 列出最近打開的文件? ? ? ? ? ? ? ? ? ? ? F3+Ctrl+ E
Recently edited files pop-up? ? ? ? ? ? 列出最近編輯過的文件? ? ? ? ? ? ? ? ? ?Ctrl + Shift + E
Go to last edit location? ? ? ? ? ? ? ? ? ? 回到最近一次編輯的位置? ? ? ? ? ? ? ? ?Ctrl + Shift + Backspace
Close active editor tab? ? ? ? ? ? ? ? ? ?關(guān)閉當(dāng)前編輯的文件? ? ? ? ? ? ? ? ? ? ? ? ? Ctrl + F4
Open type hierarchy? ? ? ? ? ? ? ? ? ? ? ? 打開類型層次關(guān)系? ? ? ? ? ? ? ? ? ? ? ? ? ? Ctrl+ H
Open method hierarchy? ? ? ? ? ? ? ? ? ? 打開方法層次關(guān)系? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Shift + H
Open call hierarchy? ? ? ? ? ? ? ? ? ? ? ? ? ? 打開調(diào)用層次關(guān)系? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Alt + H
寫代碼常用快捷鍵
description? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 解釋? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Windows快捷鍵
Generate code? ? ? ? ? ? ? ? ? ? ? ? ? ? 快速生成各種方法? ? ? ? ? ? ? ? ? ? ? Alt + Insert
Override methods? ? ? ? ? ? ? ? ? ? ? ?顯示所有可以重寫的方法? ? ? ? ? ? ?Ctrl + O
Implement methods? ? ? ? ? ? ? ? ? ? ?顯示所有可以實(shí)現(xiàn)的方法? ? ? ? ? ? ? Ctrl + I
Surround with (if…else… etc)? ? ?快速為語句生成if else等? ? ? ? ? ? ? Ctrl + Alt + T
Delete line at caret? ? ? ? ? ? ? ? ? ? ? ? ? 刪除光標(biāo)所在行? ? ? ? ? ? ? ? ? ? ? ? ? Ctrl + Y
Duplicate current line or selection? ? 快速產(chǎn)生新的當(dāng)前行,多行代碼? ?Ctrl + D
Quick documentation lookup? ? ? ? ? ? ?快速查看簡(jiǎn)要文檔? ? ? ? ? ? ? ? ? ? ? ? ? Ctrl + P
Go to declaration (directly)? ? ? ? ? ? ? ?找到變量或方法聲明處? ? ? ? ? ? ? ? ? ? ?Ctrl + B?
Go to implementations? ? ? ? ? ? ? ? 找到接口的實(shí)現(xiàn)類或方法實(shí)現(xiàn)處? ? ? Ctrl+ Alt + B
Go to super-method/super-class? ? ? 找到父類或父類方法? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + U
Toggle project tool window visibility? ? 顯示或隱藏as左邊的項(xiàng)目窗口? ? ? ? Alt + 1
Comment/uncomment with line comment? ? 快速單行注釋或去除注釋? ? ? ? Ctrl + /
Comment/uncomment with block comment? 多行注視或除去多行注釋? ? ? Ctrl + Shift + /
Project quick fix? ? ? ? ? ? ? ? ? ? ? 給出當(dāng)前問題的多種解決方法(非常常用)? ?Alt + Enter
Reformat code? ? ? ? ? ? ? ? ? ? ? ? ?格式化代碼? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Alt + L?
Next/previous highlighted error? ? 找到下一個(gè)/上一個(gè)錯(cuò)誤? ? ? ? ? ? ? ? F2 / Shift + F2
編譯運(yùn)行:
description? 解釋? :? Windows快捷鍵
Build 編譯 :Control + F9
Build and run 編譯 : Shift + F10
調(diào)試:
description? 解釋? :? Windows快捷鍵
Debug: Shift + F9S
Step over: F8
Step into: F7
Smart step into: Shift + F7
Resume program: F9
修改:
description? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 解釋? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Windows快捷鍵
Safe delete? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?安全刪除? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Alt + Delete
Extract method? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?提取方法? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Ctrl + Alt + M
Extract method? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 提取方法? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Ctrl + Alt + V
Extract variable? ? ? ? ? ? ? ? ? ? ? ? ? ? ?提取變量? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Alt + V
Extract field? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?提取全局變量? ? ? ? ? ? ? ? ? ? ? ? ? Ctrl + Alt + F
Extract constant? ? ? ? ? ? ? ? ? ? ? ? ? ? ?提取常量? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Alt + C
Extract parameter? ? ? ? ? ? ? ? ? ? ? ? ? 提取參數(shù)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Alt + P
版本控制/本地歷史
description? ? ? ? ? ? ? ?解釋? ? ? ? ? ? ? ? ? ?Windows快捷鍵
Commit project to VCS? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + K
Update project from VCS? ? ? ? ? ? ? ? ? ? ? ? ? Ctrl+ T
View recent changes? ? ?查看最近修改? ? ? Alt + Shift + C
Open VCS popup? ? ? ?打開版本控制設(shè)置窗口? ?Alt + ` (backquote)
一些常用快捷鍵使用演示:
Find action (Ctrl + Shift + A)
查找as所有動(dòng)作功能(超級(jí)強(qiáng)大)
查找下一個(gè)
查找上一個(gè)
Find class(Ctrl + N/Command + O)
直接通過類名過濾打開類文件撬统,有了這個(gè)基本我很少用鼠標(biāo)去找類文件了适滓。
Duplicate current line or selection(Ctrl + D/Command + D)
快速產(chǎn)生一個(gè)單行或者選中行的copy
Go to implementations( Ctrl+ Alt + B/Command + Alt + B)
找到當(dāng)前接口的實(shí)現(xiàn)類,或接口方法的實(shí)現(xiàn)方法恋追,在mvp模式里最常用
Extract method( Ctrl + Alt + M/Command + Option + M)
為選中代碼生產(chǎn)一個(gè)方法凭迹,超級(jí)智能,甚至能識(shí)別處是否要參數(shù)和返回值几于,如果有多個(gè)相似代碼蕊苗,會(huì)提示是否要統(tǒng)一替換,吊到?jīng)]朋友沿彭。
Extract variable(Ctrl + Alt + V/Command + Option + V)
為選中表達(dá)式生成臨時(shí)變量,如果有多個(gè)地方會(huì)提示是否需要統(tǒng)一替換尖滚。
Extract field(Ctrl + Alt + F/Command + Option + F)
為選中表達(dá)式生成全局變量喉刘,如果有多個(gè)地方會(huì)提示是否需要統(tǒng)一替換。
Next highlighted error(F2 / F2)
你一定有過在一個(gè)很長(zhǎng)代碼文件中找一個(gè)錯(cuò)誤的時(shí)候漆弄,很麻煩睦裳,有了這個(gè)功能,光標(biāo)直接移到錯(cuò)誤的地方撼唾。
Postfix completion
Postfix completion 是IntelliJ IDEA很早就有的功能廉邑,該功能基于已經(jīng)輸入的表達(dá)式和你添加的后綴來實(shí)現(xiàn)另一個(gè)你想要的表達(dá)式。例如在布爾表達(dá)式之后加上后綴if就是if語句 倒谷。
下面介紹一下個(gè)人工作中覺得比較常用的幾個(gè)后綴蛛蒙。
當(dāng)一個(gè)變量需要類型轉(zhuǎn)換時(shí),你是不是經(jīng)常多次回退到變量名前面渤愁,然后括號(hào)再輸入類型牵祟,現(xiàn)在你只需要.cast之后瀟灑的輸入類型。
對(duì)于if語句你有更好的選擇抖格,.if
else就是if取反诺苹,就是那么快
假設(shè)你的代碼寫了很長(zhǎng)咕晋,突然在1000行的時(shí)候要給一個(gè)變量賦值并且聲明為全局變量,難道要返回去重新聲明嗎收奔,簡(jiǎn)直麻煩掌呜。有了field,在哪都可以坪哄。
簡(jiǎn)單快速for循環(huán)质蕉,就是那么吊
for循環(huán)第二式,增強(qiáng)for循環(huán)(使用.iter也是同樣的效果)
for循環(huán)第三式损姜,反向for循環(huán) .forr
快速判空
快速判斷非空 .nn饰剥,與.notnull效果一致
.switch 通過字符串枚舉等類型的對(duì)象直接生成switch語句
快速進(jìn)行instanof判斷 并進(jìn)行類型轉(zhuǎn)換
快速為一個(gè)表達(dá)式生成變量
快速為一個(gè)表達(dá)式添加括號(hào)
快速log,想輸出的內(nèi)容.log即可
快速toast摧阅,想輸出的內(nèi)容.toast即可
部分后綴如log汰蓉,toast需要Android Postfix completion 插件的支持,大家搜索下載即可棒卷。
除了以上的后綴語句顾孽,Android Studio還有很多其它的后綴語句,由于個(gè)人覺得不是很常用比规,所以沒有提到若厚,大家可以打開setting-Editor-General-Postfix Completion查看更多用法。
下面貼一張Postfix Completion的圖
本文大部分內(nèi)容參考于?Android Studio快速開發(fā)之道
最后附上二位不錯(cuò)同學(xué)文章網(wǎng)址:
Android Studio快速開發(fā)之道?(強(qiáng)烈推薦此文)