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

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

一般来说键盘用的越多鼠标用的越少,那么写起代码来效率就越高;常见的快捷键想必大家都已经掌握,接下来我就分享一些你可能不知道的但确非常实用的快捷键。

下文所有快捷键基于如下keymap Windows: Default Linux: Default OSX: Mac OSX 10.5+

自动补全的时候是Enter还是Tab?

在使用自动补全的时候EnterTab的行为还是有一些细微的区别的:

  1. 使用Enter会补全你选择的语句
  2. 使用Tab的话,会替换掉你之前在这里的内容(删除后面的语句直到遇到点号,逗号,分号)

这种情况我们还是会经常遇到的,比如要替换一个资源的ID(R.id.a_xxx_xxx),想必大多数人都是先选择a.xxx_xxx删除,然后输入新的内容,或者相反;其实这时候,用Tab才是最优雅的方式。

快捷键:(在补全的时候)Enter/Tab

返回编辑器窗口

正在写代码的时候,很多操作会让焦点脱离编辑器;比如Find Usage, Logcat, 切换到项目结构视图,类型继承树等;如果视图切换了如何快速切回编辑器继续写代码呢?简单的鼠标点一下编辑器就可以了,但其实还有两种选择:

  1. Esc: 让编辑器窗口获取焦点,这时候就可以输入代码了
  2. Shift + Esc: 这个会让编辑器获取焦点,并且顺手帮你把刚刚打开的窗口关闭了。

个人喜欢第二种;Find Usage完毕了,Shift + Esc, 优雅~

  1. Esc: 返回编辑器
  2. Shift + Esc: 返回编辑器并关闭当前窗口

返回上次打开的工具窗口

接上面那个功能,如果你Shift + Esc 写了一会儿代码,发现又需要打开刚刚的窗口怎么办?这种场景通常发生在Logcat这个Tol Window上,看完了日志,写代码,写完代码看日志;如何快速切换?

快捷键:F12

快捷打开窗口

有木有发现有的窗口上面有个数字?这样的窗口(工具窗)我们可以快捷打开!

  • Mac: Cmd + 数字
  • windows/Linux: Alt + 数字

任意窗口切换

上面的切换还是无法满足你的要求?记得Mac的Cmd + Tab,Windows的Alt/Win + Tab吗?Android Studio也有这个类似的功能,可以让你切换到任意窗口!

在这个切换窗口打开的时候,你可以直接按数字切换到对应的工具窗口,或者输入字母搜索右边的编辑器窗口,如果你需要关闭某个窗口,在上面按BackSpace即可。

快捷键:Ctrl + Tab

隐藏所有窗口

好了学了那么多打开窗口的技能,如果你想关闭那些乱七八糟的窗口,安安静静写代码应该怎么办?

  • Mac: CMD + Shift + F12
  • windows/Linux: Ctrl + shift + F12

如果需要恢复所有窗口,再按一次这个快捷键即可。

参数提示

这个功能估计很多人知道了,但是还是提一下。在自动补全以后,如果某个方法参数超级长,你不知道参数是什么怎么办?可以试试这个。

  • Mac: CMD + P
  • win/Linux: Ctrl + P

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java高效分割字符串

    最近优化一段代码的调用时间,发现性能瓶颈居然是io和split!io操作慢情有可原,那么对于split有没有更高效的方法呢?

    weishu
  • [译]厌倦了NullPointException?Optional拯救你!

    有人说,当你处理过了空指针异常才真正成为一个Java开发者。抛开玩笑话不谈,空指针确实是很多bug的根源。Java SE 8引入了一个新的叫做java.util...

    weishu
  • Android 黑科技保活实现原理揭秘

    一直以来,App 进程保活都是各大厂商,特别是头部应用开发商永恒的追求。毕竟App 进程死了,就什么也干不了了;一旦 App 进程死亡,那就再也无法在用户的手机...

    weishu
  • 把notepad++配置成一个能编译C代码的记事本

    本博客已经不只一次提过MinGW了,往期关于C语言方面的推文中,示例代码都是用Notepad++来编写,然后用MinGW中的gcc工具来编译。MinGW的配置及...

    正念君
  • Spring import配置文件使用占位符

    import使用占位符 连接池切换导入配置的代码: <import resource="classpath:META-INF/spring/spring-${d...

    Java技术栈
  • 3分钟速读原著《高性能MySQL》(三)

    cwl_java
  • Django-auth-ldap 配置方法

    公司内部使用Django作为后端服务框架的Web服务,当需要使用公司内部搭建的Ldap 或者 Windows 的AD服务器作为Web登录认证系统时,就需要这个D...

    BigYoung小站
  • 在flask中使用flask-migrate管理数据库

    Flask-Migrate是一个为Flask应用处理SQLAlchemy数据库迁移的扩展,使得可以通过Flask的命令行接口或者Flask-Scripts对数据...

    菲宇
  • Web应用的会话、认证与安全

    HTTP协议最初是匿名的、无状态的,一次请求和响应一旦结束,客户端和服务端的连接就会关闭,服务器没有信息可以用来判断哪个用户发送的请求,也无法跟踪用户会话。

    搬砖俱乐部
  • 使用Docker部署RabbitMQ集群

    本文重点介绍的Docker的使用,以及如何部署RabbitMQ集群,最基础的Docker安装,本文不做过多的描述,读者可以自行度娘。

    Java中文社群_老王

扫码关注云+社区

领取腾讯云代金券