從eclipse切換到Android Studio,感覺最爽的就是AS的強大代碼提示功能以及強大的插件支持,幫我們解決了很大一部分重復且技術含量較低的代碼,解放生產力,讓我們專注了解業(yè)務及技術的研發(fā),自從google宣布kotlin作為android官方的開發(fā)語言以來,就想從java切換到kotlin開發(fā),代碼真的簡潔了很多,少了很多,且最新的AS3.0支持將java轉換為kotlin代碼(目前不太好用,轉了之后bug較多,但之后肯定會有改進),kotlin本來就是完全兼容java,支持混合開發(fā),但目前kotlin的資料還是比較少,插件更是少之又少,完全使用kotlin編程,一下子還有些不適應,雖然kotlin可以調用任意的java庫(反之亦可),突然還要寫findViewById(只是簡潔了些)就有些失落,就試著看看之前的ButterKnifeZelezny能不能用(AS自帶粘貼java轉kotlin代碼功能),抱著這個想法安裝了下,發(fā)現(xiàn)完全不能用了,github上也找了下,還木有這樣的插件,于是決定弄一個支持kotlin的插件。
附上一張動態(tài)圖,你們感受下,如果覺得好記得github給個贊喲,有興趣的,可以看github源碼

這是基于JakeWharton大神寫的Kotter Knife,本想也支持onClick事件的,卻發(fā)現(xiàn)JakeWharton沒這打算https://github.com/JakeWharton/kotterknife/issues/57 說是kotlin不太需要,那就先這樣吧。
看到這動態(tài)圖,應該挺熟悉的,感覺也沒有多少不一樣的地方,這個應該很簡單,只需要基于ButterKnifeZelezny改一下生成代碼的模板就行了,好吧,其實我最初就是這樣想的,理想很豐滿現(xiàn)實很骨感,編寫java插件和kotlin插件,完全不是一套api,在兩年前,其實我就對于這個插件進行了一些改進,但由于英語不太好,當時git也不太熟悉(公司用的svn)全靠自己摸索,并沒有向原作者提pull request,但是網上是還有有有心人向原作者推薦了我的改進之后的插件https://github.com/avast/android-butterknife-zelezny/issues/73 之后的版本中于是都可以生成onClick方法了,這個插件真心能極大提高我們的效率,我也一直都在用,其實現(xiàn)在看來,當時只不過修改了下源代碼,照葫蘆畫瓢,但Idea還是不錯的。
從有想法到實現(xiàn)這個插件歷時一個月左右,可以在intellij idea和android studio上使用,歡迎大家使用和反饋意見https://github.com/dongjunkun/KotterKnife-Plugin