作者:liukun
原文地址:
http://liukun.engineer/2016/04/10/Android-Studio-advanced-configuration/
本文主要内容来自Dmytro Danylyk 在Medium 的文章Configuring Android Studio。在此感谢!虽然使用 Android Studio 有一定的时间了,但文中的某几个设置之前还真不知道,且原文在长城外,因此在翻译原文的基础上作了一些补充,若有新的发现会即时更新。希望对大家尤其是刚接触 Android Studio 的朋友有一点帮助。
前面的话
Android Studio 提供了一个非常方便的功能帮助我们导入或者导出设置。因此我们在安装一个新的Android Studio 的时候通常会导入一个之前的设置。但是,最近发生了一件操蛋的事情-我丢失了我的设置文件(幸灾乐祸点个赞~)。
我的建议:即时的备份你的设置文件到云盘等地方。
当我在配置我的 Android Studio 的时候,下面的一些配置或许对你有一定的帮助。
显示行号
当我首次启动我的 Android Studio 的时候,我想做的第一件事就是希望能看到文件中的行号,我一直很奇怪这个基本的配置为毛不是默认开启的?!对此我只想说四个字:
配置方法
-
File | Settings
打开设置 - 选择
Editor | General | Appearance
- 勾选
Show line numbers
ps:在编辑区域最左侧右键选中Show line numbers
也可以让当前打开的文件显示行号,不过这是一个临时设置,当前文件关闭后便失效。
驼峰选择
Android 开发中,我们通常会使用驼峰命名法
对变量进行命名,但是当我们通过Ctrl + Left
/ Right
键改变字符选择区域的时候 Android Studio 默认不支持‘驼峰’单词的选择。
配置方法
-
File | Settings
打开设置 - 选择
Editor | General | Smart Keys
- 选中
Use “CamelHumps” words
注意:如果你仍然希望当鼠标在单词上双击之后选中整个单词,需要作如下设置:
-
File | Settings
打开设置 - 选择
Editor | General
- 取消选中
‘Honor Camel Humps words settings when selecting on double click’
命名前缀
我们通常会遵循 Android 官方关于编码风格的指导来进行字段命名。在 Android 源码中我们可以看到通常成员变量都是以‘m’开始。其实 Android Studio 可以自动在帮我们生成字段名称的时候加上自定义的前缀,如:
- 非共有,非静态的成员变量以
m
开始 - 静态成员变量以
s
开始
配置方法
-
File | Settings
打开设置 - 选择
Editor | Code Style | Java
- 选择
Code Generation
标签 - 给普通
Field
添加一个m
前缀,给Static filed
添加一个s
前缀
快速导包
在 Android Studio 中,我们可以通过Alt + Enter
和Control + Alt + O
进行导包和清除无用导包,但我们都生活在2016年了,这些事情应当快速自动完成。
配置方法
-
File | Settings
打开设置 - 选择
Editor | General | Auto Import
- 勾选
Optimize imports on the fly
- 勾选
Add unambiguous imports on the fly
Log 颜色
Darcula 主题中 Logcat 的默认配色只有红白两种颜色,不太便于我们区分Log 的类型。
我建议大家采用之前 Android Holo 主题那种鲜明的配色。
配置方法
-
File | Settings
打开设置 - 选择
Editor | Color & Fonts | Android Logcat
- 点击
Click on Save As…
按钮创建一个新的配色Scheme
- 按照下面的表格修改对应的颜色( 修改之前需要取消勾选
Use inherited attributes
)
下面是个人的一些补充:
代码配色
Android Studio 中默认的代码配色个人感觉已经很和谐,但这个东西仁者见仁。比如有的朋友会觉得 java 代码中局部变量的默认的白色不太便于快速与其它代码进行区分,这时候就需要自定义 java 代码颜色,这里以局部变量为例。
配置方法
-
File | Settings
打开设置 - 选择
Editor | Color & Fonts | Java
- 点击
Click on Save As…
按钮创建一个新的配色Scheme
- 展开下方的
Variables
选择Local variable
- 设置右侧的
Foreground
颜色
工程模板
Android Studio 创建Module
时并没有将 Android 开发中常用的文件目录全部生成,比如默认只生成了一个drawable
文件夹,常用的drawable-hdpi
等文件夹需要我们自己创建。正如前文的作者所言,这都2016年了,这些事情应该自动完成,毕竟我们都很‘懒’!
配置方法1
- 进入 Android Studio 安装目录
- 依次进入
plugins | android | lib | templates | gradle-projects | NewAndroidModule | root | res
- 在res文件夹下创建
drawable-hdpi
等文件夹(可选:从对应的mipmap
文件夹中拷贝iclauncher.png
到创建的drawable
文件夹中) - 回到
NewAndroidModule
目录,用编辑器打开recipe.xml.ftl
文件 - 加入以下配置
配置方法2
- 进入 Android Studio 安装目录
- 依次进入
plugins | android | lib | templates | gradle-projects | NewAndroidModule
- 用编辑器打开
recipe.xml.ftl
文件,并加入以下配置
这两种方法的区别是,第一种方式可以在文件夹中加入相应的图片,但是配置稍显繁琐,第二种方式配置简单,但是只能创建目录,不能包含默认图片。
当然,通过类似的方式我们还可以在创建Module
的时候做很多事情,比如:
- 在
colors.xml
文件中生成常用颜色 - 在
build.gradle
文件中生成自定义配置 - 在
.gitignore
文件中生成自定义忽略配置 - 等等…
活动模板
Android Studio 中默认提供了很多非常方便的活动模板(Live Templates
),例如,我们输入sout
后按enter
键,Android Studio 会自动帮我们写入System.out.println();
其实sout
就是AS自带的一个活动模板。
由此可以看出,活动模板就是我们常用代码的一个缩写。开发中有很多代码都会重复出现,因此自定义合适的活动模板能很大程度上避免我们很多重复的体力劳动。那么问题来了,如何自定义?这里我们以Handler
为例。下面是在Activity
中一个合格的Handler
该有的样子:
private static class MyHandler extends Handler {
private WeakReference<MainActivity> activityWeakReference;
public MyHandler(MainActivity activity) {
activityWeakReference = new WeakReference<MainActivity>(activity);
}
@Override
public void handleMessage(Message msg) {
MainActivity activity = activityWeakReference.get();
if (activity != null) {
}
}
}
至于原因我就不再重复了,网上有太多的文章有讲过。现在如果我只希望输入一个‘psh
’就自动出现上面这段代码的话,我应该这么做:
配置方法
-
File | Settings
打开设置 - 选择
Editor | Code Style | Live Templates
- 点击最右侧的加号并选择
Template Group
- 在弹出的对话框中输入一个活动模板分组的名称,如
custom
- 在左侧选中上一步中创建的
custom
分组,点击右边的加号
- 选择
Live Template
,在Abbreviation
中对输入psh
- 在
Description
中输入这个活动模板的描述 - 在
Template text
中输入以下代码
- 点击下方的
Define
按钮,选中java
表示这个模板用于java代码 - 点击右侧的
Edit variables
- 选择
Expression
下拉框中的className
并勾选Skip if…
这个操作的作用是,AS会自动将我们在上一步中用’
$
’符包裹的className
自动替换为当前类不含包名的类名
- 点击
Apply
和Ok
让设置生效。
至此,一个我们自定义的custom
模板组中的psh
活动模板就定义完成了。下面我们来验证一下,见证奇迹的时候到了: