您的位置:首页 > 移动开发 > Android开发

Android Studio 利用 Live Templates 定义模板

2016-05-15 17:54 639 查看
在编辑器中使用用
Ctrl + J
 快捷键可以调出Live Templates,可以自动补全所设置模板的代码,善用它能够在很大程度上减少开发所需时间。

设置位置

设置方法: 


Live Template 语法

可以为每个Template指定名字和语句(废话),并且指定适用的文件类型和语句块(修改底部的Applicable in … 即可)

在语句中使用
$...$
 表示待输入的变量(字符串内也可以用),你在每次输入的时候相同的变量会一起改变。(如在语句中含有两个$i$,则你使用模板时改变其中一个的值,另一个也会一起改变) 

可以使用Edit Variable 对它进行一部分修改,它可以修改以下部分

NameExpressionDefault valueSkip if defined
你所定义的所有
$...$
为变量赋特殊值默认值使用时是否跳过编辑
Expression内有很多供使用的非常方便的函数,如className(), methodName()等等。设置Expression后别忘了勾选Skip if defined, 这样在使用的时候光标就不会再停留在这个变量处。

常用Android模板示例

findViewById 以下所有
$cast$
变量的expression值均为
expectedType()
.

NameTemplate Text
fdvfindViewById(R.id.$resId$);
fdvc($cast$) findViewById(R.id.$resId$);
fdv_child$root$.findViewById(R.id.$resId$);
fdvc_child($cast$) $root$.findViewById(R.id.$resId$);
示例: 



Bitmap初始化 
$resource$
 设置defaultValue为
"getResources()"


NameTemplate Text
bmp_resBitmap $var$ = BitmapFactory.decodeResource($resource$, R.id.$resId$);
示例: 



Log 

以下
$method_name$
 的expression值为 
className()
$method_name$
 的expression值为
methodName()
 。

NameTemplate Text
tagprivate static final String TAG = “$class_name$”;
ldLog.d(TAG, “$method_name$” + $content$);
liLog.i(TAG, “$method_name$” + $content$);
leLog.e(TAG, “$method_name$” + $content$);
lvLog.v(TAG, “$method_name$” + $content$);
lwLog.w(TAG, “$method_name$” + $content$);
示例: 



For循环

NameTemplate Text
feachfor ($i$ : $data$) { 
$cursor$ 

}
fiterfor ($i$=$start$; $i$<$end$; $i$++)

$cursor$ 

}
fiter_with_initfor (int $i$=$start$; $i$<$end$; $i$++)

$cursor$ 

}
示例: 



常量定义

NameTemplate Text
cipublic static final int $VAR$ = $VALUE$;
cspublic static final String $VAR$ = $VALUE$;
注意不要把Live Template的名字命名得和常用变量名太像,因为不点击
Ctrl+J
 时输入模板名字+TAB同样也会调出模板,若和常用的变量如(Bitmap,
int, string等)命名相近会造成不必要的麻烦。
 

现在你可以调用这些模板了,快去定义自己喜欢的各种模板吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: