公众号:ByteCode,致力于分享最新技术原创文章,涉及 Kotlin、Jetpack、译文、系统源码、 LeetCode / 剑指 Offer / 多线程 / 国内外大厂算法题 等等一系列文章。
好的 idea
能提高我们的工作效率,如果掌握一些快捷键,能帮我们从繁琐重复的工作中解放出来,写代码的效率就越高。
近期在开发过程中发现了一些非常好用的快捷键分享给小伙伴们,在之前的文章中我也分享过一些常用的快捷键,可以点击下列链接前往查看。
文章中没有奇淫技巧,都是一些在实际开发中、阅读源码的时候常用的快捷键,可能这些快捷键之前用过,但是在不同场景下有不同的用法,强烈建议收藏。
软件环境:
- Mac/Win/Linux: 内置默认快捷键
- AndroidStudio V4.1.2
- 不同的外接键盘使用下列快捷键,需要根据自己的键盘做相应的调整
批量修改
这是一个非常好用的功能,在开发过程中可能会遇到批量修改某个相同的字符串,这个快捷键可以让你的效率提高 N 倍。
- Mac: Ctrl + G
- Win/Linux: Alt + J
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(回车键)
在布局文件之间轻松跳转
在开发过程中经常需要在 Activity / Fragment / Adapter / Dialog 与之关联的布局文件之间跳转,常用的两种方式:
方式一: 点击图中所示图标,跳转到相对应的布局文件
方式二: 使用快捷键跳转,效果如下所示
- Mac: Ctrl + Cmd + Up(向上箭头)
- Win/Linux: Ctrl + Alt + Home
转换为 DataBinding
随着 Google 废弃 kotlin-android-extensions
插件消息出来之后,已经越来越多的小伙伴开始使用 ViewBinding 和 DataBinding,接下来介绍一个快捷键将布局文件转换为 data binding layout。
- 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
汇总
为了方便查看将上面的快捷键做一个汇总。
说明 | 快捷键 |
批量修改 | 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,包含多种解法、解题思路、时间复杂度、空间复杂度分析
- 最新 Android 10 源码分析系列文章,了解系统源码,不仅有助于分析问题,在面试过程中,对我们也是非常有帮助的,仓库持续更新,欢迎前去查看 Android10-Source-Analysis
- 整理和翻译一系列精选国外的技术文章,每篇文章都会有译者思考部分,对原文的更加深入的解读,仓库持续更新,欢迎前去查看 Technical-Article-Translation
- 「为互联网人而设计,国内国外名站导航」涵括新闻、体育、生活、娱乐、设计、产品、运营、前端开发、Android 开发等等网址,欢迎前去查看 为互联网人而设计导航网站
历史文章
- 为数不多的人知道的 Kotlin 技巧以及 原理解析(一)
- 为数不多的人知道的 Kotlin 技巧以及 原理解析(二)
- Jetpack 最新成员 AndroidX App Startup 实践以及原理分析
- Jetpack 成员 Paging3 实践以及源码分析(一)
- Jetpack 成员 Paging3 网络实践及原理分析(二)
- Jetpack成员Paging3获取网络分页数据并更新到数据库中(三)
- Jetpack 成员 Hilt 实践(一)启程过坑记
- Jetpack 成员 Hilt 结合 App Startup(二)进阶篇)进阶篇
- Jetpack 新成员 Hilt 与 Dagger 大不同(三)落地篇
- 全方面分析 Hilt 和 Koin 性能
- 神奇宝贝(PokemonGo) 眼前一亮的 Jetpack + MVVM 极简实战
- Kotlin Sealed 是什么?为什么 Google 都用
- Kotlin StateFlow 搜索功能的实践 DB + NetWork
- 再见吧 buildSrc, 拥抱 Composing builds 提升 Android 编译速度
- [Google] 再见 SharedPreferences 拥抱 Jetpack DataStore
- Kotlin 插件的落幕,ViewBinding 的崛起
- 竟然如此简单,DataBinding 和 ViewBinding