admin管理员组

文章数量:1569911

注释模板

  • 前言
  • Gradle Build Running
  • 手动下载Gradle
  • 正确导入他人项目
  • 手动下载SDK
  • 禁用HTTP代理 使用阿里maven仓库
  • JCenter/mavenCentral()/google()/maven 到底选谁
  • 依赖库/插件/Gradle 缓存文件目录
  • 关闭窗口动画
  • 禁止自动打开上一次工程
  • 成员变量对齐
  • Github/Git版本管理
  • 类注释模板
  • 方法注释模板
  • 代码风格主题
  • 修改注释字体和选中行的颜色
  • 修改代码编辑区背景色
  • 修改Logcat字体颜色
  • 剔除项目中无用图片和资源
  • 最常用插件
  • 快捷键

前言

最近一些刚踏上Android开发这条路的童鞋问了一些Android Studio使用相关的问题,比如安装后打开不了,老是在build中;Gradle下载不了;HTTP代理怎么设置;SDK怎么手动下载;如何配置Gradle和Gradle插件;我自己使用Android Studio运行项目好好的,但是一旦导入别人的项目,Android Studio就一直在Build;方法类注释模板怎么设置,代码风格主题怎么换等等问题,这里就基于自己平时开发习惯整理下解决办法,以及分享一些好用的配置及提高android studio工作界面的美观度和工作效率的插件

Gradle Build Running

当你安装完Android Studio(以下简称AS),然后打开,你以为等待你的是MainActivity,那就Too Native了,迎接你的其实是

或者是

接下来你以为等一两分钟就好了,然而半个小时过去了你可能还是在看它这样不动;当你试图点击红X按钮的时候,你以为会停止,那又Too Native了,等待你的还是无尽的等待

出现这个问题的原因就是你的Gradle或者SDK下载不下来,为啥下不下来呢?没别的,就是因为伟大的墙,在天朝做程序猿还真挺不容易的,这个墙太厚了

那解决办法就是手动下载Gradle和SDK压缩包

手动下载Gradle

每个工程都有一个gradle-wrapper.properties文件,在gradle目录下,里面的内容如下

#Mon Oct 29 09:13:51 CST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle/distributions/gradle-5.1.1-all.zip

这里面的意思就是在 GRADLE_USER_HOME/wrapper/dists/下面去找对应的 gradle 文件,比如我这个电脑就是在C:\Users\lenovo.gradle\wrapper\dists\这个目录去找gradle-5.1.1-all这个文件夹,如果有就不用下载了。

没有的话就去到最后一行distributionUrl=https://services.gradle/distributions/gradle-5.1.1-all.zip中的地址下载,其中 gradle-5.1.1-all.zip说明你当前工程配置的 gradle 的版本为 5.1.1,通常情况下是下不了或者下载非常慢,这样就出现了开头说的一直在build,所以就需要手动去下载,下载地址是

http://services.gradle/distributions/


到里面找对应版本的Gradle,然后下载下来是个压缩包

前面我们第一次打开AS的时候,它会去下载Gradle,在C:\Users\lenovo.gradle\wrapper\dists\目录下就会有一个Gradle目录,我的就是

C:\Users\lenovo\.gradle\wrapper\dists\gradle-5.1.1-all\55gk2rcmfc6p2dg9u9ohc3hw9

这里面可能有不完全的文件,把它们删了,然后把刚下载的gradle-3.3-all压缩包放到这里,不需要解压,在AS里按ctrl+F9重新编译下工程就行了

Gradle插件:

打开工程根目录下的build.gradle文件,里面有这样一段代码

dependencies {
        classpath 'com.android.tools.build:gradle:3.4.2'
    }

这个classpath 指的就是Gradle插件的版本

有的人可能把Gradle和Gradle插件搞混,这是两个东西,Gradle是一个版本构建工具,它是用来帮助我们构建app的,构建包括编译、打包等过程。我们可以为Gradle指定构建规则,然后它就会根据我们的“命令”自动为我们构建app。

但是如何让AS使用Gradle来完成应用的构建呢?这就需要通过安装Gradle插件来使它能支持运行Gradle

但是Gradle版本和Gradle插件版本是要对应上的,因为Gradle有版本更新了,Gradle插件也会更新,这样在AS里Gradle才能工作,它们俩的版本对应关系如下

官网查看链接

如果下载不下来就去同事电脑的C:\Users\lenovo.gradle\caches\modules-2\files-2.1\com.android.tools.build\gradle类似的目录去拷贝


正确导入他人项目

有的人将其他人的项目下载到电脑,然后使用AS打开,发现AS一直处于Build状态,为什么呢?绝大可能是别人的项目使用的Gradle版本或者插件版本和你本地的不同,应该说你本地没有这个项目要求的Gradle版本

这时候你就需要将下载下来的项目的gradle-wrapper.properties文件中的Gradle版本改成你本地有的

distributionUrl=https\://services.gradle/distributions/gradle-5.1.1-all.zip

还有把项目根目录的build.gradle文件中的插件版本改成你本地缓存的

classpath 'com.android.tools.build:gradle:3.4.2'

手动下载SDK

还是因为墙的原因,通过AS下载SDK会遇到很慢的问题,所以可以去一些国内镜像网站下载,比如
http://mirrors.neusoft.edu/android/repository/?C=M&O=D

这里不仅可以下载SDK,还可以下载一些构建工具,NDK等


禁用HTTP代理 使用阿里maven仓库

平时开发过程中肯定会依赖一些开源库,但是因为网络原因,很多朋友设置国内的一些镜像代理,但是它们不稳定,下载也慢;但是好在阿里站出来了,提供了这么一个Maven仓库供国内开发者使用,使用方法如下:

先禁用Android Studio里的代理设置,如下

然后找到项目根目录下的 gradle.properties 文件,如果里面有关于代理设置的语句,将其删掉;同时找到C:\Users\xxxx.gradle目录下的gradle.properties 文件(如果你有的话),将其里面的代理设置语句删掉

接下来打开项目根目录下的build.gradle文件,设置如下,


buildscript {
    repositories {
        // 添加阿里云 maven 仓库地址
        maven { url 'https://maven.aliyun/repository/google' }
        maven { url 'https://maven.aliyun/repository/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.2'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        maven { url 'https://maven.aliyun/repository/google' }
        maven { url 'https://maven.aliyun/repository/public' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

让我们在module下的build.gradle中添加的依赖从阿里云maven仓库中下载,这时候你就可以不用在管什么google()、JCenter()、mavenCentral()了,直接体会到原来可以这么畅快下载依赖的感觉了


JCenter/mavenCentral()/google()/maven 到底选谁

我们的gradle插件,使用的第三方依赖都是从这些仓库中下载的,但是这些仓库有什么区别呢?

mavenCentral 是由sonatype维护的Maven仓库,仓库地址
jcenter是一个由 bintray维护的Maven仓库,仓库地址

我们通常会在项目根目录的build.gradle中使用它们,比如:

allprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}

两个仓库由不同的组织维护,没有任何关系,在jcenter上有的可能 Maven Central 上没有,反之亦然,但是两个仓库都具有相同的作用:提供Java/Android library,上传到哪个(或者都上传)取决于开发者,其实现在jcenter已经是全世界最大的Java仓库,因此在Maven Central 上有的,在jcenter上也极有可能有

在Android Studio的早期版本使用的是mavenCentral(),你新建项目时,mavenCentral()会自动的定义在build.gradle中;但是Maven Central的最大问题是对开发者不够友好,上传library异常困难,同时在性能和存储方面也不如 jcenter(),Android Studio团队决定把默认的仓库替换成jcenter,使用新版本的Android Studio创建一个项目,jcenter()自动被定义,而不是mavenCentral()

至于后面出来的google()也是一个优化后的由google自己维护的maven仓库

除了这三个标准的maven仓库,你也可以定义自己的maven仓库,只是使用方法不同,通过maven+url的形式应用第三方maven仓库;比如上面使用到的阿里云提供的maven仓库,就需要通过如下方法使用,阿里的镜像仓库

    repositories {
        maven { url 'https://maven.aliyun/repository/public' }
    }

因此为了方便使用,我们只需要在这三者中选择阿里云的maven仓库就可以了,其它两个不需要定义在repositories 里了,如下

    repositories {
        // 添加阿里云 maven 仓库地址
        maven { url 'https://maven.aliyun/repository/google' }
        maven { url 'https://maven.aliyun/repository/public' }
    }

只需要使用这两个仓库就够你用了

附:这里多说一下maven仓库的链接,即gradle是如何从仓库获取一个library的,要知道我们是这么引用一个依赖的

api 'com.squareup:otto:1.3.7'

依赖链接的组成格式是:GROUP_ID:ARTIFACT_ID:VERSION

  • GROUP_ID:通常以开发者包名紧跟着library的group名称来命名。如上面的就是com.squareup来命名。
  • ARTIFACT_ID:library的真实名称,比如上面的otto
  • VERSION:library的版本号

这样gradle会询问Maven仓库服务器这个library是否存在,如果是,gradle会获得请求library的路径,一般这个路径都是这样的形式:GROUP_ID/ARTIFACT_ID/VERSION_ID,既http://jcenter.bintray/com/squareup/otto/1.3.7 ,然后就将文件下载到本地与项目一起编译


依赖库/插件/Gradle 缓存文件目录

gradle的缓存目录:

项目使用的gradle在该文件指定

其下载后保存在:C:\Users\Mangoer.gradle\wrapper\dists

gradle插件缓存目录:

项目使用的gradle插件在该文件中指定

其下载后保存在:C:\Users\Mangoer.gradle\caches\modules-2\files-2.1\com.android.tools.build\gradle

项目使用的第三方依赖:

比如(其它依赖也是如此):

其下载后保存在:C:\Users\Mangoer.gradle\caches\modules-2\files-2.1\com.android.support\appcompat-v7

这些文件你的电脑如果下载不下来就可以去同事的电脑上对应的目录下载


关闭窗口动画

为节约电脑性能可以禁止动画显示


禁止自动打开上一次工程

Android studio默认设置是每次打开时都是选择最近编译的一个工程,可有时候我不想这样,想自己选择打开哪个工程,这就需要进行设置,如下:

第一个不要选中即可

成员变量对齐

这个主要是为了美观,设置如下图

Github/Git版本管理

如果你使用 gitHub+git 进行代码控制,你需要设置 GitHub的信息,输入用户名和密码进行登录如图

设置 Git 的安装文件目录


类注释模板

第一种方法

打开Android Studio后,点击File -> Settings -> Editor -> File and Code Templates

接下来在右边的四个页卡中选择第二个,如图

这个就是添加类头部注释了,在下方有一个Description,里面有一些你可以在注释模板中引用的变量,图中的模板就是我自己添加的,最终使用后的在类中的样子如下

第二种方法

还有一种应用范围更大的添加注释模板方法

打开Android Studio后,点击File -> Settings -> Editor -> Live Template
如图

点击上面的+ 号,选择Templates Group ,然后输入名称,比如我这里输入mango

接下来点中这一行,再点击+号,选择Live Templates ,这样就会在刚点中的那一行下面出现一个子行,可以添加缩写名称,比如我这里就添加了两个,一个用来给类添加注释,一个给方法添加注释的

最下面有一个change,点击可以选择这个注释模板的作用域

还记得上面添加的缩写名称吗,比如我这里是cc,这样当新建一个类后,在类名上面一行输入cc,就会有提示是否添加类注释,选择即可

方法注释模板

第一种方法
这跟上面给类添加注释的第二种方法一样,只要点击+号再添加一个Live Templates就行了

使用方法就是在方法上面一行输入cm,就会有提示

第二种方法

这里就要用到Java Doc了,它可以把参数名,返回值信息信息都包括到注释信息中

点击File -> Settings -> Plugins -> Browse repositories

然后在接下来的弹出框中搜索Java Doc,然后点击安装,然后重启Android Studio就行了

最后用的话,就是在方法上面一行输入 /** 然后敲回车键就可以了

	/**
     * 
     * @param userId
     * @param listener
     */
    @Override
    public void getUserMsg(String userId, final onUserListener listener)

设置Java Doc快捷键:

不仅输入 /** 可以解决注释问题,我们还可以添加快捷键

同样是打开Settings界面

输入doc comment后 可以看到Fix doc comment,表示我没有输入快捷键,右键点击 选择Add Keyboard Shortcut,然后输入按键,比如我这里

使用的话就是在 只要把光标放在该方法的任何一个地方,就算在方法修饰词public前面,然后按下快捷键就行了


代码风格主题

Android Studio默认的两种种主题风格,个人不太喜欢,太单调,没有高亮颜色区分,这时候我们可以使用一些第三方的主题
这里推荐一个很好用的网站Code Themes,如下

喜欢哪种就下载下来,下下来是一个jar文件,接下来我们就打开Android Studio,点击

File -> Import Settings ,然后选中刚下载的文件导入就可以了,看看应用后我的代码风格


修改注释字体和选中行的颜色

在设置了代码风格后,往往需要单独设置下字体等颜色,看起来更加醒目(如果你安装了background image这个插件后更是如此),当然了如果不设置也没啥问题

修改默认的单行注释字体颜色,如图

修改多行注释字体颜色

修改当前行和鼠标选中行的背景色


修改代码编辑区背景色


修改Logcat字体颜色

为了更加明显的区分日志信息,我们可以修改不同级别的日志信息使用的颜色


剔除项目中无用图片和资源

  • 点击AS顶部菜单栏上的Analyze菜单按钮,选择Run Inspection by Name
  • 在出现的输入框中输入unused resources
  • 弹出“inspaction scope”选择窗口,选择检查的范围,一般选择整个项目或模块。“inspaction scope”窗口下面还可以设置文件过滤,选择好后点ok就开始检查了
  • 在AS底部菜单栏会弹出一个面板,里面罗列出没有被用到的文件,可以删除

最常用插件

在平时开发使用Android Studio的时候你做了多少无聊且繁杂的事,如果你看到了这篇文章,你就走运了,结合本人平时使用的习惯,强烈推荐一些好用的插件,提高开发效率,让你的时间都用在有用的地方上;由于更新到android studio3.4后,有些插件发现用不了了,所以就没在下方列出了

所有插件默认安装在C:\Users\用户名.AndroidStudiox.x\config\plugins 目录下

GsonFormat

有没有这样的体会,看到服务端给的接口里的数据,有n多字段,然后你要一个一个的对照着写一个bean出来;写完一个后还有下一个接口等着,简直不要太痛苦;但是只要你装上了GsonFormat插件,你就再也不用烦这些问题了

ctrl+alt+s调出设置界面,选择plugins选项,在输入框输入插件名GsonFormat,然后安装完重启AS才能生效,下面的每个插件都是如此操作

怎么使用呢?

先自定义一个bean,不用写任何参数,就是一个空的类,然后将鼠标的光标定位到类里(不要定位到下方括号下面),然后按住alt+s,就会弹出一个框,接着将json串粘贴到里面,点击ok,就会生成对应的参数包括get set方法

Background Image Plus

这个插件不能提高你的开发效率,但是可以让你面对的Android Studio不再单调,你可以设置AS任意背景图,我的as界面如下:

使用方法:

Rainbow Brackets

这是一款帮助开发者更好的区分代码中的括号对应关系

String Manipulation

提供强大的文本转换操作,只要鼠标选中文本右键选中操作即可:

  • 切换样式 Switch case

    转换为SCREAMINGSNAKECASE (或转换为camelCase)

    转换为 snake_case (或转换为camelCase)

    转换为dot.case (或转换为camelCase)

    转换为hyphen-case (或转换为camelCase)

    转换为hyphen-case (或转换为snake_case)

    转换为camelCase (或转换为Words)

    转换为camelCase (或转换为lowercase words)

    转换为PascalCase (或转换为camelCase)

    选定文本大写

  • 样式反转 Escape UnEscape

    Un/Escape:

    Un/Escape 选中的 java 文本

    Un/Escape 选中的 javascript 文本

    Un/Escape 选中的 HTML 文本

    Un/Escape 选中的 XML 文本

    Un/Escape 选中的 SQL 文本

    Un/Escape 选中的 PHP 文本

    将 diacritics(accents) 转换为 ASCII

    将非ASCII 转换为转义的Unicode

    将转义的Unicode转换为字符串

  • 加密解密 Encode/Decode

    Encode 选中的文本为 MD5 Hex16

    De/Encode 选中的文本为 URL

    De/Encode 选中的文本为 Base64

  • 递增/递减 Increment Decrement

    递增/递减所有找到的数字

    复制行并且递增/递减所有找到的数字

    创建序列:保持第一个数字,递增替换所有其他数字

    递增重复的数字

  • 排序 sort

    按行倒序

    按行随机排序

    区分大小写A-z排序

    区分大小写z-A排序

    不区分大小写A-Z排序

    不区分大小写Z-A排序

    按行长度排序

    通过子选择行排序:每行仅处理一个选择/插入符号

  • 对齐 Align

    通过选定的分隔将选定的文本格式化为列/表格

    将文本对齐为左/中/右

  • 过滤/删除/移除:

    grep选定的文本,所有行不匹配输入文字将被删除。 (不能在列模式下工作)

    移除选定的文本

    移除选定文本中的所有空格

    删除选定文本中的所有空格

    删除重复的行

    只保留重复的行

    删除空行

    删除所有换行符

  • 其他:

    交换字符/选择/线/标记

    切换文件路径分隔符:Windows < - > UNIX

官方网站

Android Parcelable code generates

在Android中对于Parcelable 序列化使用的还是很频繁的,如果每个需要序列化的Bean都要我们自己写就很麻烦了(Android开发-序列化和反序列化的实现 Serializable Parcelable),耽误时间,但是安装这个插件后就很方便了

使用方法就是在对应的Bean的界面,按住alt+insert,在弹出框选择Parcelable ,当前Bean就可以实现Parcelable接口了,里面序列化的操作不需要自己写了

Android WiFi ADB

经常用USB插拔调试应用是不是很烦,时间长了手机充电口也容易搞坏,使用这个插件可以让你通过WiFi来调试应用

使用方法:

  • 要先确保手机和电脑处于同一个网络下,然后第一次需要使用数据线连接手机,确保在Android Monitors”中可以看到你的手机
  • 点击AS右侧边的Android WiFi ADB选项,在弹出面板中点击connect,然后就可以拔掉数据线了,我们可以看到“Android WiFi ADB”面板里已经提示“No devices connected.”,但在“Android Monitors”中任然可以看到我们的设备
  • 接下来只要网络不断,你就能一直连着这个手机进行调试了

findBugs-IDEA

查找bug的代码审查插件,人毕竟不是机器,总是会写出一些不容易发现或者明显的错误代码,如果在发布之前不好好清查下,等线上反馈bug就晚了,所以在发布前使用这个插件对代码进行下检查还是挺不错的

安装重启后AS会提示你启用findBugs-IDEA,然后会跳转到设置界面,可以在这里做些配置

可以设置分析报告中bug类别,设置过滤规则(比如哪些文件需要分析,哪些不需要分析),设置要检测哪些种类的代码

其中的过滤规则是要设置的,点击上图的Filter,然后点击Exclude filter files 下方的 + 号,添加过滤文件
要注意这个文件是一个xml文件,不是你想过滤的具体文件,它里面存放的是过滤规则,这个xml文件你可以放在任何地方,具体过滤规则可以参考FindBugsFilter

如果你不写过滤规则,这个插件连R文件和Manifest文件都会去分析,所以最基本的是要将它们给过滤掉,如下

<?xml version="1.0" encoding="utf-8"?>
<FindBugsFilter>
    <Match>
        <Or>
            <Class name="~.*\.R\$.*"/>
            <Class name="~.*\.Manifest\$.*"/>
        </Or>
    </Match>
</FindBugsFilter>

如何使用?

在工程名或者moudle名上右键选择

选择后就是等待分析结果了,在AS最底部工具栏会出现FindBugs-IDEA选项

左边面板例举的是这次分析出现的bug种类

  • Bad pratice:编程的坏习惯,主要是命名问题,比如类名最好以大写开头,字符串不要使用等号不等号进行比较,可能会有异常但没有用try-catch包裹的代码,方法有返回值但被忽略等等,这些如果不想改可以直接忽略

  • Malicious code vulnerability:恶意代码漏洞 ,主要是类的属性是public修饰的,最好用private修饰然后提供get/set方法,还有一些public的静态字段,可能会被别的包获取之类的

  • Dodgy code:具有潜在危险的代码,可能运行期产生错误,比如:
    一个double/float被强制转换成int/long可能会导致精度损失,一些接近零的浮点数会被直接截断,事实上我们应该保留
    使用switch的时候没有提供default;
    多余的空检查,就是不可能为空的值,增加了不为空判断,这是没有必要的,属于代码冗余;
    不安全的类型转换
    CI: 类声明为final但声明了protected的属性。
    DLS:对一个本地变量赋值,但却没有读取该本地变量;本地变量赋值成null,却没有读取该本地变量。
    ICAST: 整型数字相乘结果转化为长整型数字,应该将整型先转化为长整型数字再相乘。
    INT:没必要的整型数字比较,如X <= Integer.MAX_VALUE。
    NP: 对readline()的直接引用,而没有判断是否null;对方法调用的直接引用,而方法可能返回null。
    REC:直接捕获Exception,而实际上可能是RuntimeException。
    ST: 从实例方法里直接修改类变量,即static属性

  • performance:性能问题,可能导致性能不佳的代码:
    DM:方法调用了低效的Boolean的构造器,而应该用Boolean.valueOf(…);用类似Integer.toString(1) 代替new Integer(1).toString();方法调用了低效的float的构造器,应该用静态的valueOf方法。
    SIC:如果一个内部类想在更广泛的地方被引用,它应该声明为static。
    SS: 如果一个实例属性不被读取,考虑声明为static。
    UrF:如果一个属性从没有被read,考虑从类中去掉。
    UuF:如果一个属性从没有被使用,考虑从类中去掉

  • correctness:一般的正确性问题,可能导致错误的代码,下面列举几个:
    NP: 空指针被引用;在方法的异常路径里,空指针被引用;方法没有检查参数是否null;null值产生并被引用;null值产生并在方法的异常路径被引用;传给方法一个声明为@NonNull的null参数;方法的返回值声明为@NonNull实际是null。
    Nm: 类定义了hashcode()方法,但实际上并未覆盖父类Object的hashCode();类定义了tostring()方法,但实际上并未覆盖父类Object的toString();很明显的方法和构造器混淆;方法名容易混淆。
    SQL:方法尝试访问一个Prepared Statement的0索引;方法尝试访问一个ResultSet的0索引。
    UwF:所有的write都把属性置成null,这样所有的读取都是null,这样这个属性是否有必要存在;或属性从没有被write

  • Multithreaded correctness:多线程的正确性,多线程编程时,可能导致错误的代码,比如:
    ESync:空的同步块,很难被正确使用。
    MWN:错误使用notify(),可能导致IllegalMonitorStateException异常;或错误的使用wait()。
    No: 使用notify()而不是notifyAll(),只是唤醒一个线程而不是所有等待的线程。
    SC: 构造器调用了Thread.start(),当该类被继承可能会导致错误

  • Internationalization:国际化 ,当对字符串使用upper或lowercase方法,如果是国际的字符串,可能会不恰当的转换

JsonOnlineViewer

可实现直接在android studio中调试接口数据,可以选择请求类型,自定义请求头及请求体,json数据格式化后展示,配合着Gsonformat就更不错了

可以设置快捷键,我设置是shift+j

Markdown support

AS自带的文本编辑器也可以用,但是当你看到Github上那么多开源项目的README.md文件时,是不是觉得那排版,那格式让人看得很舒服,所以我们也要用起来,这就需要markdown语法支持了,好在Markdown support插件可以支持我们这样做

当我们在工程里新建一个.md(markdown缩写)后缀的文件时,默认就会以markdown格式展示这个文件

然后我们就可以使用markdown语法进行编写了

MD语法格式

Translation

在开发过程中有没有给类起英文名,给变量起英文名;然后看源码的时候,看到不懂的单词或者语句,是不是要打开浏览器找在线翻译去翻译,每次都是这样来回切换,有没有很麻烦,安装这款插件你就可以全部在AS的界面完成了

安装后会在AS顶部工具栏增加两个图标

左边图标是展示翻译历史,如图

而第二个图标的功能跟Google翻译工具功能是一样的

平时使用很简单,选中需要翻译的资源,右键

就可以得到如下结果

还是挺不错的吧,该插件默认使用的是Google翻译,还有百度翻译和有道翻译可供选择,如图

只不过有道翻译和百度翻译需要去它们的开发者平台注册账号,获取应用id等信息,而Google翻译可以直接使用

附:
本来想介绍几款用来对string资源自动翻译为其他语言进行国际化操作的插件,但是它们都有些使用上的障碍,比如

  • AndroidLocalizationer插件需要Google Translation ID,但是这个id是收费的,就不说收费了,光是申请google id就对很多人提高了使用门槛
  • 一款支持百度翻译的插件也就是 AndroidTranslate,但是我升级了Android studio到3.4后发现这个插件不能用了,2.x的版本是可以用的,不过需要到百度翻译开放平台注册账号,获取id等信息
  • 还有一款i18n robot插件,可以对string资源进行国际化操作,但是它只能从英文转换成其它国家语言,这就很蛋疼了

综上所述还是乖乖使用Translation插件自己对string资源进行翻译吧

.ignore

平时在AS上使用Git的时候,上传时需要忽略掉一些不需要的文件时,就可以使用这个插件了,右击轻松添加忽略。这个插件还会根据不同的语言选择相应的模板,还有自动补全功能

Codota

官方网站
这个网站号称收集了上千万的代码样例,不仅仅是Github,还有知名博客和开发者网站,可以让你不知道怎么写某个功能的时候去参考最好的样例

假如你想写一个媒体播放的功能,但是不知道怎么写,那就按快捷键ctrl+shift+y,然后在输入框输入mediaplay,Codota插件就会给你列出众多开源库中的样例代码,这样就省去了你花大把时间去网上搜了

右边弹框会显示出样例代码

可以点击view source,查看完整源码,强烈推荐这款插件,不过需要在它们的网站注册账号登录或者使用github账号登录

Alibaba Java Coding Guidelines

阿里出的一个代码编写规范检测的插件,帮助程序员规范自己的代码,安装完成后在顶部工具栏多出两个按钮

左边是规约扫描功能,右边是实时监测功能;点击左边按钮或者在具体module上右键选择都可以进行扫描

扫描代码后,将不符合规约的代码按 Blocker/Critical/Major 三个等级显示在下方,双击可以定位至代码处,右侧窗口还有针对代码的批量修复功能,三个等级分别是崩溃/严重/重要 ,也就是说前两级别是必须要处理掉的

Statistic

这是一个统计代码行数,注释行数,空白行数的插件,因为在申请软著或者获取注释量的时候需要用到这个数据

可以在设置界面设置过滤掉哪些文件

点击ADD可以将除了src目录的其它目录都排除掉,以免统计了一些不必要的数据

Android Studio Prettify

可以将代码中或者layout中的字符串写在string.xml文件中,可以设置快捷键shift+r,然后在代码中选中文字,按快捷键,就会弹出框让你输入资源名,这样就在strings.xml中多了一个资源串


Android ButterKnife Zelezny

当你添加了butterknife依赖后,虽然不用再findviewbyid了,但是还是要写一堆的bindview等操作的,现在只要你安装了这款插件后,连这些都不需要写了

我这里设置快捷键是ctrl+shift+k,然后将鼠标定位在布局文件名称上,按下快捷键就会弹出选择框,选择后点击确定即可

大大的减少你的简单重复劳动时间

快捷键

  • ctrl+alt+l 格式化

  • Ctrl+G:定位行数

  • ctrl+H:查找类的层级关系

  • F2:查看类中哪些变量或者方法没被使用

  • Ctrl+E:查看最近打开过的文件

  • Alt+F7:全局查找引用

  • Ctrl+Alt+Shift+F7:可选范围查找引用

  • double Shift:全局查找,这个搜索的范围最广

  • Ctrl+N,可以快速搜索Java类

  • Ctrl+Shift+N :比Ctrl+N的搜索范围更广,可以搜索图片,xml,gradle等配置文件

  • Ctrl+Shift+Alt+N:比上面的搜索范围要大,可以搜索类中的变量

  • Ctrl+D:复制光标所在位置那行代码到下一行

  • Ctrl+Y:删除光标所在行

  • Ctrl+X:剪切光标所在位置那行代码

  • Alt+Shift+↓/Ctrl+C:复制光标所在行代码到下一行

  • Alt+Enter:弹出错误修改方法提示

  • Ctrl+Alt+←:后退,定位到上个查看或者编辑的地方

  • Ctrl+Alt+→:往前定位,比如你定位到上个点后,想回去,就可以用这个快捷键

  • Ctrl+/:当行注释,反注释再按一次即可

  • Ctrl+Shift+/:模块注释,反注释再按一次即可,注意这边的”/“不能用小键盘的

  • Ctrl+Alt+S:打开settings界面

  • Ctrl+Alt+Shift+S:打开Project Structure界面

  • Ctrl+Alt+T可以把代码包在一块内,例如try/catch

  • Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择

  • shift+F6: 快速命名类 方法

  • Ctrl+F9:编译工程

  • Ctrl+F12:查看当前类的方法变量

  • Ctrl + Shift + Insert:查看最近的复制历史,可以选择其中一条进行粘贴

本文标签: 干货高效插件常用android