讓你變懶的 Android Studio Live Templates
俗話說(shuō)。不想偷懶的程序猿不是好程序猿。那么今天就教大家偷懶下!
先舉個(gè)樣例。我們?cè)?Android 開(kāi)發(fā)中輸入 Toast ,然后會(huì)有例如以下例如以下的高速操作:

是不是非常方便?
有同學(xué)問(wèn),這不就是自己主動(dòng)補(bǔ)全么?錯(cuò)了,乍一看是自己主動(dòng)補(bǔ)全。事實(shí)上不然。自己主動(dòng)補(bǔ)全是對(duì)一個(gè)方法或類名的補(bǔ)全,比方你輸入 find 然后就會(huì)有 findViewById 方法提示你,你能夠高速定位。可是我們實(shí)際開(kāi)發(fā)中一般還須要對(duì)它強(qiáng)制轉(zhuǎn)型,然后加上 R.id.xx 來(lái)聲明它的 id。可是你能夠試著輸入 fbc ,然后按 tab 或者 enter 鍵。你會(huì)發(fā)現(xiàn)比自己主動(dòng)補(bǔ)全還要更方便。
這個(gè)就叫做 Live Template 。假設(shè)真要翻譯姑且就叫做實(shí)時(shí)模板吧,在 AS 中有兩種模板。一種就是你在新建一個(gè) Activity 的時(shí)候能夠選擇 Empty Activity、FullScreen Activity 之類的,這個(gè)通常是對(duì)你整個(gè)文件而言的。另一種就是本篇要介紹的 Live Template 。這個(gè)會(huì)在一些經(jīng)常使用到的代碼片段會(huì)非常實(shí)用。
打開(kāi) 設(shè)置 -> Editor -> Live Templates ,能夠看到默認(rèn)已經(jīng)有非常多 Live Templates 了,能夠看下我的截圖 Android 分類下有例如以下這些模板:

你都能夠輸入那些縮寫來(lái)高速啟用這些模板,比方定義一個(gè)常量。高速設(shè)置 View 為 gone 。高速啟動(dòng)一個(gè) Activity 等。你都能夠直接輸入 const、gone、starter 來(lái)高速操作。是不是認(rèn)為非常酷炫!
那詳細(xì)是怎樣實(shí)現(xiàn)的呢?我們最好還是點(diǎn)擊這些模板列表的 starter 。有例如以下代碼:
public static void start(Context context) {
Intent starter = new Intent(context, $ACTIVITY$.class);
starter.putExtra($CURSOR$);
context.startActivity(starter);
}
當(dāng)中
public static $fragment$ newInstance($args$) {
$nullChecks$
Bundle args = new Bundle();
$addArgs$
$fragment$ fragment = new $fragment$();
fragment.setArguments(args);
return fragment;
}
當(dāng)中 $$ 代表是一個(gè)變量,中間包裹著這個(gè)變量的名字,你能夠?qū)@個(gè)變量聲明類型。這個(gè)后面再說(shuō)。
是不是非常easy理解呢?假設(shè)理解了那么就能夠來(lái)依據(jù)自己的使用習(xí)慣來(lái)定義自己的 Live Templates 了。
比方我們?cè)陂_(kāi)發(fā)中要經(jīng)常寫單例模式吧?每次都要寫這么一大段是不是非常煩?那么今天就教大家自己定義一個(gè)單例模式的模板。以后輕松搞定單例。
到 設(shè)置 -> Editor -> Live Templates ,點(diǎn)擊右上角的 + 號(hào),選擇 Template Group ,由于我習(xí)慣自己定義的單獨(dú)分組先,這樣好管理,比方新建一個(gè)分組叫做 stormzhang ,然后就會(huì)看到有一個(gè) stormzhang 的分組顯示在了列表里,這時(shí)候鼠標(biāo)選中該分組,然后再點(diǎn)擊右上角的 + 號(hào),點(diǎn)擊 Live Template ,然后例如以下圖填寫縮寫與描寫敘述,緊接著把例如以下代碼復(fù)制到以下的輸入框里(PS:?jiǎn)卫J降膶懛ㄓ蟹浅6喾N,這里就任意以當(dāng)中一種為例)
private static $CLASS$ instance = null;
private $CLASS$(){
}
public static $CLASS$ getInstance() {
synchronized ($CLASS$.class) {
if (instance == null) {
instance = new $CLASS$();
}
}
return instance;
}
注意這里,假設(shè)你這段代碼是一些固定的代碼。那么至此就結(jié)束了,可是這段代碼里是動(dòng)態(tài)的,里面有一些變量,由于每一個(gè)類的類名假設(shè)都須要自己手動(dòng)更改就太麻煩了,所以有個(gè)變量

緊接著,我們須要給變量

點(diǎn)擊 ok 保存。至此我們定義的一個(gè)單例的 Live Template 就完畢了。你能夠任意打開(kāi)一個(gè)類文件,然后輸入 singleton 按 tab 或者 enter 鍵就能夠看到奇妙的一幕出現(xiàn)了,是不是非常帥?
看完這篇文章想想自己還有哪些經(jīng)常使用到的代碼片段,趕緊把它定義成一個(gè) Live Template 吧,你會(huì)發(fā)現(xiàn)你又能夠變懶了!
本文原創(chuàng)公布于微信公眾號(hào) AndroidDeveloper「googdev」。轉(zhuǎn)載請(qǐng)務(wù)必注明出處!
浙公網(wǎng)安備 33010602011771號(hào)