Android 你可能忽略的提高敲代碼效率的方式(轉(zhuǎn))

本文轉(zhuǎn)自鴻洋微信公眾號(hào)由大力-哥投稿。

大力-哥的博客地址:

http://blog.csdn.net/qq137722697

本篇將從 Live Templates簡介沧奴,常用AS自帶模板粤剧,自定義模板三個(gè)方面開展介紹歇竟,并且只介紹 Live Templates中Java代碼方面的使用,其余感覺不是很常用抵恋,看完這篇之后你可以自己研究一下焕议。

一個(gè)好的程序猿應(yīng)該是花更多的時(shí)間在處理業(yè)務(wù)處理上,而不是重復(fù)敲相同的代碼弧关,一行代碼節(jié)約1s也是節(jié)約盅安。看完這篇之后你會(huì)覺得AS確實(shí)越來越強(qiáng)大了世囊,簡直是Android程序猿的福音呀别瞭,希望推出更多提高開發(fā)效率的工具或插件。廢話不多說株憾,直接進(jìn)入主題蝙寨。

1、什么是 Live Templates

沒有統(tǒng)一的翻譯嗤瞎,代碼模板墙歪、熱鍵模板、動(dòng)態(tài)模板隨便叫哪個(gè)都行

作用

代碼快速補(bǔ)全

提高寫代碼的速度

位置

Settings->Editor->Live Templates

用法

全關(guān)鍵字型:關(guān)鍵字–>回車

后綴關(guān)鍵型:使用對(duì)象.關(guān)鍵字–>回車

簡單使用

先來兩個(gè)效果圖贝奇,吊一下胃口虹菲,更加實(shí)用的還在后面

AS自帶模板

快速打印日志

logt –>快速補(bǔ)全TAG

loge—>快速補(bǔ)全Log.e(TAG,”“);

自定義模板

輸入 sin 回車即自動(dòng)補(bǔ)全單例模式所需的代碼

系統(tǒng)自帶模板

系統(tǒng)自帶模板從兩個(gè)方面講解,全關(guān)鍵字型和后綴關(guān)鍵型掉瞳,由于篇幅的原因毕源,這里只講解常用的一些模板髓帽,未講解到的可以到 Settings->Editor->Live Templates中查看

2、全關(guān)鍵字型

先來說說什么是全關(guān)鍵字型脑豹,其實(shí)就是輸入關(guān)鍵字–>回車郑藏,

eg:輸入loge 回車即會(huì)自動(dòng)打印出

Log.e(TAG, "onCreate: ", );

(1)findViewById

在此之前我們?cè)贏ctivity中找到一個(gè)view可能是這樣寫的:

有了fbc之后我們可以這樣寫:fbc 回車

(2)定義常量

以前你寫整形常量是不是要一個(gè)單詞的敲出:?private static final int 。瘩欺。必盖。

還有更快的寫法:const 回車

字符串常量也有:key 回車

其他常量,目前as只提供了整形和字符串類型常量的模板俱饿,學(xué)了后面的自定義之后你就可以定義其他類型的了歌粥,當(dāng)然還有一種捷徑:psf 回車即可快速補(bǔ)全

public static final

(3)for循環(huán)

相信很多小伙伴也覺得每次都要寫整個(gè)for循環(huán)好麻煩,as提供了:fori 回車拍埠,看對(duì)比圖

這里還有一個(gè)隱藏的模板失驶,sout 回車即可快速補(bǔ)全 System.out.printf(“”);

(4)if判斷

ifn 回車(推薦)

inn 回車

(5)隱藏View

gone


(6)快速在子線程中切換到主線程

rouiT

(7)字符串格式化

Sfmt

(8)快速實(shí)現(xiàn)自定義View的三個(gè)構(gòu)造方法

ViewConstructors

個(gè)人覺得這個(gè)是一個(gè)非常實(shí)用的模板了,比快捷鍵還方面枣购,不行你自己試試

OK 全關(guān)鍵字型就只講這些常用的了嬉探,不常用的可以去設(shè)置中查看。

3棉圈、后綴關(guān)鍵型

再來說說什么是后綴關(guān)鍵型涩堤,其實(shí)就是“使用對(duì)象.關(guān)鍵字–>回車”,繼續(xù)往下看就知道是什么啦:

判斷

.notnull

.null

局部變量

.var

全局變量

.field

這個(gè)也是一個(gè)非常實(shí)用的模板分瘾,在代碼量非常多的類中就更加突出了胎围,不用跑到來的最前面定義右跑回來初始化。

循環(huán)

.for 增強(qiáng)for循環(huán)

.fori 正序遍歷

.forr 逆序遍歷

還有針對(duì)下標(biāo)的


return返回

.return

類型轉(zhuǎn)換

.cast


拋出異常

.try

字符串格式化

.format

分支

.switch

后綴型的也只講這些常用的了德召,快進(jìn)入激動(dòng)的自定義模板白魂。

4、自定義模塊

我這里給出幾個(gè)比較常用的自定義模板上岗,如果你覺得有比較好的可以抽取出來的福荸,歡迎留言。

(1)單例模式

還是一開始就給出的單例模式液茎,再來看看效果圖:

是不是很帶感逞姿,來看看怎么設(shè)置(建議先新建一個(gè)Template Group辞嗡,便于管理):

然后點(diǎn)擊 Edit variables

下面是單例模式的模板(根據(jù)個(gè)人寫單例模式的習(xí)慣來)

來看看上面涉及到的知識(shí):

更詳細(xì)的Expression?介紹:

https://www.jetbrains.com/help/idea/2016.1/live-template-variables.html

Skip if defined?:

如果選中捆等,光標(biāo)會(huì)直接跳到句末,不會(huì)停留在某個(gè)變量處续室。

(2)click

模板:

public void onClick(View view) {

switch (view.getId()) {

case R.id.$resId$:

$content$

break;

default:

break;

}

}

(3)打印帶定位功能的日志

新建 dl (名字自擬)為下面的模板

Log.e("$class$",

"$method$($class$.java:$line$)"+$content$);

為什么打印下面的代碼就可以定位到指定類所在的行數(shù)呢栋烤?

Log.e("MainActivity",

"onCreate(MainActivity.java:13)我是日志內(nèi)容");

告訴你一個(gè)小秘密,logcat中只要打印的內(nèi)容中帶有”(類名.java:行號(hào))”就可以自動(dòng)變?yōu)榭牲c(diǎn)擊的鏈接挺狰,點(diǎn)擊之后就可以跳轉(zhuǎn)到改類指定的行數(shù)明郭。

這樣就實(shí)現(xiàn)了打印帶定位功能的日志买窟,但是這個(gè)是有一定的局限性的,比如打印語句之前很可能會(huì)增加代碼薯定,由于行數(shù)是固定死的始绍,此時(shí)就會(huì)導(dǎo)致定位有一定的誤差。怎么解決呢话侄?這里推薦看一個(gè)日志打印的工具類亏推,android studio日志打印神器,日志代碼跟蹤器ELog年堆。

(4)Switch

快速搭建模式吞杭、防止漏掉break和default

switch ($content$) {

case $value$:

$code$

break;

default:

break;

}

(5)字符串非空判斷

這也是一個(gè)非常實(shí)用的模板了

TextUtils.isEmpty($content$);

最后

這篇文章是本人在給組內(nèi)同事培訓(xùn)時(shí)制作的ppt修改而來,我將ppt共享出來变丧,如果你有這個(gè)需求也可以下來修改修改芽狗。

下載地址:

https://github.com/huangdali/livetemplates

如何你覺得這篇文章對(duì)你有用,歡迎star痒蓬,如果你有更好的自定義模板童擎,歡迎填充完善,幫助更多的人

如果你有想學(xué)習(xí)的文章直接留言攻晒,我會(huì)整理征稿柔昼。如果你有好的文章想和大家分享歡迎投稿,直接向我投遞文章鏈接即可炎辨。

歡迎長按下圖->識(shí)別圖中二維碼或者掃一掃關(guān)注我的公眾號(hào):

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末捕透,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子碴萧,更是在濱河造成了極大的恐慌乙嘀,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件破喻,死亡現(xiàn)場離奇詭異虎谢,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)曹质,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門婴噩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人羽德,你說我怎么就攤上這事几莽。” “怎么了宅静?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵章蚣,是天一觀的道長。 經(jīng)常有香客問我姨夹,道長纤垂,這世上最難降的妖魔是什么矾策? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮峭沦,結(jié)果婚禮上贾虽,老公的妹妹穿的比我還像新娘。我一直安慰自己吼鱼,他們只是感情好榄鉴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蛉抓,像睡著了一般庆尘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上巷送,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天驶忌,我揣著相機(jī)與錄音,去河邊找鬼笑跛。 笑死付魔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的飞蹂。 我是一名探鬼主播几苍,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼陈哑!你這毒婦竟也來了妻坝?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤惊窖,失蹤者是張志新(化名)和其女友劉穎刽宪,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體界酒,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡圣拄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了毁欣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片庇谆。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖凭疮,靈堂內(nèi)的尸體忽然破棺而出饭耳,到底是詐尸還是另有隱情,我是刑警寧澤哭尝,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布哥攘,位于F島的核電站剖煌,受9級(jí)特大地震影響材鹦,放射性物質(zhì)發(fā)生泄漏逝淹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一桶唐、第九天 我趴在偏房一處隱蔽的房頂上張望栅葡。 院中可真熱鬧,春花似錦尤泽、人聲如沸欣簇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽熊咽。三九已至,卻和暖如春闹丐,著一層夾襖步出監(jiān)牢的瞬間横殴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國打工卿拴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留衫仑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓堕花,卻偏偏與公主長得像文狱,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子缘挽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,079評(píng)論 25 707
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,806評(píng)論 6 342
  • 1 背景 一個(gè)項(xiàng)目開發(fā)必然會(huì)涉及團(tuán)隊(duì)協(xié)作瞄崇,而工程質(zhì)量就需要團(tuán)隊(duì)去保證。一般我們期望的代碼:無潛在風(fēng)險(xiǎn)壕曼、無重復(fù)邏輯杠袱、...
    zyl06閱讀 3,214評(píng)論 5 16
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)窝稿,斷路器楣富,智...
    卡卡羅2017閱讀 134,652評(píng)論 18 139
  • 中午的陽光總是那么熱 地里的草總是那么高 看見爺爺?shù)氖忠幌乱幌履ブ?這是要準(zhǔn)備干嘛?
    蔣進(jìn)愛閱讀 236評(píng)論 0 0