Android Studio 好用的设置
设置目录
- Getter 模板修改--自动处理 null 判断
- 格式化代码自动整理方法位置--广度 or 深度
设置步骤:
- Getter 模板修改,自动处理 null 判断:
- 作用: 防止通过 bean 获取的 String 或者 List 为空,为空的时候 String 返回 "",List 为 null 的时候 返回 new ArrayList
- 操作:
随便建个类, 写几个属性,按快捷键 Alt+ Insert 选择 Getter ,在弹出的对话框中,点击 ... 图标,来修改模板
-
新建一个新的模板,取名 NotNull_getter , 模板文件如下:
#if($field.modifierStatic)
static ##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.boolean && $field.primitive)
#if ($StringUtil.startsWithIgnoreCase($name, 'is'))
#set($name = $StringUtil.decapitalize($name))
#else
is##
#end
#else
get##
#end
${name}() {
#if ($field.string)
return $field.name == null ? "" : $field.name;
#else
#if ($field.list)
if ($field.name == null) {
return new ArrayList<>();
}
return $field.name;
#else
return $field.name;
#end
#end
} 建完新模板文件后点击 OK 键,以后通过右键 -> Generate -> Getter 来生成 getXXX() 方法时,选择刚生成的 NotNull_getter 模板
getXXX() 方法都是 AS 自动生成,而且根据修改后的模板,也能保证 String 类型和 List 类型都不会返回 null 值。
- 格式化代码自动整理方法位置--广度 or 深度
-
先开启自动整理方法位置的功能,位置:
File -> Settings -> Editor -> Code Style -> Java -> Arrangement, 默认是没有勾选的, 勾选以下两项。- Keep overridden methods together: keep order
- Keep dependent methods together: breadth-first order
- Keep overridden methods together:
- 意思是将由 override 标志的方法都集中放置,建议将此功能开启,override 的方法通常要么是系统的一些回调方法,要么是我们自己定义的一些接口,这部分方法本身就有一定的关联性,集中在一起很合理。
- 注意,AS支持两种规则,一种是 keep order(按原有顺序),一种是 order by name(按照方法字母表顺序)
- Keep dependent methods together:
意思是将相关的方法按照某则规则放在一起,AS支持两种规则:breadth-first order & depth-first order
我的理解,说得通俗点也就是广度优先和深度优先,这个功能建议开启。
-
以上仅仅只是开启功能而已,而要借助 Android Studio 来自动整理方法位置,就是通过 AS 的格式化代码功能,快捷键也就是 Ctrl + Alt + L 。但这个格式化操作默认是没有启动对方法进行整理的操作的,每次按完快捷键后会有如下提示:
No lines changed: code is already properly formatted
可以通过快捷键 Ctrl + Alt + Shift + L 可以打开配置 dialog,勾选以下内容:
- Optimize imports:优化导入
- Rearrange code :重新排列代码
-