巧用Live Template,不仅能提升AS开发效率,还能装逼
来源:互联网 发布:源码交易系统 编辑:程序博客网 时间:2024/06/03 23:46
Android Studio已经更新到2.3版本了,修正了一些bug,同时增加了很多新功能,所包含的功能越来越强大。个人感觉在使用上和Eclipse简直不在同一个级别上,当然如果你之前习惯使用Eclipse,确实需要一段时间的适应,但当你适应后就会爱不释手。
迄今为止,Android Studio的操作还有很多不熟练的地方,甚至很多人都不知道原来还可以这样。先来看看几个操作事例吧!
是不是比我们正常输入快捷很多,当然这只是其中几个小事例而已。看到这里,有很多童鞋可能要说这不就是代码补全吗?
乍一看是自动补全,其实不然,自动补全只是对一个方法或类名的补全,而这个只需要简单输入几个字符就可以出来一大段代码,正是Android Studio的Live Template,在开发中善加利用简直喜欢的不要不要的。
除了上面这几个,Android Studio还给我们内置了很多默认模板,一起来学习一下吧。
1.psf
public static final
2.psfi
public static final int
3.psfs
public static final String
4.St
String
5.thr
throw new
6.todo
// TODO: 2017/3/15
7.appNs
xmlns:app="http://schemas.android.com/apk/res-auto"
8.lh
android:layout_height="$height$"
9.lhm
android:layout_height="match_parent"
10.lhw
android:layout_height="wrap_content"
11.lw
android:layout_width="$width$"
12.lem
android:layout_width="match_parent"
13.lww
android:layout_width="wrap_content"
14.toolsNs
xmlns:tools="http://schemas.android.com/tools"
15.visible
view.setVisibility(View.VISIBLE);
16.gone
view.setVisibility(View.GONE);
17.Sfmt
String.format($string$, $params$);
18.const
private static final int $name$ = $value$;
19.key
private static final String KEY_$value$ = $value$;
20.fbc
($cast$) findViewById(R.id.$resId$);
21.rgS
$resources$.getString(R.string.$stringId$)
22.Toast 创建Toast
Toast.makeText($context$, $text$, Toast.LENGTH_SHORT).show();
23.mn 求最小值
var1 = Math.min(var2,var3);
24.mx 求最大值
var1 = Math.max(var2,var3);
25.logt 快速生成TAG
private static final String TAG = $className$;
26.logm
Log.d(TAG, $content$);
27.logd
Log.d(TAG, $METHOD_NAME$: $content$);
28.logi
Log.i(TAG, $METHOD_NAME$: $content$);
29.logr
Log.d(TAG, $METHOD_NAME$() returned: + $result$);
30.loge
Log.e(TAG, $METHOD_NAME$: $content$, $exception$);
31.logw
Log.w(TAG, $METHOD_NAME$: $content$, $exception$);
32.ifn 对象判空
if (变量 == null) {}
33.inn 对象非空判断
if (变量 != null) {}
34.lst 数组末尾元素
$ARRAY$[$ARRAY$.length - 1]
35.for for循环
for () {}
36.forii 变量作为索引for循环
for (int i = 0; i ; i++) {}
37.itco 遍历Collection集合
for (Iterator iterator = collection.iterator(); iterator.hasNext(); ) { Object next = iterator.next(); }
38.itve 遍历Vector集合
for(int i = 0; $INDEX$ $VECTOR$.size(); i++) { $ELEMENT_TYPE$ $VAR$ = $CAST$ $VECTOR$.elementAt(i);}
39.itar 遍历数组
for (int i = 0; i Array.length; i++) { int i1 = Array[i];}
40.itit 获取迭代器并遍历
while (iterator.hasNext()) { Object next = iterator.next(); }
41.iten 遍历枚举
while (枚举类.hasMoreElements()) { Object nextElement = 枚举类.nextElement(); }
42.lazy 对象判空创建并
if (savedInstanceState == null) { savedInstanceState = new Bundle(); }
43.inst 实例判断
if ($EXPR$ instanceof $TYPE$) { $TYPE$ $VAR1$ = ($TYPE$)$EXPR$; $END$ }
44.geti 快速生成Instance方法
public static MainActivity getInstance() { return ; }
45.psvm 快速生成main方法
public static void main(String[] args){}
46.starter 开启Activity方法
public static void start(Context context) { Intent starter = new Intent(context, $ACTIVITY$.class); starter.putExtra($CURSOR$); context.startActivity(starter);}
47.rouiT 构建runOnUiThread
getActivity().runOnUiThread(new Runnable() { @Override public void run() { $cursor$ }});
48.IntentView
Intent view = new Intent();view.setAction(Intent.ACTION_VIEW);view.setData(Uri.parse($url$));startActivity(view);
49.ViewConstructors 自定义View构造器
public $class$(Context context) { this(context, null);}public $class$(Context context, AttributeSet attrs) { this(context, attrs, 0);}public $class$(Context context, AttributeSet attrs, int defStyle) super(context, attrs, defStyle); $cursor$}
50.toar 将Collection的对象存储到一个数组里
something.toArray(new collection[collection.size()])
如果能够不断使用并熟练后,开发效率一定可以提升很多。有的朋友会觉得这些命令难记,其实都很简单,每个都有其命名规律,如果实在记不住可以自己修改为自己容易记住的提示命令。如果觉得这些模板太少,不够自己实际使用,也可以自定义Live Templates。
设置路径为Settings-Editor-Live Template,可以创建一个自己的模板组和适用的Template,可以为每个模板指定名字和描述,并且指定适用的文件类型和语句块,如下图所示:
保存成功后,就可以在Java文件中使用我们上面定义的Template了,简直爽爆了。
当然,如果需要制作一些完美的Template,就需要先简单学习一下 Live Template 语法,不过也非常简单。
在语句中使用$...$ 表示待输入的变量,在字符串内也可以使用,在每次输入的时候相同的变量会一起改变。当然在Expression内有很多供使用的非常方便的方法,如 className()、 methodName()等,记得设置 Expression 后别忘了勾选 Skip if defined, 这样在使用的时候光标就不会再停留在这个变量处。更多说明请参照https://www.jetbrains.com/help/idea/2016.1/live-template-variables.html。
如果你不是很想自己来设置,或者说懒癌比较严重,也可以直接使用大神们早已准备好的Templates,直接导入到Android Studio中即可使用。参考地址:https://github.com/keyboardsurfer/idea-live-templates。导入也比较简单,下载后直接复制到你的 Android Studio 的config\templates目录下。
经过这一折腾,虽然学习会花一点儿时间,但是学会后使用 Android Studio开发效率显著提高,代码敲出来也爽了很多。特别是看到别人还在一个个单词输入的时候,你却只用几个字母就搞定一大段代码,可以小小的装逼一下。
今天就先分享到这里,后续将推出更多精彩内容,欢迎一起探讨学习进步。
此文章版权归微信公众号分享达人秀(ShareExpert)——鑫鱻所有,若转载请备注出处,特此声明!
- 巧用Live Template,不仅能提升AS开发效率,还能装逼
- 巧用模板,不仅能提升AS开发效率,还能装逼
- Android Studio live template巧用动态模板也能大大提高你的开发效率
- WebStorm 创建代码live template代码片段,提高开发效率
- 提高编码效率-Live Template
- 怎样提升开发效率
- eclipse开发效率提升
- mark几个能提升效率的开源库
- 【安卓开源集合】最全最有用的第三方开源库收集整理,快速开发必备,还能提升效率
- iPhone XCode开发效率提升
- 如何提升Android开发效率
- 如何提升Android开发效率
- Java web开发效率提升
- Android提升开发效率工具
- Live Templates提高Android开发效率
- 不仅仅是提升企业办公效率,联想的人工智能谋局更进一步
- AS template
- 【我的Android进阶之旅】推荐一款能提升数十倍效率的Android应用开发助手
- iframe 获取值无法将console.log的对象转换为 string
- 单例的理解和应用
- linux上搭建hadoop环境(hadoop 2.7.1)总结
- Redis常用命令-Hash
- 机器视觉学习笔记(3)--如何去雾
- 巧用Live Template,不仅能提升AS开发效率,还能装逼
- 简单递归求阶乘
- 浮点数介绍及使用注意事项
- ubuntu eclipse:An error has occurred. See the log file
- Java学习----day2——(4)面对对象编程的概念理解
- python知识点(二)字符串
- Ubuntu12.04(64bit)编译Android4.4源码和kernel
- RobotFramework环境配置三:项目预设
- 明日计划