图解多平台 AndroidStudio 技巧(三)

简介: 文章中没有奇淫技巧,都是一些在实际开发中、阅读源码的时候常用的快捷键,可能这些快捷键之前用过,但是在不同场景下有不同的用法,强烈建议收藏。

image.png


公众号:ByteCode,致力于分享最新技术原创文章,涉及 Kotlin、Jetpack、译文、系统源码、 LeetCode / 剑指 Offer / 多线程 / 国内外大厂算法题 等等一系列文章。


好的 idea 能提高我们的工作效率,如果掌握一些快捷键,能帮我们从繁琐重复的工作中解放出来,写代码的效率就越高。


近期在开发过程中发现了一些非常好用的快捷键分享给小伙伴们,在之前的文章中我也分享过一些常用的快捷键,可以点击下列链接前往查看。



文章中没有奇淫技巧,都是一些在实际开发中、阅读源码的时候常用的快捷键,可能这些快捷键之前用过,但是在不同场景下有不同的用法,强烈建议收藏。


软件环境:


  • Mac/Win/Linux: 内置默认快捷键
  • AndroidStudio V4.1.2
  • 不同的外接键盘使用下列快捷键,需要根据自己的键盘做相应的调整


批量修改



这是一个非常好用的功能,在开发过程中可能会遇到批量修改某个相同的字符串,这个快捷键可以让你的效率提高 N 倍。


  • Mac: Ctrl + G
  • Win/Linux: Alt + J


image.png


when 快捷键



Sealed Classes 用于表示受限制的类层次结构,其实这句话可以拆成两句话来理解。


  • Sealed Classes 用于表示层级关系: 子类可以是任意的类, 数据类、Kotlin 对象、普通的类,甚至也可以是另一个 Sealed
  • Sealed Classes 受限制: 必须在同一文件中,或者在 Sealed Classes 类的内部中使用,在Kotlin 1.1 之前,规则更加严格,子类只能在 Sealed Classes 类的内部中使用


Sealed Classes 通常和 when 表达式一起使用,接下来我们来看一段示例。


sealed class Color {
    class Red(val value: Int) : Color()
    class Green(val value: Int) : Color()
    class Blue(val name: String) : Color()
}
fun isInstance(color: Color) {
    when (color) {
        is Color.Red -> TODO()
        is Color.Green -> TODO()
        is Color.Blue -> TODO()
    }
}


如果我们手写 when 表达式,开发效率是非常低效的,所以在这里推荐大家一个快捷键,可以补全 when 语句下的所有分支,效果如下所示:


  • Mac: Option + enter(回车键)
  • Win/Linux: Alt + enter(回车键)


image.png


在布局文件之间轻松跳转



在开发过程中经常需要在 Activity / Fragment / Adapter / Dialog 与之关联的布局文件之间跳转,常用的两种方式:


方式一: 点击图中所示图标,跳转到相对应的布局文件


image.png


方式二: 使用快捷键跳转,效果如下所示


  • Mac: Ctrl + Cmd + Up(向上箭头)
  • Win/Linux: Ctrl + Alt + Home


image.png


转换为 DataBinding



随着 Google 废弃 kotlin-android-extensions 插件消息出来之后,已经越来越多的小伙伴开始使用 ViewBinding 和 DataBinding,接下来介绍一个快捷键将布局文件转换为 data binding layout。


  • Mac: Option + enter(回车键)
  • Win/Linux: Alt + enter(回车键)


image.png


书签



我们经常在开发过程中或者阅读代码的时候,需要在不同的类中进行跳转,只需要在某处打个书签,很方便跳转回原处,这是一个非常实用的功能,快来试试吧。


增加/删除书签:


  • Mac: Fn + F3
  • Win/Linux: F11


image.png


增加/删除书签(同时打上标记):


  • Mac: Fn + Option + F3
  • Win/Linux: Ctrl + F11


image.png


查看所有书签,并跳转回原处


  • Mac: Fn + Cmd + F3
  • Win/Linux: Shift + F11


image.png


隐藏面板



隐藏面板功能就是让编辑器充满整个界面,节省空间,可以更专注于敲代码。


  • Mac: Cmd +Shift + F12
  • Win/Linux: Ctrl + Shift + F12


image.png


汇总



为了方便查看将上面的快捷键做一个汇总。


说明 快捷键
批量修改 Mac: Mac: Ctrl + G
Win/Linux: Alt + J
when 快捷键 Mac: Option + enter
Win/Linux: Alt + enter
在布局文件之间轻松跳转 Mac: Ctrl + Cmd + Up
Win/Linux: Ctrl + Alt + Home
转换为 DataBinding Mac: Option + enter
Win/Linux: Alt + enter
增加/删除书签 Mac: Fn + F3
Win/Linux: F11
增加/删除书签(同时打上标记) Mac: Fn + Option + F3
Win/Linux: Ctrl + F11
查看所有书签 Mac: Fn + Cmd + F3
Win/Linux: Shift + F11
隐藏面板 Mac: Cmd +Shift + F12
Win/Linux: Ctrl + Shift + F12


AndroidStudio 是非常强大的工具,还有很多快捷键等着我们一起来探索,这是 图解多平台 AndroidStudio 技巧系列第三篇,未来还会继续分享更多实用技巧,相同的快捷键,在不同的场景下有不同的用法,也欢迎你来分享更多好用的技巧,想了解更多快捷键,前往查看 Google 官方文档


全文到这里就结束了,如果有帮助 点个赞 就是对我最大的鼓励


代码不止,文章不停


欢迎关注公众号:ByteCode,持续分享最新的技术


最后推荐我一直在更新维护的项目和网站:


  • 全新系列视频:现代 Android 开发 (MAD) 技巧系列教程:在线查看
  • 计划建立一个最全、最新的 AndroidX Jetpack 相关组件的实战项目 以及 相关组件原理分析文章,正在逐渐增加 Jetpack 新成员,仓库持续更新,欢迎前去查看:AndroidX-Jetpack-Practice
  • LeetCode / 剑指 offer / 国内外大厂面试题 / 多线程 题解,语言 Java 和 kotlin,包含多种解法、解题思路、时间复杂度、空间复杂度分析


image.png


  • 最新 Android 10 源码分析系列文章,了解系统源码,不仅有助于分析问题,在面试过程中,对我们也是非常有帮助的,仓库持续更新,欢迎前去查看 Android10-Source-Analysis
  • 整理和翻译一系列精选国外的技术文章,每篇文章都会有译者思考部分,对原文的更加深入的解读,仓库持续更新,欢迎前去查看 Technical-Article-Translation
  • 「为互联网人而设计,国内国外名站导航」涵括新闻、体育、生活、娱乐、设计、产品、运营、前端开发、Android 开发等等网址,欢迎前去查看 为互联网人而设计导航网站


历史文章





目录
相关文章
|
4月前
|
Oracle 安全 Java
安卓逆向 -- Unidbg环境搭建篇
安卓逆向 -- Unidbg环境搭建篇
117 3
|
5月前
|
IDE 测试技术 开发工具
<HarmonyOS第一课>运行Hello World
<HarmonyOS第一课>运行Hello World
60 0
|
Android开发 iOS开发
iOS 逆向编程(四)实操 Jailbreak 进阶必备软件
iOS 逆向编程(四)实操 Jailbreak 进阶必备软件
95 0
|
5月前
|
Java 编译器 开发工具
Android StudioJNI开发之NDK环境的搭建以及添加JNI支持(图文解释 简单易懂)
Android StudioJNI开发之NDK环境的搭建以及添加JNI支持(图文解释 简单易懂)
67 0
|
Android开发
AndroidStudio 前言中不允许有内容
AndroidStudio 前言中不允许有内容
465 0
|
Dart 开发工具 Android开发
1.第一节 - Flutter教程之AndroidStudio配置Flutter工程(并运行第一个项目)
Flutter之AndroidStudio配置Flutter工程并运行第一个项目
1.第一节 - Flutter教程之AndroidStudio配置Flutter工程(并运行第一个项目)
|
算法 Java Linux
NDK 系列(5):JNI 从入门到实践,万字爆肝详解!(上)
NDK 系列(5):JNI 从入门到实践,万字爆肝详解!
526 0
NDK 系列(5):JNI 从入门到实践,万字爆肝详解!(上)
|
存储 缓存 安全
NDK 系列(5):JNI 从入门到实践,万字爆肝详解!(下)
NDK 系列(5):JNI 从入门到实践,万字爆肝详解!(下)
233 0
NDK 系列(5):JNI 从入门到实践,万字爆肝详解!(下)
|
Java API PHP
AndroidStudio反编译调试实战
AndroidStudio反编译调试实战
564 0
|
XML 缓存 运维
JDK 工具一览
Java 坑如此大,需要慢慢填。 本文是列出JDK自带的一些工具,介于篇幅,简单列出工具列表及工具的作用。至少先做到知道有哪些工具,然后才能在实际中用到。
873 0

相关实验场景

更多
下一篇
无影云桌面