让你变懒的 Android Studio Live Templates

俗话说。不想偷懒的程序猿不是好程序猿。那么今天就教你们偷懒下!ruby

先举个样例。咱们在 Android 开发中输入 Toast ,而后会有例如如下例如如下的高速操做:微信

是否是很是方便?markdown

有同窗问,这不就是本身主动补全么?错了,乍一看是本身主动补全。事实上否则。本身主动补全是对一个方法或类名的补全,比方你输入 find 而后就会有 findViewById 方法提示你,你可以高速定位。但是咱们实际开发中通常还需要对它强制转型,而后加上 R.id.xx 来声明它的 id。但是你可以试着输入 fbc ,而后按 tab 或者 enter 键。你会发现比本身主动补全还要更方便。post

这个就叫作 Live Template 。假设真要翻译姑且就叫作实时模板吧,在 AS 中有两种模板。一种就是你在新建一个 Activity 的时候可以选择 Empty Activity、FullScreen Activity 之类的,这个一般是对你整个文件而言的。另外一种就是本篇要介绍的 Live Template 。这个会在一些常常使用到的代码片断会很是实用。spa

打开 设置 -> Editor -> Live Templates ,可以看到默认已经有很是多 Live Templates 了,可以看下个人截图 Android 分类下有例如如下这些模板:翻译

你都可以输入那些缩写来高速启用这些模板,比方定义一个常量。高速设置 View 为 gone 。高速启动一个 Activity 等。你都可以直接输入 constgonestarter 来高速操做。是否是认为很是酷炫!code

那详细是怎样实现的呢?咱们最好仍是点击这些模板列表的 starter 。有例如如下代码:orm

public static void start(Context context) {
    Intent starter = new Intent(context, $ACTIVITY$.class);
    starter.putExtra($CURSOR$);
    context.startActivity(starter);
}

当中 ACTIVITY 表明当前所在的类名, CURSOR 表明当前鼠标的定位位置,同理 newInstance 可以帮你在 Fragment 中高速声明一个新建 Fragment 的方法,它的代码例如如下:ip

public static $fragment$ newInstance($args$) {
    $nullChecks$     Bundle args = new Bundle();
    $addArgs$     $fragment$ fragment = new $fragment$();
    fragment.setArguments(args);
    return fragment;
}

当中 $$ 表明是一个变量,中间包裹着这个变量的名字,你可以对这个变量声明类型。这个后面再说。开发

是否是很是easy理解呢?假设理解了那么就可以来依据本身的使用习惯来定义本身的 Live Templates 了。

比方咱们在开发中要常常写单例模式吧?每次都要写这么一大段是否是很是烦?那么今天就教你们本身定义一个单例模式的模板。之后轻松搞定单例。

设置 -> Editor -> Live Templates ,点击右上角的 + 号,选择 Template Group ,因为我习惯本身定义的单独分组先,这样好管理,比方新建一个分组叫作 stormzhang ,而后就会看到有一个 stormzhang 的分组显示在了列表里,这时候鼠标选中该分组,而后再点击右上角的 + 号,点击 Live Template ,而后例如如下图填写缩写与描写叙述,紧接着把例如如下代码复制到如下的输入框里(PS:单例模式的写法有很是多种,这里就职意以当中一种为例)

private static $CLASS$ instance = null;

private $CLASS$(){
}

public static $CLASS$ getInstance() {
    synchronized ($CLASS$.class) {
        if (instance == null) {
            instance = new $CLASS$();
        }
    }

    return instance;
}

注意这里,假设你这段代码是一些固定的代码。那么至此就结束了,但是这段代码里是动态的,里面有一些变量,因为每个类的类名假设都需要本身手动更改就太麻烦了,因此有个变量 CLASS ,因此需要点击如下的 Define ,先要定义变量所属的语言范围。点开以后可以看到这里支持 HTML、XML、JSON、Java、C++ 等。很是明显,咱们这里需要支持 Java ,选择选中 Java :

紧接着,咱们需要给变量 CLASS 定义类型。这里的 CLASS 名字任意取的,为了可读性而已。你高兴可以取名 abc ,真正给这个变量定义类型的是点击 Edit variables button,来对该变量进行编辑,咱们选择 className() 选项,可以看到还有其它选项,但是看名字你们大概就猜到什么含义了,这里就不一一解释了。

点击 ok 保存。至此咱们定义的一个单例的 Live Template 就完毕了。你可以任意打开一个类文件,而后输入 singletontab 或者 enter 键就可以看到奇妙的一幕出现了,是否是很是帅?

看完这篇文章想一想本身还有哪些常常使用到的代码片断,赶忙把它定义成一个 Live Template 吧,你会发现你又可以变懒了!

本文原创公布于微信公众号 AndroidDeveloper「googdev」。转载请务必注明出处!

相关文章
相关标签/搜索