专栏首页为数不多的Android技巧Android Studio你不知道的快捷键(三)

Android Studio你不知道的快捷键(三)

Select In..

说实话,想不出一个比较好的翻译 :P 干脆使用英文吧。

有没有这样的场景:你在Android Studio打开了一个图片文件(或者别的文件),想在资源浏览器里面查看这图片;在Eclipse里面我想大部分的人是Alt + Enter进入文件属性复制地址,然后在系统资源管理器里面打开;或者装一个EasyExplore插件。在Android Studio里面,这是内建支持的!而且还不止如此!比如你想看看某个文件在包的哪个目录,通常是不是点击Project View上面的那个小圆坐标;用这个快捷键鼠标就能搞定。 快捷键: Alt + F1

弹出的菜单有一系列的选项;按对应的数字就可以选择;其他的菜单有什么功能可以自己尝试一下。

拓展选择

这个功能应该很多人都知道;但还是说明一下,因为跟下面两个功能跟这个结合起来才有威力。这个功能太强大了,自己去按几遍就能想到很多使用场景了;我相信有了这个功能,你使用鼠标的机会会少很多。

  • Mac: Alt + up/down
  • Win/Linux: ctrl + w / ctrl + shift + w

Surround With..

如果你想把一段代码使用if语句包起来;又或者使用try包围一段可能有运行时异常的代码,你会怎么干?

首先用光标定位到代码块开头,写上 try {然后,光标代码块末尾加上} catch (XXXRuntimeException e) {// todo}?可以试试这个快捷键。

  • Mac: cmd + alt + t
  • Win/Linux: ctrl + alt + t

可以使用上面的拓展选择选择你需要的代码块,然后使用这个功能Surround With;如果你什么都不选择的话,那么默认选择的是光标所在行。

Unwrap/Remove

这个功能跟上面提到的是一对,有了Surround With自然就有Unsurround With;使用情况没有上面那个那么多,但是好歹一对,一起介绍吧。

高亮某东西

有时候看代码的时候,看到某个变量想知道哪里使用了它;你还在用肉眼查找吗?或者你杀鸡用牛刀Find Usgae?其实你的需求就是把这个变量全部给我打个标签,我想直观的知道它在哪。

  • Mac: cmd + shift + F7
  • Win/Linux: ctrl + shift + F7

这个键功能远不止这个!

  1. 如果你高亮return或者throw,那么会把这个方法所有的返回点高亮出来!
  2. 高亮某个类的extends或者implements会把这个类Override的方法高亮出来
  3. 高亮import会把使用的地方显示出来

如果不想要高亮了,按下Esc就行。

显示方法调用树

在看源码的时候,你还是使用alt + F7ctrl + B在各个类之间来回穿梭吗?其实好多时候你就是想知道这个调用结构是怎么样的而已;谁是怎么一步一步滴调用谁的;这个快捷键会给你一个调用树。有了这个大菊观,继续探讨就很容易了。

快捷键: ctrl + alt + h

万能快捷键

记得之前提到过一个万能重构键, 有关重构的一切操作都可通过它完成。那么Android Studio这么快捷键,这么多功能,臣妾怎么可能都记住!要是有万能钥匙就好了!That’s it!

使用这个快捷键,你想到什么功能,打开它搜索就可以了;打个比方,我想看看Java的for each循环和普通的for循环底层是不是同一个实现;那么我就需要看虚拟机字节码了;我记得有这个功能但是不知道快捷键是啥;OK,Cmd + shift + A,输入bytecode:

PS:(我用的Intellij IDEA,Android Studio没有集成bytecode功能,可能搜索不到)

好了,其实所有的快捷键的功能都可以用这个搜索到~~实在记不起来也就用万能键吧!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android插件化原理解析——Hook机制之Binder Hook

    Android系统通过Binder机制给应用程序提供了一系列的系统服务,诸如ActivityManagerService,ClipboardManager, A...

    weishu
  • 获取迅雷会员工作流

    mac下的P2P下载工具目前只有迅雷了,可是大家都知道mac下只有“会员迅雷”才能下载,没会员就是个废物。对于冷门资源离线下载还是是非常非常有用的,高速下载对速...

    weishu
  • react-native环境搭建的正确姿势

    上个月Facebook开源了Android版的react-native,react-native为何物就不多介绍,个人认为虽然取代不了native,但是确实有可...

    weishu
  • 可用性更高:设计优秀的MySQL和Percona XtraDB集群

    高可用性 有没有想过你的应用是否该兼容只读模式呢?这个问题有多重要? MySQL似乎是基于Web产品的最主流数据库解决方案。大多典型的互联网应用负载包括大量的读...

    CSDN技术头条
  • 这两年:我的数据竞赛之路

    大家好,我是鱼遇雨欲语与余,本次我将带来不一样的分享,这将是我的个人竞赛历程。将从三个部分展开分享,主要竞赛经历、关于我的竞赛和未来竞赛的我。一位竞赛小白是如何...

    石晓文
  • OAuth2 图解

    本文简单的描述出了 OAuth2 工作背景,看完后可以轻松理解 OAuth2 是用来解决什么问题的。

    dys
  • Pytorch实战Kaggle房价预测比赛

    这是分享的第一个Kaggle比赛,也是Kaggle中难度最低的比赛之一,房价预测是一个回归问题,给出了房子的一些特征要求预测房子的价格。本文使用Pytorch构...

    BBuf
  • python︱sklearn一些小技巧的记录(训练集划分/pipelline/交叉验证等)

    版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! ...

    素质
  • 服务迁移导致数据差异

    通常我在dnspod里面,设置的解析缓存时间很短,基本上我修改DNS,是马上生效的。但毕竟用户的DNS不在我们的控制范围,总会有用户解析到旧的服务器上面,杯具就...

    libo1106
  • 腾讯云Kafka海量服务自动化运营实践

    腾讯技术工程官方号

扫码关注云+社区

领取腾讯云代金券