English Version

声明

Android Studio的模板包括以下三种,这里讲的是第三种Multi Template。在阅读本文之前,默认你是了解该模板的,知道为什么要使用它,如果不清楚它是什么,可以在网上自行查阅相关资料,当然也可以直接点击这里查看一下同行们对它的评价

  • Live Template:代码片段级别
  • File Template:单文件级别
  • Multi Template:多个文件级别(以下称 Android Studio Template

WHAT

TemplateBuilder是一款能够帮助我们快速生成Android Studio Template的AS插件,将通过逐个文件去配置模板的方式改进为通过插件来实现,对于简单的模板制作,只需要一键即可生成。

HOW

安装

打开Android Studio,Preferences -- Plugins -- Brown Repositories, 搜索TemplateBuilder 并下载,下载之后重启IDE即可使用。

使用

这里我们就拿对一个MVP模板的抽取来举例,首先选中需要制作为模板的类文件(如果需要选中某个包下面的全部文件,可以直接选中该包),然后按下启动改插件的快捷键ALT + T,便能看到如下界面

下面来说明一下该界面对应的内容

  • Template Category 对应模板的分类,对应选择导入模板时的模板分类,这里默认值是电脑的用户名。

  • Template Name 对应模板名称,对应选择导入模板时的模板名称,默认值是当前的Project名称。

  • Template Description 对应模板描述信息,对应导入模板时弹出的导入界面的文字描述,默认为空。

  • Template Folder 对应生成模板所存放的位置,如果是Mac操作系统则默认为/Applications/Android Studio.app/Contents/plugins/android/lib/templates, Windows系统的话由于差异比较大,就默认为空了,可以自行配置[Android Studio安装目录]/plugins/android/lib/templates(这里只需要配置一次即可,插件将自动保存该位置)。

  • Input data区域 对应使用我们模板时的变量输入,如果你想增强模板的可配性将会用到它,它就对应着AS模板中Template.xml<parameter />标签,也就是下面的每一个配置项。

整个的UI界面很明了,如果你只是想简单抽取你写的这个模板,你只需要输入下Template NameTemplate Description即可,当然如果你不想输入的话这也可以省略掉。接下来直接点击Finish,就能在IDE底部看到弹出如下图所示的提示,此时你已经制作成功,重启IDE即可使用该模板。

到这里,如果你了解Android Studio Template制作流程的话,你可能觉得相对于完全自己手动去做这样固然简单,但是灵活性上降低了不少。例如模板中有组价依赖关系的时候,你需要在build.gradle.ftl中去添加对应的依赖;导入模板之后你想自动打开某个文件时,你需要编辑recipe.xml.ftl;选择模板适用于哪个版本时,你需要编辑template.xml等等。如果你有这方面的需求,可以点击Next来代替Finish,点击之后你就能看到如下界面,在这里提供了所有你需要关注的配置文件的编辑,编辑完成直接点击OK开始自动生成。

WHY

如果你尝试过自己去制作一个Android Studio Template的话,相信你一定会为模板配置、更改文件名、添加可配参数等等繁琐的操作而烦恼,因为哪怕一个很简单的模板抽取都需要把这一系列流程全都走一遍,更改好几个配置文件。

说下我的个人感受,当我发现Android Studio Template时我顿时感觉有太多太多可以抽取出来的模板以供日后快速使用,但当我刚开始抽取几个模板的时候就已经被深深的恶心到了,因为这个过程真心很繁琐。记得当时还专门写groovy脚本来辅助进行这些模板的配置,但也还是需要向脚本里添加一些模板文件的入参信息,依然很麻烦。后来我决定将这个制作过程尽可能通过自动化来完成,当时考虑Gradle插件Java GUIAS Plugin等多种方式来完成模板制作,最终选择了快而方便的AS Plugin,插件的名称就是上面所提到的TemplateBuilder

Templatebuilder

Android Studio模板一键生成插件

Templatebuilder Info

⭐ Stars 38
🔗 Homepage puke3615.github.io
🔗 Source Code github.com
🕒 Last Update 6 months ago
🕒 Created 4 years ago
🐞 Open Issues 6
➗ Star-Issue Ratio 6
😎 Author puke3615