Android Studio c常用配置
本文主要内容来自 Dmytro Danylyk 在 Medium 的文章Configuring Android Studio。在此感谢!虽然使用AndroidStudio有一定的时间了,但文中的某几个设置之前还真不知道,且原文在长城外,因此在翻译原文的基础上作了一些补充,若有新的发现会即时更新。当然,原文中个别技巧也谈不上高级,出于对作者的尊重,仍然全部翻译了过来,希望对大家尤其是刚接触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年了,这些事情应当快速自动完成。


开启imports on the fly
配置方法
File|Settings打开设置
选择Editor|General|Auto Import
勾选Optimize imports on the fly
勾选Add unambiguous imports on the fly

设置
PS:这里我补充一下,关于这个配置,个别朋友在问,如果我的项目中两个甚至多个包下都有一个类叫ImageLoader,自动导入的结果有没有可能不是我想要的包下的?兄弟你放心,你去查一下unambiguous的意思就知道了。针对包名不确定的情况,Android Studio会选择No can no import, you can you up,不会自作聪明,而是会让你自己手动导入。所以,请放心使用。
Darcula主题中Logcat的默认配色只有红白两种颜色,不太便于我们区分 Log 的类型。

Darcula 主题配色
我建议大家采用之前Android Holo主题那种鲜明的配色

Holo 主题配色
配置方法
File|Settings打开设置
选择Editor|Color & Fonts|Android Logcat
点击Click on Save As…按钮创建一个新的配色Scheme
按照下面的表格修改对应的颜色(修改之前需要取消勾选 Use inherited attributes)
Log级别颜色
Assert:#AA66CC
Debug:#33B5E5
Error:#FF4444
Info:#99CC00
Verbose:#FFFFFF
Warning:#FFBB33
苍老师的事业线
下面是个人的一些补充:
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该有的样子:
privatestaticclassMyHandlerextendsHandler{privateWeakReference activityWeakReference;publicMyHandler(MainActivity activity){ activityWeakReference =newWeakReference(activity); }@OverridepublicvoidhandleMessage(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活动模板就定义完成了。下面我们来验证一下,见证奇迹的时候到了:

由于互联网数据的分享性,如果本文部分内容来源于您的原创文章,且我没有注明(我相信本文中没有),请微博私信说明。
欢迎转载,但最好请注明文章原始出处。
身为一名老司机,没有福利不太合适。
如果你正在办公室,不建议你阅读以下内容。