讓你變懶的 Android Studio Live Templates


俗話說。不想偷懶的程序猿不是好程序猿。那么今天就教大家偷懶下!

先舉個樣例。我們在 Android 開發中輸入 Toast ,然后會有例如以下例如以下的高速操作:

是不是非常方便?

有同學問,這不就是自己主動補全么?錯了,乍一看是自己主動補全。事實上不然。自己主動補全是對一個方法或類名的補全,比方你輸入 find 然后就會有 findViewById 方法提示你,你能夠高速定位。可是我們實際開發中一般還須要對它強制轉型,然后加上 R.id.xx 來聲明它的 id。可是你能夠試着輸入 fbc ,然后按 tab 或者 enter 鍵。你會發現比自己主動補全還要更方便。

這個就叫做 Live Template 。假設真要翻譯姑且就叫做實時模板吧,在 AS 中有兩種模板。一種就是你在新建一個 Activity 的時候能夠選擇 Empty Activity、FullScreen Activity 之類的,這個通常是對你整個文件而言的。另一種就是本篇要介紹的 Live Template 。這個會在一些經常使用到的代碼片段會非常實用。

打開 設置 -> Editor -> Live Templates ,能夠看到默認已經有非常多 Live Templates 了,能夠看下我的截圖 Android 分類下有例如以下這些模板:

你都能夠輸入那些縮寫來高速啟用這些模板,比方定義一個常量。高速設置 View 為 gone 。高速啟動一個 Activity 等。你都能夠直接輸入 constgonestarter 來高速操作。是不是認為非常酷炫!

那詳細是怎樣實現的呢?我們最好還是點擊這些模板列表的 starter 。有例如以下代碼:

public static void start(Context context) {
Intent starter = new Intent(context, $ACTIVITY$.class);
starter.putExtra($CURSOR$);
context.startActivity(starter);
}

當中 ACTIVITY 代表當前所在的類名, CURSOR 代表當前鼠標的定位位置,同理 newInstance 能夠幫你在 Fragment 中高速聲明一個新建 Fragment 的方法,它的代碼例如以下:

public static $fragment$ newInstance($args$) {
$nullChecks$
Bundle args = new Bundle();
$addArgs$
$fragment$ fragment = new $fragment$();
fragment.setArguments(args);
return fragment;
}

當中 $$ 代表是一個變量,中間包裹着這個變量的名字,你能夠對這個變量聲明類型。這個后面再說。

是不是非常easy理解呢?假設理解了那么就能夠來依據自己的使用習慣來定義自己的 Live Templates 了。

比方我們在開發中要經常寫單例模式吧?每次都要寫這么一大段是不是非常煩?那么今天就教大家自己定義一個單例模式的模板。以后輕松搞定單例。

設置 -> Editor -> Live Templates ,點擊右上角的 + 號,選擇 Template Group ,由於我習慣自己定義的單獨分組先,這樣好管理,比方新建一個分組叫做 stormzhang ,然后就會看到有一個 stormzhang 的分組顯示在了列表里,這時候鼠標選中該分組,然后再點擊右上角的 + 號,點擊 Live Template ,然后例如以下圖填寫縮寫與描寫敘述,緊接着把例如以下代碼復制到以下的輸入框里(PS:單例模式的寫法有非常多種,這里就任意以當中一種為例)

private static $CLASS$ instance = null;

private $CLASS$(){
}

public static $CLASS$ getInstance() {
synchronized ($CLASS$.class) {
if (instance == null) {
instance = new $CLASS$();
}
}

return instance;
}

注意這里,假設你這段代碼是一些固定的代碼。那么至此就結束了,可是這段代碼里是動態的,里面有一些變量,由於每一個類的類名假設都須要自己手動更改就太麻煩了,所以有個變量 CLASS ,所以須要點擊以下的 Define ,先要定義變量所屬的語言范圍。點開之后能夠看到這里支持 HTML、XML、JSON、Java、C++ 等。非常明顯,我們這里須要支持 Java ,選擇選中 Java :

緊接着,我們須要給變量 CLASS 定義類型。這里的 CLASS 名字任意取的,為了可讀性而已。你高興能夠取名 abc ,真正給這個變量定義類型的是點擊 Edit variables button,來對該變量進行編輯,我們選擇 className() 選項,能夠看到還有其它選項,可是看名字大家大概就猜到什么含義了,這里就不一一解釋了。

點擊 ok 保存。至此我們定義的一個單例的 Live Template 就完畢了。你能夠任意打開一個類文件,然后輸入 singletontab 或者 enter 鍵就能夠看到奇妙的一幕出現了,是不是非常帥?

看完這篇文章想想自己還有哪些經常使用到的代碼片段,趕緊把它定義成一個 Live Template 吧,你會發現你又能夠變懶了!

本文原創公布於微信公眾號 AndroidDeveloper「googdev」。轉載請務必注明出處!

关注微信公众号

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com