Android Studio中的神操作

原文转载自:简书:柴泽建_jack 网址:http://www.jianshu.com/p/bc8f6bfe12c6

作为一个Android开发者,最常使用的就是Android Studio了,我在这里声明Android Studio比Eclipse好用100倍,不服来辩。本文用于纪录Android Studio中相见恨晚的操作,阅读本文大概需要不确定时间。(你难道就不边读边试试?)我会用尽量简单明了的语言介绍。PS:多图,流量用户慎入。

为了方便 老读者 阅读,我会将更新内容放在开头。
新用户 可以直接跳过该部分,该内容已经在文中同步更改。

更新日期 更新内容 备注
2016/9/22 更新Android Studio 2.2 查询示例程序的操作,具体见内容 5  
2016/9/17 更新 提取 和 内联 的快捷操作,具体看内容 1.3.2 和 1.3.3 感谢MAIMIHO读者的提供。参考链接:12
2016/7/30 更新更简单的非空输入方法对象.nn  
  更新Windows版查看类的继承关系快捷键Ctrl+H 感谢3f76b4e62a13的补充
  更新活动模版查看和自定义入口Preference->Editor->Live Templates 感谢Sacowiw的提供
2016/7/25 更新大纲 Windows版快捷键Ctrl+F12 感谢Alex_Cin,bryanno1的提供和验证

1 编写

1.1 活动模版

1.1.1 for循环原来可以这样

遍历集合的时候,对象.for就可以生成迭代循环遍历:


.fori可以这样:


.forr可以反向:


数字.for也可以:


1.1.2 判空可以这样

在写代码的时候,判空是不可避免的。判空可以这样,对象.null


非空可以这样,对象.notnull


非空还有更简单的方法,对象.nn


1.1.3 别再写if()了

if可是我们最常用的了,但是我劝你再也不要写if()了,试试任何可以判断的语句后面加上.if:



1.1.4 instance也可以很炫酷


1.1.5 活动模版自定义和查看入口

Preference->Editor->Live Templates,这个窗口下小伙伴们可以看到所有的活动模版,还可以自定义自己的活动模版。例如我就定义了一个tc,作为android:textColor=""的活动模版。


1.2 多行编辑

喜欢用sublime等编辑器的小伙伴对这个应该在熟悉不过了。

1.2.1 多行编辑

例如我们有四个Button要定义,可以先这样,按住alt键+鼠标左键一直向下拉,就可以选中多行,然后编辑就可以同时对多行进行编辑,编辑完相同部分再分别输入不同部分就ok了:


1.2.2 块编辑

比如我们要把上边定义的四个Button 改为TextView类型:


操作也是按住alt不放,拉对角线,拉出一块,就可以对选中的块,进行块编辑了。

1.3 快捷键

1.3.1 Alt+Enter

这个是Android Studio神快捷键。如果你还认为Alt+Enter键是导入包,那就大错特错了。以后有事没事就按下吧。它会根据不同的情况给出操作建议,大大提高工作效率。

eg.

我要获取布局文件中的RecyclerView,findViewById写好了,这个时候需要强制类型转化,在红线上按使用该快捷键,给出了提示Cast to ...(此处省略好几个字),再回车,代码生成好了。


接下来是要给RecyclerView设置一个Adapter,那么我先写了没有的PersonAdapter类,那么这个类是没有的,提示红色,我们在该类上使用该快捷键,给出了提示:Create class ...,回车,这个类便创建好了。


但是我们要实现RecyclerView.Adapter中的方法,我们在红线部分使用快捷键,看到给出提示implement method,回车,方法实现了。


Alt+Enter快捷键是Android Studio中的神键,它的功能远不止这些,没事就按一按吧。按按更健康。

1.3.2 提取 方法,style,layout等

我在写代码的时候都是先写可用的代码,把功能都实现之后,立即重构,在这个时候我经常用到 提取方法 的这个快捷键:alt+command+M


提取sytle,layout等并没有默认的快捷键。如果你的有,可能我们用的不是同一套,不过无论怎样,你都可以去偏好设置里去自定义快捷键。那么打开keymap。找到Extract,可以看到,包括之前的提取方法操作也在这里,下面的style和Layout就是提取样式和和布局了。你也可以看到还有很多。你可以根据自己的喜好了来自定义快捷键。


演示:


提取布局

提取样式

1.3.3 内联

对于上面我们提取出的方法,样式或者布局,这些都可以使用内联把他们加回使用的地方。这个我并不是很常用。不过还是介绍一下吧。这个默认快捷键是:alt+command+N,在keymap表中的Inline


将布局内联到当前布局

2 搜索

在写代码的过程中,代码检索永远都少不了。如果你是眼睛去找,那效率真的不知道要差到哪里去了。

2.1 搜索基本操作

这些搜索操作我叫做基本操作

操作 Mac Windows
搜索类 Command+O Ctrl+N
文件中搜索 Command+F Ctrl+F
搜索文件 Command+shift+O Ctrl+shift+N
全局查找 Command+shift+F Ctrl+shift+F

要是懒的话,这四个基本可以解决查找问题。

2.2 大纲

大纲快捷键 Mac:Command+F12 Windows:我不知道。。。(我自己用的Mac有些Windows的我也不知道。欢迎补充,PS:我的Mac开启了将Fx键用作标准功能键,如果没有开启的小伙伴,你的快捷键就是Command+Fn+F12),大纲出来了,就可以查看该类中的成员变量和成员方法,直接输入名称就可以筛选查询。


2.3 Search Everywhere

这个功能的强大就如它的名字一样,它的快捷键是双击shift,输入关键字就可以。就连窗口都可以搜索奥。


3 窗口

3.1 分屏

分屏可以上下,可以左右,我更喜欢左右分屏,有的时候很方便。


你可以直接使用Search Everywhere功能,然后输入split会有vertically和Horizontally两种,选择你要的就可以。或者在编辑窗口上的标签,右击,选择split vertically或者split Horizontally。我比较喜欢使用Search Everywhere,键盘总比鼠标快。

3.2 Hierarchy窗口

Hierarchy窗口可以让我们看清楚层级关系,还记得之前非常火的一个段子讲,是好朋友不会让你学Java的,然后附了一张Java继承关系的图,在继承关系层级很深,很复杂的时候,这个窗口简直不能太好。

这个是类的继承关系:


打开这个窗口,可以使用Search Everywhere功能,输入Hierarchy就可以,Mac也可以使用快捷键ctrl+H,Windows快捷键也是ctrl+H。

还有一个Call Hierarchy,可以显示出方法的调用层级关系:


这个的快捷键是ctrl+alt+H。

4 调试

调试过程在开发中也是少不了的。

4.1 快照

有关UI的编程,这个功能知道会省很多事。


在运行过程中,可以给手机截图,并保存。再也不用手机截图然后再传电脑了。

4.2 录屏

在做有关动画的功能的时候,录屏功能可以让你更好的检查动画是否正确。


4.3 断点

断点的使用,断点的用法不止是让程序停下来。试一试在停下来之后使用快捷键Alt+F8,调出Evaluate Expression界面,在该界面你可以输入你想查看的值,就可以显示出来。


除此之外在断点处右击,会出现如下的界面,你可以在图中光标处输入断点停下的条件,当你需要在一个循环中打断点的时候,这简直就是神技:


在上图中Suspend前的勾取消会看到这样的界面:


这个界面上内容更多,比如你选中了Log evaluated expression,然后在下面的输入框中输入你想要输出的log,那么这个断点就不会在这里停下来,而是在控制台输出一条日志。

5 查询示例程序

这个功能让我感觉越来越像代码的搬运工了! 使用该内容需要,Android Studio2.2以及在SDK Manager中下载Samples for SDK,然后重启AS,再然后尽人事听天命,昨天搞了半天就是出不来,不知道今天怎么好了……究竟是AS的灵异事件还是我的努力感动了上天,反正我成功了。

在一个不会用的类上右键,选择Find Sample Code,或者使用你看到的快捷键alt+F8,Windows版的快捷键自己查询。之后就可以方便的查看示例代码。例如我们查看ColorMatrix的示例代码:


查询结果会在下方出现,不过有的时候要等很久,有的还找不到:


不过已经非常不错了。首先有Android官方网站的官方文档。下面会有几个包涵ColorMatrix的栗子。单击可以在右边直接查看其内容。如果硬是出不了的话,又实在想看,那么就去github上去查看吧,有一个组织叫GoogleSample,去搜就行了。

结束语

这篇文章没有结束,正在看的你如果对Android Studio还有其他的相见恨晚的操作,欢迎留言补充。希望这篇文章对大家有帮助。



作者:柴泽建_Jack
链接:http://www.jianshu.com/p/bc8f6bfe12c6
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2017-08-19 09:05  Philtell  阅读(110)  评论(0编辑  收藏  举报