在Android Studio 中新增自定義活動模版(Live templates)

依然範特稀西發表於2019-10-24

在Android Studio 中新增自定義活動模版(Live templates)

原作者:Jovche Mitrejchevski 地址:mrw.so/5bWdIl 譯者:依然範特稀西

什麼是自定義活動模版?(注:很多文章翻譯成實時模版,我認為活動模版更為貼切,下文都將用活動模版->Live templates)在Android Studio 中,有一個概念,就是隻要需要輸入關鍵字,就可以在任何需要的地方將任何文字內容塊作為模板插入,這就是活動模版,通過使用活動模版,我們可以將常用的一些構造插入程式碼中。

Live templates 對我們有什麼幫助?

活動模版非常方便,可以提高我們編寫程式碼的速度。隨著時間的推移,我們在專案中寫著很多相同或者相似的模版程式碼,如:迴圈、條件控制、宣告,甚至整個類别範本(例如RecyclerView.AdapterRecyclerView.ViewHolder等等)。一些人在進行直播編碼演示時廣泛使用活動模板。它節省了大量時間,並且消除了許多可能的錯誤。

如何新建一個活動模版

要配置活動模版,我們需要開啟Android Studio 中的Live Templates 設定頁:Settings -> Editor -> Live Templates, 在實時模版頁,我們可以看見所有可用的活動模版,可以編輯它們,也可以建立新的活動模版。

在Android Studio 中新增自定義活動模版(Live templates)

要定義新模版,在視窗的右側,點選+ 按鈕,這裡有2個可選項:Live TemplateTemplate group

在Android Studio 中新增自定義活動模版(Live templates)

繼續建立一個新的分組,並將它命名為test,該分組將擁有用於編寫測試的活動模板,因此該名稱很應景。

下一步,我們選中新建立的分組test,然後點選右邊的+按鈕,就可以為這個分組中建立一個新的活動模版。

在Android Studio 中新增自定義活動模版(Live templates)

選擇此選項後,在視窗底部,我們可以看到活動模板編輯器

在Android Studio 中新增自定義活動模版(Live templates)

這裡,首先我們必須設定abbreviation(縮寫), 縮寫類似於關鍵字,它將觸發模板在編輯器中的插入。我們還可以為它設定一個簡潔貼切的描述。描述有何作用呢?例如,如果我們對不同的模板有類似的縮寫,則描述對於稍後在程式碼中使用它們時,選擇正確的模板非常有幫助。在本示例中,我們以test作為縮寫,以JUnit test function作為描述。

接下來,我們將定義一個上下文,新模版將在該上下文中可用,在模版編輯器視窗底部,這裡有一個黃色警告⚠️No applicable context, 意思就是沒有可用的上下文

在Android Studio 中新增自定義活動模版(Live templates)

我們點選Define 按鈕,來定義一個上下文

在Android Studio 中新增自定義活動模版(Live templates)

可以看到,如上圖所示,我們選擇了Kotlin Class 作為模版的上下文,也就意味著,這個模版在 Kotlin 類檔案中可用。

接下來,讓我們繼續進行操作,為給定的縮寫(也就是test)設定我們實際想要的模板。在編輯器的“Template text”輸入框中應用以下程式碼:

@org.junit.jupiter.api.Test
fun $EXPR$() {
 org.junit.jupiter.api.Assertions.assertEquals($EXPR1$, $EXPR2$)
}
複製程式碼

活動模板編輯器的右側還有其他設定選項,但我們暫時將其忽略。最後,編輯器的外觀如下:

image.png

接下來,我們要做的就是儲存並完成。這裡解釋一下我們應用的實際模版程式碼:Test類和assertEquals()方法使用完全限定的名稱

 org.junit.jupiter.api.Test
 org.junit.jupiter.api.Assertions.assertEquals
複製程式碼

當我們在編輯器中使用此模板時,Android Studio將自動匯入並補全程式碼。

讓我們來看看它是什麼樣子,開啟一個任意Kotlin class 檔案(因為我們設定的上下文是 Kotlin class 檔案),在類體中,輸入相應的模版縮寫:test

在Android Studio 中新增自定義活動模版(Live templates)

正如我們看到的,Android Studio 彈出了一個小視窗,我們可以選擇其中的可用模版,因為我已經為JUnit4測試功能預先設定了一個活動模板,所以我可以看到兩個可用的選項,也可以選擇我想使用的選項。

只需按⏎(Enter)或⇥(Tab),Android Studio就會在編輯器中插入所選模板,並將游標置於模板的第一個$ EXPR $變數(在本例中為函式名)。

在Android Studio 中新增自定義活動模版(Live templates)

請務必注意,當游標在特定的$ EXPR $變數上鍵入內容時,鍵入的文字將以相同的名稱出現在所有變數中。在我們的示例中,我們總共有三個變數,在每一個變數後面加了一個數字來區別:$ EXPR $$ EXPR1 $$ EXPR2 $。實際上,數字不用作下一個/上一個跳轉的順序,而是隻是用來區分它們。

分享一些活動模版

最近,我發現了一個開源專案叫AndroidLiveTemplatesgithub.com/pranaypatel… ,它提供了一堆很酷很實用的活動模版,如果你有不錯的活動模版,該庫也歡迎提交PR。

以上就是文章的所有內容,希望它對你有用!

如果你喜歡我的文章,就關注下我的公眾號 Android技術雜貨鋪 、 簡書 或者Github! 微信公眾號:Android技術雜貨鋪

簡書:www.jianshu.com/u/35167a70a…

GitHub:github.com/pinguo-zhou…

公眾號.png

相關文章