前言
? ? 對開發工具快捷鍵的熟練使用能大大提高編碼效率,為程序們可以節省出時間去做更多的事情,今天我們就Android Studio開發工具的使用以及技巧做一個總結。希望大家一起學習和交流
系統默認快捷鍵
? ? 以表格形式列出比較常用得系統快捷鍵,ps:系統默認的快捷鍵也可以根據自己的喜好,在??Settings-->Keymap。你可以從Keymaps中選擇對應IDE的快捷鍵進行修改:
設置與結構
description? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 解釋? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Windows快捷鍵
Open settings dialogue? ? ? ? ? ? ? ? ? ? ? ?快速打開設置? ? ? ? ? ? ? ? ? ? ? Ctrl + Al + S
Open project structure dialog? ? ? ? ? ? ?打開項目結構? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Alt + Shift + S
搜索和追蹤
description? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?解釋? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Windows快捷鍵
Find? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查找? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Alt + S?
Search everything? ? ? ? ? ? ? ? ? ? ? ? ? 查找所有? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?點擊shift兩次即可搜索
Find next? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 順序向下查找? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?F3?
Find action? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查找功能,超級強大,? ? ? ? ? ? ?Ctrl + Shift + A
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?as的所有功能可以通過該功能來查找? ? ? ? ? ? ? ?
Find class? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 快速找到類并打開文件? ? ? ? ? ? ? ? ? ? Ctrl + N
Find file (instead of class)? ? ? ? ? ? ? 快速查找文件? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Shift + N
Find in path? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在項目下的所有路徑查找? ? ? ? ? ? ? ? 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? ? ? ? ? ? ? ? ? ?關閉當前編輯的文件? ? ? ? ? ? ? ? ? ? ? ? ? Ctrl + F4
Open type hierarchy? ? ? ? ? ? ? ? ? ? ? ? 打開類型層次關系? ? ? ? ? ? ? ? ? ? ? ? ? ? Ctrl+ H
Open method hierarchy? ? ? ? ? ? ? ? ? ? 打開方法層次關系? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Shift + H
Open call hierarchy? ? ? ? ? ? ? ? ? ? ? ? ? ? 打開調用層次關系? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Alt + H
寫代碼常用快捷鍵
description? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 解釋? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Windows快捷鍵
Generate code? ? ? ? ? ? ? ? ? ? ? ? ? ? 快速生成各種方法? ? ? ? ? ? ? ? ? ? ? Alt + Insert
Override methods? ? ? ? ? ? ? ? ? ? ? ?顯示所有可以重寫的方法? ? ? ? ? ? ?Ctrl + O
Implement methods? ? ? ? ? ? ? ? ? ? ?顯示所有可以實現的方法? ? ? ? ? ? ? Ctrl + I
Surround with (if…else… etc)? ? ?快速為語句生成if else等? ? ? ? ? ? ? Ctrl + Alt + T
Delete line at caret? ? ? ? ? ? ? ? ? ? ? ? ? 刪除光標所在行? ? ? ? ? ? ? ? ? ? ? ? ? Ctrl + Y
Duplicate current line or selection? ? 快速產生新的當前行,多行代碼? ?Ctrl + D
Quick documentation lookup? ? ? ? ? ? ?快速查看簡要文檔? ? ? ? ? ? ? ? ? ? ? ? ? Ctrl + P
Go to declaration (directly)? ? ? ? ? ? ? ?找到變量或方法聲明處? ? ? ? ? ? ? ? ? ? ?Ctrl + B?
Go to implementations? ? ? ? ? ? ? ? 找到接口的實現類或方法實現處? ? ? Ctrl+ Alt + B
Go to super-method/super-class? ? ? 找到父類或父類方法? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + U
Toggle project tool window visibility? ? 顯示或隱藏as左邊的項目窗口? ? ? ? Alt + 1
Comment/uncomment with line comment? ? 快速單行注釋或去除注釋? ? ? ? Ctrl + /
Comment/uncomment with block comment? 多行注視或除去多行注釋? ? ? Ctrl + Shift + /
Project quick fix? ? ? ? ? ? ? ? ? ? ? 給出當前問題的多種解決方法(非常常用)? ?Alt + Enter
Reformat code? ? ? ? ? ? ? ? ? ? ? ? ?格式化代碼? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Ctrl + Alt + L?
Next/previous highlighted error? ? 找到下一個/上一個錯誤? ? ? ? ? ? ? ? F2 / Shift + F2
編譯運行:
description? 解釋? :? Windows快捷鍵
Build 編譯 :Control + F9
Build and run 編譯 : Shift + F10
調試:
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? ? ? ? ? ? ? ? ? ? ? ? ? 提取參數? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?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? ? ? ?打開版本控制設置窗口? ?Alt + ` (backquote)
一些常用快捷鍵使用演示:
Find action (Ctrl + Shift + A)
查找as所有動作功能(超級強大)
查找下一個
查找上一個
Find class(Ctrl + N/Command + O)
直接通過類名過濾打開類文件,有了這個基本我很少用鼠標去找類文件了。
Duplicate current line or selection(Ctrl + D/Command + D)
快速產生一個單行或者選中行的copy
Go to implementations( Ctrl+ Alt + B/Command + Alt + B)
找到當前接口的實現類,或接口方法的實現方法,在mvp模式里最常用
Extract method( Ctrl + Alt + M/Command + Option + M)
為選中代碼生產一個方法,超級智能,甚至能識別處是否要參數和返回值,如果有多個相似代碼,會提示是否要統一替換,吊到沒朋友。
Extract variable(Ctrl + Alt + V/Command + Option + V)
為選中表達式生成臨時變量,如果有多個地方會提示是否需要統一替換。
Extract field(Ctrl + Alt + F/Command + Option + F)
為選中表達式生成全局變量,如果有多個地方會提示是否需要統一替換。
Next highlighted error(F2 / F2)
你一定有過在一個很長代碼文件中找一個錯誤的時候,很麻煩,有了這個功能,光標直接移到錯誤的地方。
Postfix completion
Postfix completion 是IntelliJ IDEA很早就有的功能,該功能基于已經輸入的表達式和你添加的后綴來實現另一個你想要的表達式。例如在布爾表達式之后加上后綴if就是if語句 。
下面介紹一下個人工作中覺得比較常用的幾個后綴。
當一個變量需要類型轉換時,你是不是經常多次回退到變量名前面,然后括號再輸入類型,現在你只需要.cast之后瀟灑的輸入類型。
對于if語句你有更好的選擇,.if
else就是if取反,就是那么快
假設你的代碼寫了很長,突然在1000行的時候要給一個變量賦值并且聲明為全局變量,難道要返回去重新聲明嗎,簡直麻煩。有了field,在哪都可以。
簡單快速for循環,就是那么吊
for循環第二式,增強for循環(使用.iter也是同樣的效果)
for循環第三式,反向for循環 .forr
快速判空
快速判斷非空 .nn,與.notnull效果一致
.switch 通過字符串枚舉等類型的對象直接生成switch語句
快速進行instanof判斷 并進行類型轉換
快速為一個表達式生成變量
快速為一個表達式添加括號
快速log,想輸出的內容.log即可
快速toast,想輸出的內容.toast即可
部分后綴如log,toast需要Android Postfix completion 插件的支持,大家搜索下載即可。
除了以上的后綴語句,Android Studio還有很多其它的后綴語句,由于個人覺得不是很常用,所以沒有提到,大家可以打開setting-Editor-General-Postfix Completion查看更多用法。
下面貼一張Postfix Completion的圖
本文大部分內容參考于?Android Studio快速開發之道
最后附上二位不錯同學文章網址:
Android Studio快速開發之道?(強烈推薦此文)