Android Studio快速開發之道

概述

現現在開發愈來愈追求效率和節奏,節省出時間作更多的事情,除了開發技術上的封裝等,開發工具的使用技巧也是很重要的,今天就根據本身的經驗來給你們介紹一下Android Studio快速開發之道。html

Postfix completion

介紹

Postfix completion 是IntelliJ IDEA很早就有的功能,該功能基於已經輸入的表達式和你添加的後綴來實現另外一個你想要的表達式。例如在布爾表達式以後加上後綴if就是if語句 。java

經常使用後綴介紹

下面介紹一下我的工做中以爲比較經常使用的幾個後綴。android

cast

當一個變量須要類型轉換時,你是否是常常屢次回退到變量名前面,而後括號再輸入類型,如今你只須要.cast以後瀟灑的輸入類型。
imageexpress

if

對於if語句你有更好的選擇,.ifjson

這裏寫圖片描述

else

else就是if取反,就是那麼快windows

這裏寫圖片描述

field

假設你的代碼寫了很長,忽然在1000行的時候要給一個變量賦值而且聲明爲全局變量,難道要返回去從新聲明嗎,簡直麻煩。有了field,在哪均可以。安全

這裏寫圖片描述

fori

簡單快速for循環,就是那麼吊微信

這裏寫圖片描述

for

for循環第二式,加強for循環(使用.iter也是一樣的效果)app

這裏寫圖片描述

forr

for循環第三式,反向for循環 .forreclipse

這裏寫圖片描述

null

快速判空

這裏寫圖片描述

nn/notnull

快速判斷非空 .nn,與.notnull效果一致

這裏寫圖片描述

switch

.switch 經過字符串枚舉等類型的對象直接生成switch語句

這裏寫圖片描述

inst/instantsof

快速進行instanof判斷 並進行類型轉換

這裏寫圖片描述

var

快速爲一個表達式生成變量

這裏寫圖片描述

par

快速爲一個表達式添加括號

這裏寫圖片描述

log

快速log,想輸出的內容.log便可

這裏寫圖片描述

toast

快速toast,想輸出的內容.toast便可

這裏寫圖片描述

除了以上的後綴語句,Android Studio還有不少其它的後綴語句,因爲我的以爲不是很經常使用,因此沒有提到,你們能夠打開setting-Editor-General-Postfix Completion查看更多用法。

下面貼一張Postfix Completion的圖

這裏寫圖片描述

Live Templates

介紹

讓您插入頻繁使用的或自定義的代碼結構,快速、高效、準確地構建到您的源代碼文件中。

咱們能夠直接打開Settings/Preferences 對話框 選中Editor下的Live Templates進行查看

這裏寫圖片描述

經過上圖你們能夠看到Android Studio已經爲咱們提供了大量的模版。

系統模版簡單認識

這裏咱們經過系統提供的一個模版來對Live Templates簡單認識一下。

先看一張圖
這裏寫圖片描述

上圖中Android爲分組名,該分組下系統提供了許多模版。

咱們能夠在右上角點擊+進行添加本身的group或者模版

Abbreviation就是模版的縮寫,定義了縮寫以後就能直接輸入縮寫獲得模版具體內容。

Description在輸入的時候會有一個附帶的描述信息進行提示。

Tempplate text中的就是具體內容,具體內容中能夠經過$variable$來進行變量定義,上圖中的模版定義了的$name$ 和$value$兩個變量。

經過右邊的Edit variables按鈕能夠進行變量的編輯,點擊以後彈出以下 對話框
這裏寫圖片描述

能夠看到 name指定了默認值NAME,value是一個1000之內的隨機數。關於變量的編輯裏面有不少細節,因爲篇幅緣由,再也不這裏詳細討論,後續我會寫一篇博客對live templelates各個功能進行詳細介紹。

繼續剛纔說到第一個模版,左下角有一個change按鈕,點擊以後能夠指定該模版的做用範圍。

基本介紹就完畢了,看下效果

這裏寫圖片描述

系統提供的模版不少而且大多數都頗有用,我就不一一列舉了,你們能夠本身查看Live Templates找到本身合適的使用,開始的時候可能不適應,以後,你會發現,你愈來愈快。

自定義模版

瞭解了Live Templates以後,我發現我常用butterknife的時候會寫onClick,可是每次都是同樣的代碼,這時候我就能夠自定義一個模版,請看下圖:

這裏寫圖片描述

自定義了一個分組 custom,而且在該分組下定義了一個縮寫爲onclick的模版

模版內容就是一個butterknife註解修飾的click方法,而且聲明瞭一個個變量id。

點擊Edit variables以下圖

這裏寫圖片描述

指定了 Expression爲completeSmart(),表示該變量會智能型的完成調用(光標會出如今變量位置)

具體效果以下:
這裏寫圖片描述

這裏爲了方便 隨便賦值爲 activity的資源id了。

小技巧1

在使用Live Templates我若是正在寫代碼,寫了半個小時,我發現此時正在鞋一段代碼已經寫了幾回而且極可能接下來也會寫。難道咱們copy下來再 打開setting找到Live Templates去添加嗎?你徹底有更好的選擇!

選中你的代碼,點擊菜單攔Tools->Save as Live templates
以後直接指定縮寫等參數保存便可。

或者 打開設置 keymap,輸入過濾條件live template,找到Save as Live templates設置快捷鍵

這裏寫圖片描述

這裏我設置爲cmd+shift+s

就不用點菜單了,選中代碼直接cmd+shift+s

這裏寫圖片描述

ps:因爲我以前設置過快捷鍵,還覺得有默認的快捷鍵,想看看默認快捷鍵寫下來,因此點了下reset,發現這個功能沒有提供默認快捷鍵,而後最悲劇的來了,發現reset以後我沒有點apply尼瑪竟然也生效了,全部我修改過的快捷鍵全沒拉。。。。。

小技巧2

加入你想使用一個模版,可是忘記了它的縮寫,此時怎麼辦呢?
快速的cmd+j,windows電腦我不清楚,你們設置技巧1的時候會看到一個insert live templates,就能夠看到快捷鍵了。該功能能夠提示出全部適合當前場景的模版。

固然Live Templates的知識頗有不少,好比定義變量裏的expression有好多,各自表明什麼意思,可是這些不是本篇文章的重點,因此就不作討論了。

快捷鍵

Android Studio提供的快捷鍵功能很是強大,我的以爲只要你對快捷鍵熟悉至極,從打開Android Studio那一刻,你就能夠把鼠標扔了。。。

我的經常使用快捷鍵介紹

先來一波經常使用功能快捷鍵效果演示,沒圖我也是不能服衆啊(因爲快捷鍵不少這裏只作部分演示),ps:這裏的快捷鍵是基於as自帶的快捷鍵類型,若是你選擇了其它的快捷鍵類型(如eclipse),你只須要打開設置,keymap,經過輸入過濾條件找到對應的功能查看快捷鍵。

如下格式爲

描述/Windows或Linux的快捷鍵/Mac 快捷鍵

介紹

圖片

Find action (F3/Command + G)

查找as全部動做功能(超級強大)

這裏寫圖片描述

Find next (F3/Command + G)

查找下一個
這裏寫圖片描述

Find previous

查找上一個
這裏寫圖片描述

Find class(Control + N/Command + O)

直接經過類名過濾打開類文件,有了這個基本我不多用鼠標去找類文件了。
這裏寫圖片描述

Duplicate current line or selection(Control + D/Command + D)

快速產生一個單行或者選中行的copy
這裏寫圖片描述

Go to implementations( Control + Alt + B/Command + Alt + B)

找到當前接口的實現類,或接口方法的實現方法,在mvp模式裏最經常使用
這裏寫圖片描述

Extract method( Control + Alt + M/Command + Option + M)

爲選中代碼生產一個方法,超級智能,甚至能識別處是否要參數和返回值,若是有多個類似代碼,會提示是否要統一替換,吊到沒朋友。
這裏寫圖片描述

Extract variable(Control + Alt + V/Command + Option + V)

爲選中表達式生成臨時變量,若是有多個地方會提示是否須要統一替換。
這裏寫圖片描述

Extract field(Control + Alt + F/Command + Option + F)

爲選中表達式生成全局變量,若是有多個地方會提示是否須要統一替換。
這裏寫圖片描述

Next highlighted error(F2 / F2)

你必定有過在一個很長代碼文件中找一個錯誤的時候,很麻煩,有了這個功能,光標直接移到錯誤的地方。
這裏寫圖片描述

篇幅有限,就介紹這麼多了,其它的系統快捷鍵我以表格的形式整理下來,許多功能須要本身去嘗試才能發現它的強大。

系統默認快捷鍵

以表格形式列出我的以爲比較經常使用得系統快捷鍵,ps:這裏列出得是系統默認的快捷鍵,若是你快捷鍵類型選定爲eclipse或者其它,你須要找到對應的描述進行查看或者修改。

普通類型

description 解釋 Windows/Linux Mac
Open settings dialogue 快速打開設置 Control + Alt + S Command + , (comma)
Open project structure dialog 打開項目結構 Control + Alt + Shift + S Command + ; (semicolon)
Switch between tabs and tool window tab的切換 Control + Alt + Shift + S Command + ; (semicolon)

追蹤和搜索

description 解釋 Windows/Linux Mac
Find 查找 Control + Alt + S Command + , (comma)
Search everything (including code and menus) 查找全部 點擊shift兩次便可搜索 點擊shift兩次便可搜索
Find next 順序向下查找 F3 Command + G
Find action 查找功能,超級強大,as的全部功能能夠經過該功能來查找 Control + Shift + A Command + Shift + A
Find class 快速找到類並打開文件 Control + N Command + O
Find file (instead of class) 快速查找文件 Control + Shift + N Command + Shift + O
Find in path 在項目下的全部路徑查找 Control + Shift + F Command + Shift + F
Find action
Recently opened files pop-up 列出最近打開的文件 F3Control + E Command + E
Recently edited files pop-up 列出最近編輯過的文件 Control + Shift + E Command + Shift + E
Go to last edit location 回到最近一次編輯的位置 Control + Shift + Backspace Command + Shift + Backspace
Close active editor tab 關閉當前編輯的文件 Control + F4 Command + W
Open type hierarchy 打開類型層次關係 Control + H Control + H
Open method hierarchy 打開方法層次關係 Control + Shift + H Command + Shift + H
Open call hierarchy 打開調用層次關係 Control + Alt + H Control + Option + H

寫代碼經常使用快捷鍵

description 解釋 Windows/Linux Mac
Generate code (getters, setters, constructors, hashCode/equals, toString, new file, new class) 快速生成各類方法 Alt + Insert Command + N
Override methods 顯示全部能夠重寫的方法 Control + O Control + O
Implement methods 顯示全部能夠實現的方法 Control + I Control + I
Surround with (if...else / try...catch / etc.) 快速爲語句生成if else,try catch for循環等 Control + Alt + T Command + Option + T
Delete line at caret 刪除光標所在行 Control + Y Command + Backspace
Duplicate current line or selection 快速產生新的當前行,或者新的多行代碼 Control + D Command + D
Quick documentation lookup 快速查看簡要文檔 Control + P Command + P
Go to declaration (directly) 找到變量或方法聲明處 Control + B or Control + Click Command + B or Command + Click
Go to implementations 找到一個接口的實現類,接口方法的是實現處 Control + Alt + B Command + Alt + B
Go to super-method/super-class 找到父類或父類方法 Control + U Command + U
Toggle project tool window visibility 顯示或隱藏as左邊的項目窗口 Alt + 1 Command + 1
Comment/uncomment with line comment 快速單行註釋或去除註釋 Control + / Command + /
Comment/uncomment with block comment 多行注視或除去多行註釋 Command + Shift + / Command + Shift + /
Project quick fix (show intention actions and quick fixes) 給出當前問題的多種解決方法(該方法很是經常使用) Alt + Enter Option + Enter
Reformat code 格式化代碼 Control + Alt + L Command + Option + L
Next/previous highlighted error 找到下一個/上一個錯誤 F2 / Shift + F2 F2 / Shift + F2

編譯運行

description 解釋 Windows/Linux Mac
Build 編譯 Control + F9 Command + F9
Build and run 編譯 Shift + F10 Control + R

調試

description 解釋 Windows/Linux Mac
Debug Shift + F9 Shift + F9
Step over F8 F8
Step into F7 F7
Smart step into Shift + F7 Shift + F7
Resume program F9 Command + Option + R

修改

description 解釋 Windows/Linux Mac
Safe delete 安全刪除 Alt + Delete Command + Delete
Extract method 提取方法 Control + Alt + M Command + Option + M
Extract method 提取方法 Control + Alt + V Command + Option + V
Extract variable 提取變量 Control + Alt + V Command + Option + V
Extract field 提取全局變量 Control + Alt + F Command + Option + F
Extract constant 提取常量 Control + Alt + C Command + Option + C
Extract parameter 提取參數 Control + Alt + P Command + Option + P

版本控制/本地歷史

description 解釋 Windows/Linux Mac
Commit project to VCS Control + K Command + K
Update project from VCS Control + T Command + T
View recent changes 查看最近修改 Alt + Shift + C Option + Shift + C
Open VCS popup 打開版本控制設置窗口 Alt + ` (backquote) Control + V

擴展

自定義快捷鍵

看到這裏相信你們對快捷鍵有了更深的認識,咱們能夠經過簡單的幾個鍵就實現強大的功能,可是有時候許多系統提供的快捷鍵也許和你自己系統的快捷鍵衝突,或者說某些強大的功能as並無提供你快捷鍵,此時就涉及到快捷鍵的自定義(修改或者添加)。

好比上面提到的 找到並高亮錯誤代碼 as提供的是F2鍵,可是在Mac上是功能鍵而且我也想保留,我就修改成了command+shift+2

關於快捷鍵的自定義我就不細提了,你們百度一下有不少文章。

發現更多功能

keyMap裏列出的功能衆多,篇幅和精力有限,不能一一列出,
各位有時間的時候能夠打開設置->KeyMap,去看裏面的快捷鍵,不肯定的就本身親自按了試一下,你會發現原來能夠那麼方便。

插件

這裏推薦幾個我的使用中以爲的確很好的插件,這些插件的介紹文章都不少,我就不詳細介紹了。

Android ButterKnife Zelezny

可以方便快速初始化,免去了findById等繁瑣的操做。
image

Gsonformat

可根據json數據快速生成java實體類做。
image

Android Material Design Icon Generator

快速生成Material Design圖標,對於在小公司,設計要求不那麼嚴格的同窗能夠方便生成合適的圖標。

Android Wifi ADB

是否是很討厭調試老是要把手機放在電腦旁,有了這個插件你能夠不用挨着電腦調試了。

因爲時間關係,插件的圖沒有製做,上面兩張圖的地址出處:http://www.jcodecraeer.com/a/anzhuokaifa/Android_Studio/2015/1009/3557.html

Tip of the day

不知道你們有沒有注意,天天當你第一次打開Android Studio的時候,老是先彈出一個對話框,相信大多數同窗都是果斷關閉而後開始今天的工做,被猜中的給我點贊!haha

這裏寫圖片描述

Tip of the day會推薦給你一些使用Android Studio的技巧,快捷鍵等等功能,因此但願你們可以花一分鐘看一看,天天一個積累,半年一年以後你就是開發效率之王了!

你能夠隨時菜單選擇help->tip of the day進行查看
這裏寫圖片描述

結語

花了一個週末給你們總結的快速開發到這裏就結束了,因爲時間關係,確定有不少方面不足或者沒有說起到,請見諒!該篇文章會持續更新,喜歡個人文章,歡迎關注我!

點贊只需一秒,動力確是永恆,點個讚唄!

我剛開通了微信公衆號,每週至少兩篇文章,下週開始運做,歡迎關注個人微信公衆號

這裏寫圖片描述

相關文章
相關標籤/搜索