在Android Studio 中添加自定义活动模版(Live templates)

原做者:Jovche Mitrejchevski 地址:mrw.so/5bWdIl 译者:依然范特稀西git

什么是自定义活动模版?(注:不少文章翻译成实时模版,我认为活动模版更为贴切,下文都将用活动模版->Live templates)在Android Studio 中,有一个概念,就是只要须要输入关键字,就能够在任何须要的地方将任何文本内容块做为模板插入,这就是活动模版,经过使用活动模版,咱们能够将经常使用的一些构造插入代码中。github

Live templates 对咱们有什么帮助?

活动模版很是方便,能够提升咱们编写代码的速度。随着时间的推移,咱们在项目中写着不少相同或者类似的模版代码,如:循环、条件控制、声明,甚至整个类模板(例如RecyclerView.AdapterRecyclerView.ViewHolder等等)。一些人在进行直播编码演示时普遍使用活动模板。它节省了大量时间,而且消除了许多可能的错误。api

如何新建一个活动模版

要配置活动模版,咱们须要打开Android Studio 中的Live Templates 设置页:Settings -> Editor -> Live Templates, 在实时模版页,咱们能够看见全部可用的活动模版,能够编辑它们,也能够建立新的活动模版。微信

要定义新模版,在窗口的右侧,点击+ 按钮,这里有2个可选项:Live TemplateTemplate groupapp

继续建立一个新的分组,并将它命名为test,该分组将拥有用于编写测试的活动模板,所以该名称很应景。编辑器

下一步,咱们选中新建立的分组test,而后点击右边的+按钮,就能够为这个分组中建立一个新的活动模版。函数

选择此选项后,在窗口底部,咱们能够看到活动模板编辑器测试

这里,首先咱们必须设置abbreviation(缩写), 缩写相似于关键字,它将触发模板在编辑器中的插入。咱们还能够为它设置一个简洁贴切的描述。描述有何做用呢?例如,若是咱们对不一样的模板有相似的缩写,则描述对于稍后在代码中使用它们时,选择正确的模板很是有帮助。在本示例中,咱们以test做为缩写,以JUnit test function做为描述。编码

接下来,咱们将定义一个上下文,新模版将在该上下文中可用,在模版编辑器窗口底部,这里有一个黄色警告⚠️No applicable context, 意思就是没有可用的上下文spa

咱们点击Define 按钮,来定义一个上下文

能够看到,如上图所示,咱们选择了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 弹出了一个小窗口,咱们能够选择其中的可用模版,由于我已经为JUnit4测试功能预先设置了一个活动模板,因此我能够看到两个可用的选项,也能够选择我想使用的选项。

只需按⏎(Enter)或⇥(Tab),Android Studio就会在编辑器中插入所选模板,并将光标置于模板的第一个$ EXPR $变量(在本例中为函数名)。

请务必注意,当光标在特定的$ EXPR $变量上键入内容时,键入的文本将以相同的名称出如今全部变量中。在咱们的示例中,咱们总共有三个变量,在每个变量后面加了一个数字来区别:$ EXPR $$ EXPR1 $$ EXPR2 $。实际上,数字不用做下一个/上一个跳转的顺序,而是只是用来区分它们。

分享一些活动模版

最近,我发现了一个开源项目叫AndroidLiveTemplatesgithub.com/pranaypatel… ,它提供了一堆很酷很实用的活动模版,若是你有不错的活动模版,该库也欢迎提交PR。

以上就是文章的全部内容,但愿它对你有用!

若是你喜欢个人文章,就关注下个人公众号 Android技术杂货铺 、 简书 或者Github! 微信公众号:Android技术杂货铺

简书:www.jianshu.com/u/35167a70a…

GitHub:github.com/pinguo-zhou…

公众号.png
相关文章
相关标签/搜索