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的那些小技巧(一)

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345