Android Studio Live Temperates

LiveTemperates是IntelliJ IDEA 里很棒的一个功能,Android Studio基于IntelliJ IDEA也继承了这一优秀功能。使用LiveTemperates可以让你码代码如风。

LiveTemperates的默认使用方法是输入模版缩写代码然后摁Tab键自动生成对应的代码。有点像ZenCoding,比如:输入sout然后摁Tab键就会输出System.out.println();

下面让我们看一下在androidStudio中如何查看已有的LiveTemperates

Android Studio Live Temperates_第1张图片
Android Studio 中LiveTemperates的设置

打开Setting输入live找到LiveTemplates,我们可以看到这里有许多预设好的模版。常用代码,注释,日志输出,括号等等非常实用的模版。

下面稍微列出一些常用的LiveTemperates:

  • 常用android代码模版
模版代码 对应输出代码 描述
const private static final int $name$ = $value$; 定义常量
fbc ($cast$) findViewById(R.id.$resId$); findViewById with cast
Toast Toast.makeText($className$.this, "$text$", Toast.LENGTH_SHORT).show(); 创建一个Toast
  • 常用日志输出模版
模版代码 对应输出代码 描述
logd Log.d(TAG, "$METHOD_NAME$ $content$"); Log.d
loge Log.e(TAG, "$METHOD_NAME$ $content$"); Log.e
logi Log.i(TAG, "$METHOD_NAME$ $content$"); Log.i

好吧,上面的表格是我从设置里面抄出来的,其实用很多,鉴于贴代码格式和高光效果很差,大家还是到设置里慢慢查看吧。


自定义LiveTemperate

很多时候预设的模版并不能满足我们的需求,还好androidStudio可以让我们方便的定义自己的Live Temperate,下面我们一步一步的定制一个自己的模版。
接下来我会定义一个输入 / 输出 /** */ 并将光标移动到中间的模版。因为我的键盘没有小键盘,所以这个模版对我来说非常实用。

  • 新建一个TemperateGroup
    在LiveTemperate的设置汇总点击加号,新建一个自定义的TemperateGroup用来存放自定义的模版。
Android Studio Live Temperates_第2张图片
新建一个TemperateGroup
Android Studio Live Temperates_第3张图片
输入模版组的名字
  • 在新建的组内新建一个模版,并输入基本信息,包括缩写,描述和模版内容
Android Studio Live Temperates_第4张图片
输入基本设置
  • 下面让我添加一个参数,来使得光标可以跳至我们写注释的地方,LiveTemperate使用两个$包围的方法定义变量,像这样$variable$
Android Studio Live Temperates_第5张图片
添加变量$comment$
  • 最后添加适用范围(Context):点击Define,我们选择Java中的Declaration
Android Studio Live Temperates_第6张图片
c.png

这里再解释一下context中java里的那几项

  • Statement --不详
  • Expression --不详,看起来在String和comment之外到处都有效
  • Declaration --不详
  • Comment --在注释中可用
  • String --在String中可用,也就是在" "中间
  • Smart type completion --不详
  • Other --大概就是怎样都没有的时候选上吧

这里面具体如何官方文档上也没讲清楚,我又参考了Oracle的The Java™ Tutorials中关于Statement和Expression的定义也没有找到答案,知道答案的同学蛮烦告知一下哈


One more thing

这个例子比较简单,没有展示变量的用法,其实LiveTemperate中有许多预置的function也可以作为变量的值。使用$包起来的文字会被视作变量,点击Edit variables就可以对变量设置表达式,默认值,是否在变量有值时跳过的选项。

Android Studio Live Temperates_第7张图片
用于输出日期的date()函数
一些常用函数 描述
date() 输出日期
time() 输出时间
className() 当前类
clipboard() 剪贴板内容
user() 获取当前用户

还有好多,我也没怎么试过,相信大家用这些函数还可以开发出许多有趣的玩法。


福利:

Github上的一个项目,整理了许多有用的模版,可以直接导入AndroidStudio使用
https://github.com/keyboardsurfer/idea-live-templates

参考:

官方文档:https://www.jetbrains.com/idea/help/live-templates.html
变量文档:https://www.jetbrains.com/idea/help/edit-template-variables-dialog.html

你可能感兴趣的:(Android Studio Live Temperates)