Android开发中使用AS的那些小技巧(二)

我们在平时的开发中,会使用到很多快捷键和小技巧,有些是非常有用的,但是我们可能没太注意。下面就今天我们来梳理下一些有用的快捷键和小技巧

一,快捷键

如果你是一个熟练使用as的码农,可以跳过此部分。下面列举一些自己项目中常用的快捷键(windows),使用前请确认是否有快捷键冲突

快捷键                                说明                                                                       使用情景


Ctrl+B                                在声明和引用的地方互相跳转                           需要找到变量或者函数声明的位置区别

Ctrl+U                                查看父类或者父类实现的方法                            在override中或者类名中使用,查看父类情况

Ctrl+Alt+Home                  布局文件和Activity/Fragment之间轻松跳转      需要定位当前相互引用,在类中或者布局xml使用

Ctrl++                                 收缩代码块                                                             需要迅速查看其他方法名,收缩无关代码块

Ctrl+-                                  展开代码块                                                              需要查看当前代码块详情

Ctrl+Tab                             在打开的文件中快速切换                                       打开文件太多找不到挡住的目前文件

Ctrl+F12                             显示当前文件结构弹窗                                          需要快速查看当前文件的方法,变量等结构信息

Ctrl+Alt+M                          提取选择部分为独立方法                                       需要抽取臃肿的方法内的独立部分

Ctrl+Alt+T                           快速包裹代码块                                                       对选中代码块进行的操作,if / else、do / while、try / catch / finally等

Shift+F6                              快速重命名变量或者函数                                       需要重命名变量或者函数名的时候

Ctrl+Shift+I                         快速查看某个方法、类、接口的内容                    方法太长超过一页,需要快速预览时

Ctrl+H                                 查看类的上下继承关系                                            需要分析类的结构和继承关系的时候使用

Ctrl+T                                  SVN更新代码                                                            更新远端库到当前本地分支

Ctrl+K                                  提交代码                                                                    显示提交代码面版,提交代码前使用

Ctrl+[                                    跳转到代码块起点处                                                需要查看代码块首尾处代码情况       

Ctrl+]                                    跳转到代码块结束处                                                 需要查看代码块首尾处代码情况          

Ctrl+F11                              添加bookmark书签                                                   需要记录当前操作位置时使用

F11                                      取消/快速添加当前行的bookmark书签标记           需要取消书签

Shift+F11                            查看所有的已添加书签                                              需要查看已添加书签                      

Double Shift                        全局搜索。功能和Ctrl + N、Ctrl + Shift + N类似   需要搜索目标文件,类等情况

Ctrl+Home                           跳转到当前文件顶部                                                 需要查看顶部引入文件情况

Ctrl+End                               跳转到当前文件底部                                                 需要查看底部代码情况或行数


以上就是最近觉得比较有用的快捷键收集,其中有很多确实是很有用,同学们按需GET

二,小技巧

1)自定义Getter生成规则

        如果我们还是用Java作为Android的开发语言的话,我们在进行数据交互的时候为了保护对象的私有属性,即安全性,只有通过对外公开的接口方法去访问对象属性,所以会用到set,get方法来操作。那么这里面的String类型等其他对象类型的get方法就会出现获取为null的情况。这是场会增加我们代码空指针的意外风险,或者会多出很多判空操作。所以,这里我们使用自定义的get方法生成规则来自定义生成get方法

1-1,通过快捷键Alt+Insert,选择set,get,如下


点击箭头处,弹出弹框,红色为Android studio自带的,绿色的为自己自定义的。我们先把default的内容部分拷贝,在点击左上角的+号,然后命名为NotNullGetter,修改最后的逻辑,增加string和list的空处理,部分图如下:



1-2:使用时,还是在Alt+Insert选择了set,get后,在下图处选择模板,此处选择我们自己自定义的模板,选择需要设置get和set的字段,点击ok即可,部分图如下:


 2)代码排版优化

        有时我们需要给代码进行格式化,相比这个操作算是基本操作了,格式化后的代码更适合查看和后期人员的维护,但是我们默认的代码格式化,虽然也够用,但是还是不够完美。此处介绍自动整理两个小设置,在格式化的基础上能够锦上添花

2-1:我们有时override方法的时候,我们的位置可能放置的比较任意,其实就是凌乱了。如果是在实现了多个接口的情况下,可能看起来就不好看了,分不清哪一个是那个接口下的方法,我们可能更希望分堆放置,此处我们找到File -> Settings -> Editor -> Code Style -> Java -> Arrangement处,如下:


        默认2,3都是关闭的,我们刚才说的就是要勾选2,后面可以选择排序规则,AS支持两种规则,一种是 keep order(按原有顺序),一种是 order by name(按照方法字母表顺序)。至于哪一种较合适,个人喜好,我这里选择的 keep order

2-2:上面我们介绍了2的使用,现在又有这种情景,我们方法间经常会有互相调用,比如a调用b,c和d,b又调用e和f,那么这里如果我们不做设置,就会和我们方法放置的位置有关,我们的a,b,c,d,e,f放置的位置可能毫无规律和关联,这其实不利于我们快速定位相关代码。此处上图中的第3个,就是用来处理这种排版关系的,我们勾选后,选择排序规则,AS支持两种规则:breadth-first order & depth-first order,也就是广度优先和深度优先。

就上面的调用方法,我们先采用breadth-first order,也就是广度优先整理下,如下图:


如果采用depth-first order,也就是深度优先整理后,如下图



总结,两种规则有各自的好处,广度优先侧重于优先梳理每个方法的大体工作;而深度优先则侧重于梳理每个方法的实现细节,流程步骤。这里我采用的是广度优先,这也符合我们平时的审查习惯。

        这里也仅仅只是开启功能,如果我们想在格式化代码的时候启用这个配置,需要在格式化代码(Ctrl+Alt+L)后,再根据提示,按下箭头处组合键,在弹出的弹框中勾选rearrange code,即可以是我们我们上述的配置生效。这里大家也看到我勾选了Optimize imports,这个其实就是清除部分无用的import包,和快捷键Ctrl+Alt+O是一样的效果,这是在格式化里一起做了,这里看大家需要,我这里是勾选的。部分操作图如下:



到此,我们总结了部分as在开发中实用的一些技巧,希望能帮到大家!

上一篇:Android开发中使用AS的那些小技巧(一)

下一篇:微信小程序(一)- 自定义组件