英文原文:(About) 10 Things You (Probably) Didn’t Know You Could do in Android Studio 

ps:部分图片可能要科学上网才能查看。

这个视频放得非常快,所以尽量阅读下面的文字和gif图片。

写代码的时候过度依赖鼠标可能会遇到比低效率更严重的问题。这里的技巧帮助你写更少的代码,充分发挥键盘的功能,因此你可以避免发生这样的情况:

1--wEOUYr835kBIb3oT0Syyg.gif

Thanks Obama.

这里的绝大多数技巧都是IntelliJ的特性, Android Studio正是基于IntelliJ之上。Android Studio最值得记住的快捷键是CMD-SHIFT-A(如果你是Windows或者Linux的pc则是CTRL-SHIFT-A )。

1-zmhPiKsZCVAG-OBUrc5z9A.gif

Use CMD-SHIFT-A or CTRL-SHIFT-A to find actions or options

按下这个快捷键之后,你只需输入关键词,然后那些可用的操作和选项就列出来了。在不熟悉这些操作或者选项的快捷键之前,这是一个开始学会使用新功能的好方法。

在遇到选项列表很长的情况下,你也可以用类似的方法。比如你像在项目结构中找到一个文件,或者想从一个多级菜单中选择一个选项,比如Refactor this,只需键入相关的词语就行了,Studio会帮你找到和过滤结果。

自动补全的时候使用TAB替代当前方法和变量

1-AhdlQUqM71fvvGG_v8b6dQ.gif

Pressing Tab replaces existing methods and values rather than just inserting a new one.

调出自动补全功能的CTRL-SPACE (or CTRL-SHIFT-SPACE for options of the expected type)可能是 Android Studio中最常用的快捷键。

但是大家都应该经历过在要选择一个新的方法或者新的变量的时候,如果按下enter,新的选择会插入到现有代码的前面,你必须删除以前的代码。

不过,如果你此时用TAB代替ENTER,现有的方法或者变量将直接被替代。省去了很多麻烦。

文本选择技巧

上下左右键,以及CTRL, SHIFT, 和 Fn 的组合覆盖了绝大多数光标移动需求 - 但是ALT修饰键添加了一些你意想不到的新功能。

你可以使用 ALT-UP 和 ALT-DOWN实现按照“节点”来扩大和缩小选择范围 - 让你选择代码的时候更加高效。

同时,ALT-SHIFT-UP 和 ALT-SHIFT-DOWN则可以让你当前所在行上移或者下移,省去了通过复制粘贴调整顺序的麻烦。

代码补全的后缀词与Live Templates

本着写更少的代码赚更多钱的精神,建议你利用好代码补全后缀与 Live Template来插入最常用的代码样板。

使用代码补全后缀可以把键入的表达式替换成一个代码样板。

1-Mt2-SylWiSTRZ3kRece21w.gif

比如,你可以在一个list上使用.fori后缀来创建一个for循环,或者在一个boolean变量上使用.if (或者 .else)来创建一个if语句。你可以使用CMD-J (或者 CTRL-J  -Windows / Linux)来查看一个上下文拥有的所有后缀。

对于更复杂的模版,Live Templates可以让你使用快捷键完成自动补全,它将插入模版代码片段。比如,使用Toast的快捷键可以轻易的添加一个显示toast的代码。Toast的快捷键是tab,当光标在Toast之后的时候按tab就能生成一行完显示toast的代码,你只需把具体的文本补全就是了。

1461301766105561 (1).gif

有许多通用的或者Android特有的Live Templates,包括log – 你也可以 创建自己的Live Template。

在计算表达式的时候自定义对象渲染(就是debug时变量的值)。

当你在运行时debug代码的时候,对象的值显示的是它的.toString()的值。如果你的变量是一个String或者一个基本数据类型,还没有什么问题,但是绝大多数对象都显示的是没有多大用处的信息。

尤其对于集合对象更是如此,通常都是显示成 “ClassName:HashValue”的列表形式。

不过,你完全可以对任何类型的对象创建一个自定义的renderer。

1-D6xJW1DalD9K8miVemhmAg (1).gif

只需在debugger页面右键对象,选择“View as” → Create,然后定义自己的计算表达式。注意表达式里的变量或者方法必须是对象本身的。

Structural Search, Replace, and Inspection

结构化搜索与替换可以让你在无需借助正则表达式的情况下按照模版搜索和替换代码。可以使用最上面提到的CMD-SHIFT-A调出搜索框,输入Search或者Structural就能找到该操作。

1-ZQj0QivAp_SQaOfaeDp4Kg.gif

Structural Replace Inspections Let You Create Your Own Lint Checks with Quickfixes

更有用的是你可以启用结构化搜索的检查。保存结构化搜索,然后在编辑代码的时候遇到匹配搜索模版的代码就会被标记,显示你提供的文字。

因此,可以用它来标记不符合模式的代码。

还有更牛逼的,那就是创建一个自己的结构化替换模板。跟结构化搜索模版一样,匹配的代码将有一个警告标志-但是这次将把要替换成的代码提供给你,便于快速修改。

在代码审查的时候修改过时的代码或者不符合规范的代码,或者其他团队成员提交的代码,这是一个完美的方法。

关于如何让Android Studio的体验更快,更有效率,更无鼠标化有上百种技巧。订阅YouTube上的Android Developers,找到Android Tool Time查看更多的Android Tool Time高级技巧。