前言
相信介绍 Android Studio 快捷键啊使用技巧的文章估计比我们屌丝程序猿的数量还要多,所以多我一篇不多,少我一篇不行,那本猿就把自己几乎每天都用的快捷键整理一下,希望能有人用到,如果你已经知晓了,那么请轻喷,毕竟我too young....(本屌用的是mac,所以win/linux稍微参考一下,毕竟差不多).
常用
1 . Cmd + C 复制,Cmd + Shift + C 复制文件路径
2 . Cmd + V 粘贴, Cmd + Shift + V 从剪切板复制,会保留最近复制的五个值.
使用场景:当你复制了一个 A 值,然后又复制了 B 值,此时又想用 A 值的时候.
3 . Cmd + F 在文件中查找, Cmd + Shift + F 在整个工程中查找.
使用场景:比如我要查找页面上的 "网络出错"是在哪个文件弹出的,此时用 Cmd+Shift+F 输入关键字,就会把所有出现该关键字的文件全部列出来.
4 . Cmd + O 搜索类文件,Cmd + Opt + O 在整个工程目录下搜索文件
使用场景:当你想找某个文件,但不想每个文件夹都点开每个文件,因为我们懒,此时Cmd + Opt + O 输入文件名就能找到该文件了.
5 . Cmd +E打开最近的文件,Cmd + Shift + E 打开最近编辑过的文件
使用场景:把编辑过的文件全部给你列出来,方便查找
6 . Cmd + Shift + F7 高亮代码,有的需要的电脑需要加fn才能生效
使用场景:想看某个类文件在哪些地方被使用,操作之后一目了然.
7 . Cmd + Opt + L 格式化代码
8 . Cmd + / 行注释 Cmd + Opt + / 块注释
9 . 退出以上操作 Esc
10 .Cmd + Shift + - / +(就是你的加号和减号的键,再说一遍就是Delete键左边的那俩货) 折叠方法/打开方法
使用场景:当你想找某个方法在哪定义,而当前类的行数又多又混乱的时候,那么不妨试试这个快捷键,简直觉得整个世界都清净了好么!~
附上一张快捷键的截图 Github 链接在下方
Xml文件相关
在写 xml 布局文件的时候会经常遇到诸如 ImageView Lint 缺少contentDescription 的提示,API 版本不对爆红,android : text ="" 的值会在屏幕闪一下的问题.那么我们完全可以使用tools来解决这些问题,当然这些并不影响编译,只不过对于我这种有代码洁癖的来说难以忍受罢了.
tools属性可以分为两种:一种是影响 Lint 提示的,一种是关于 xml 布局设计的.
tools Lint 提示
1 . tools:text
在写布局的时候有的时候 IDE 可以看到预览效果,但是有些效果则必须在运行之后才能看见,比如这种情况:TextView 在 xml 中没有设置任何字符,而是在activity中设置了 text. 因此为了在 IDE 中预览效果,你必须在 xml 中为 TextView 控件设置 android:text 属性
<TextView
android:id="@+id/tvDaV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/honor_title"
android:textSize="13sp"
android:text="三金西瓜霜" />
然后告诉自己上线之前删除就好了简直是图样图森破好么,几乎每次都不会删的,相信你也是这样的,那么还是使用 tools:text="三金西瓜霜",这个值会显示在预览的时候,但是真机上是不会显示的,只需两步:
a . 在根部局添加命名空间 xmlns:tools="http://schemas.android.com/tools"
b . 在 TextView 中使用 tools:text="三金西瓜霜", tools 可以覆盖 android 的所有标准属性,将 android: 换成 tools: 即可.同时在运行的时候就连 tools: 本身都是被忽略的,不会被带进 apk 中,搞定.
2 . tools:ignore
ignore 属性是告诉 Lint 忽略 xml 中的某些警告.假设我们写 ImageView 没有写android:contentDescription 这个属性, Lint 就会提示该 ImageView 缺少contentDescription属性.所以我们可以使用 tools:ignore 来忽略这个警告:
<ImageView
android:id="@+id/image_back"
android:layout_width="40dp"
android:layout_height="40dp"
android:padding="8dp"
android:src="@drawable/back"
tools:ignore="contentDescription"/>
3 . tools:targetApi
假设 minSdkLevel 15,而你使用了 Api21 中的控件比如 RippleDrawable,则 Lint会提示警告.
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:color="@color/accent_color"
tools:targetApi="LOLLIPOP" />
4 . tools:locale(本地语言)属性
默认情况下 res/values/strings.xml 中的字符串会执行拼写检查,如果不是英语,会提示拼写错误,
通过以下代码来告诉 Studio 本地语言不是英语,就不会有提示了.
Extract Resource
在编写代码的过程中我们应该尽量减少使用硬编码,就是不要再布局中直接使用字符串或者具体的尺寸值或者颜色值,而是应该放在资源文件中.但是对于已经存在的硬编码方式我们又懒得改,或者是嫌麻烦,拿一个字符串来讲,首先我们要在String.xml 文件中编写一个 item 然后写上 id ,写上对应的值,然后再在布局中引用@sring/xxxx......然后心里就默默的告诉自己算了吧,直接写吧.其实不用这么麻烦,只需要选中这个值,按 Opt+Enter弹出菜单选择 Extract String,在弹出的窗口填上id即可,如果该id已经存在会生成失败.
无用文件检查
参考文章[让你的apk减减肥]