转载:http://www.jianshu.com/p/4243f3b52644

 
Android Studio 提供了一个非常方便的功能帮助我们导入或者导出设置。因此我们在安装一个新的Android Studio 的时候通常会导入一个之前的设置。

当我在配置我的 Android Studio 的时候,下面的一些配置或许对你有一定的帮助。
显示行号

<ignore_js_op>
未显示行号!
<ignore_js_op>
显示行号!
 

配置方法:
  • File | Settings打开设置
  • 选择Editor | General | Appearance
  • 勾选Show line numbers
<ignore_js_op>
ps:在编辑区域最左侧右键选中Show line numbers也可以让当前打开的文件显示行号,不过这是一个临时设置,当前文件关闭后便失效。
 
驼峰选择

Android 开发中,我们通常会使用驼峰命名法对变量进行命名,但是当我们通过Ctrl + Left/ Right键改变字符选择区域的时候 Android Studio 默认不支持‘驼峰’单词的选择。
不支持驼峰选择
支持驼峰选择
配置方法
  • File | Settings打开设置
  • 选择Editor | General | Smart Keys
  • 选中Use “CamelHumps” words

<ignore_js_op> 
设置

注意:如果你仍然希望当鼠标在单词上双击之后选中整个单词,需要作如下设置:

  • File | Settings打开设置
  • 选择Editor | General
  • 取消选中‘Honor Camel Humps words settings when selecting on double click’

命名前缀我们通常会遵循 Android 官方关于编码风格的指导来进行字段命名。在 Android 源码中我们可以看到通常成员变量都是以‘m’开始。其实 Android Studio 可以自动在帮我们生成字段名称的时候加上自定义的前缀,如:

  • 非共有,非静态的成员变量以m开始
  • 静态成员变量以s开始
<ignore_js_op>
命名前缀
配置方法:

  • File | Settings打开设置
  • 选择Editor | Code Style | Java
  • 选择Code Generation标签
  • 给普通Field添加一个m前缀,给Static filed添加一个s前缀
<ignore_js_op>
 
快速导包:

在 Android Studio 中,我们可以通过Alt + Enter和Control + Alt + O进行导包和清除无用导包,但我们都生活在2016年了,这些事情应当快速自动完成。

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

Log 颜色

Darcula 主题中 Logcat 的默认配色只有红白两种颜色,不太便于我们区分Log 的类型。
Darcula 主题配色
我建议大家采用之前 Android Holo 主题那种鲜明的配色。
<ignore_js_op>
Holo 主题配色
配置方法
  • File | Settings打开设置
  • 选择Editor | Color & Fonts | Android Logcat
  • 点击Click on Save As…按钮创建一个新的配色Scheme
  • 按照下面的表格修改对应的颜色( 修改之前需要取消勾选Use inherited attributes)
<ignore_js_op>

下面是个人的一些补充:
代码配色 Android Studio 中默认的代码配色个人感觉已经很和谐,但这个东西仁者见仁。比如有的朋友会觉得 java 代码中局部变量的默认的白色不太便于快速与其它代码进行区分,这时候就需要自定义 java 代码颜色,这里以局部变量为例。

<ignore_js_op>
默认配色
<ignore_js_op>
自定义配色
配置方法

  • File | Settings打开设置
  • 选择Editor | Color & Fonts | Java
  • 点击Click on Save As…按钮创建一个新的配色Scheme
  • 展开下方的Variables选择Local variable
  • 设置右侧的Foreground颜色
<ignore_js_op>
设置
工程模板
Android Studio 创建Module时并没有将 Android 开发中常用的文件目录全部生成,比如默认只生成了一个drawable文件夹,常用的drawable-hdpi等文件夹需要我们自己创建。正如前文的作者所言,这都2016年了,这些事情应该自动完成,毕竟我们都很‘懒’!
<ignore_js_op>
默认结构
<ignore_js_op>
自定义结构
配置方法1

  • 进入 Android Studio 安装目录
  • 依次进入plugins | android | lib | templates | gradle-projects | NewAndroidModule | root | res
  • 在res文件夹下创建drawable-hdpi等文件夹(可选:从对应的mipmap文件夹中拷贝iclauncher.png到创建的drawable文件夹中)
  • 回到NewAndroidModule目录,用编辑器打开recipe.xml.ftl文件
  • 加入以下配置

<ignore_js_op>

配置方法2

  • 进入 Android Studio 安装目录
  • 依次进入plugins | android | lib | templates | gradle-projects | NewAndroidModule
  • 用编辑器打开recipe.xml.ftl文件,并加入以下配置

<ignore_js_op>

这两种方法的区别是,第一种方式可以在文件夹中加入相应的图片,但是配置稍显繁琐,第二种方式配置简单,但是只能创建目录,不能包含默认图片。

当然,通过类似的方式我们还可以在创建Module的时候做很多事情,比如:

  • 在colors.xml文件中生成常用颜色
  • 在build.gradle文件中生成自定义配置
  • 在.gitignore文件中生成自定义忽略配置
  • 等等…

活动模板:
Android Studio 中默认提供了很多非常方便的活动模板(Live Templates),例如,我们输入sout后按enter键,Android Studio 会自动帮我们写入System.out.println();

<ignore_js_op>

其实sout就是AS自带的一个活动模板。

<ignore_js_op>

由此可以看出,活动模板就是我们常用代码的一个缩写。开发中有很多代码都会重复出现,因此自定义合适的活动模板能很大程度上避免我们很多重复的体力劳动。那么问题来了,如何自定义?这里我们以Handler为例。下面是在Activity中一个合格的Handler该有的样子:

[Java] 查看源文件 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
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中输入以下代码
 

<ignore_js_op>

  • 点击下方的Define按钮,选中java表示这个模板用于java代码
  • 点击右侧的Edit variables
  • 选择Expression下拉框中的className并勾选Skip if…

这个操作的作用是,AS会自动将我们在上一步中用’$’符包裹的className自动替换为当前类不含包名的类名

点击Apply和Ok让设置生效。

至此,一个我们自定义的custom模板组中的psh活动模板就定义完成了。下面我们来验证一下,见证奇迹的时候到了:

<ignore_js_op>

Android Studio高级配置的更多相关文章

  1. Android Studio 高级配置

    http://liukun.engineer/2016/04/10/Android-Studio-advanced-configuration/

  2. android studio+grade配置构建

    Android 构建系统编译应用资源和源代码,然后将它们打包成可供您测试.部署.签署和分发的 APK.android Studio 使用 Gradle 这一高级构建工具包来自动化执行和管理构建流程,同 ...

  3. Opencv4android的Android Studio项目配置及实例下载

    因为软件竞赛的项目会用到Opencv fo rAndroid,所以就研究了一下如何在Android Studio上配置Opencv4Android 环境概述: Android Studio 2.3 O ...

  4. 浅谈Kotlin(一):简介及Android Studio中配置

    浅谈Kotlin(一):简介及Android Studio中配置 浅谈Kotlin(二):基本类型.基本语法.代码风格 浅谈Kotlin(三):类 浅谈Kotlin(四):控制流 前言: 今日新闻:谷 ...

  5. Android studio gradle配置完整版(转)

    Android studio gradle配置完整版https://my.oschina.net/u/1471093/blog/539075 Android studio 自定义打包apk名 - pe ...

  6. Opencv4android的Android Studio环境配置及项目实例下载

    因为软件竞赛的项目会用到Opencv for Android,所以就研究了一下如何在Android Studio上配置Opencv4Android 环境概述: Android Studio 2.3 O ...

  7. Android Studio最新配置教程2016

    http://blog.csdn.net/wen_demo 一.Android studio 基本简单介绍 1.Android studio和Eclipse的差别: 1.Studio中有Project ...

  8. Android Studio如何配置CURL指令一键打包apk上传至蒲公英

    Android Studio如何配置CURL指令一键打包apk上传至蒲公英 第一步:在所需要打包的模块build.gradle文件中加入如下代码: android{ buildTypes { //配置 ...

  9. Android Studio如何配置adb以及常用命令

    https://blog.csdn.net/google_huchun/article/details/53314046 用Android Studio一年多了,都没有使用其调试adb,今天就分享ad ...

随机推荐

  1. http协议.md

    该文转自:HTTP协议详解 HTTP协议详解 引言 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这 ...

  2. Python的高级特性1:容易忽略的不可变类型

    python中有一些容易忽略的不可变类型(str,integer,tuple,None) #错误演示 In [45]: def demo(lst=[]): ....: lst.append(" ...

  3. workqueue机制分析之wb_workfn函数

    上面一篇文章说到: process_one_work中最重要的一件事情就是worker->current_func(work); 这里就具体到一项很具体的任务了,由于我要研究文件系统嘛,所以很自 ...

  4. 洛谷 U4792 Acheing 单调队列

    U4792 Acheing 5通过 43提交 题目提供者Acheing 标签 难度尚无评定 提交 最新讨论 暂时没有讨论 题目背景 题目并没有什么含义,只是想宣传一下自己的博客,Acheing.com ...

  5. 【MVC版本】MVC3、MVC4之MODEL验证大比拼

    1.密码验证 MVC3 [System.ComponentModel.DataAnnotations.Compare("Password", ErrorMessage = &quo ...

  6. ASP.NET MVC使用jQuery来POST数据至数据库中

    学习ASP.NET MVC程序,结合jQuery客户端代码,Post数据至数据库去.Insus.NET今天写一个完整性的例子. 在数据库中,创建一个表[dbo].[TestUser]: 既然是把数据存 ...

  7. 单例模式的两种实现方式对比:DCL (double check idiom)双重检查 和 lazy initialization holder class(静态内部类)

    首先这两种方式都是延迟初始化机制,就是当要用到的时候再去初始化. 但是Effective Java书中说过:除非绝对必要,否则就不要这么做. 1. DCL (double checked lockin ...

  8. 我理解的Hanlder--android消息传递机制

    每一个学习Android的同学都会觉得Handler是一个神奇的东西,我也一样,开始我以为我懂了Handler的机制,后来发现自己是一知半解,昨天想想,我能否自己实现一个Handler,让子线程与Ac ...

  9. PRML读书会第六章 Kernel Methods(核函数,线性回归的Dual Representations,高斯过程 ,Gaussian Processes)

    主讲人 网络上的尼采 (新浪微博:@Nietzsche_复杂网络机器学习) 网络上的尼采(813394698) 9:16:05 今天的主要内容:Kernel的基本知识,高斯过程.边思考边打字,有点慢, ...

  10. 中继器、集线器(HUB)、网桥、交换机、路由器比较

    中继器或集线器既不能隔离冲突域又不能隔离广播域,网桥或交换机只能隔离冲突域不能隔离广播域,路由器既能隔离冲突域又能隔离广播域,为什么?[解析] 首先要清楚什么是冲突域和广播域,当一块网卡发送信息时有可 ...