一些提高开发效率的工具&方法
下面的有些快捷键是经过我修改的,如果你不知道AS原生的快捷键是什么或者忘记了快捷键可以到Settings->Keymap
下面搜索查看,使用熟练了之后就会记住了。当然你也可以在Settings->Keymap
中修改自己觉得顺手的快捷键组合。
快捷键 | 作用 | 对应菜单路径 |
---|---|---|
Ctrl + F | 当前文件查找内容 | Edit-Find-Replace |
Ctrl + H | 全局查找内容 | Edit-Find-Find in Path |
Double Shift | 全局搜索,快速定位想打开的文件 | |
Ctrl + E | 显示最近编辑过的文件 | |
Alt + Enter | 显示快捷选项 (快速修复错误,导入包、提取资源、Implements等等) | kemap-Other-Show Intention Options |
Ctrl + O | 快速查找/显示当前类中的方法和成员 | Navigate-File Structure |
Alt + Shift + M | 重构(提取)选中的代码为新方法 | Refactor-Extract-Method |
Ctrl + Shift + F | 格式化代码 | Code-Reformat Code |
Alt + Shift + P | 实现方法 | Code-Implement Methods |
Ctrl + Windows | 覆写方法 | Code-Override Methods |
Alt + Insert | 生成getter、setter、构造函数、toString以及很多选项 | Code-Generate |
Ctrl + Shift + R | 类似Double Shift,快速定位想打开的文件 | Navigate-File |
Ctrl + G | 查询方法被哪些类调用了(这个最快的方式其实是在方法上按住Ctrl然后单击鼠标左键) | Edit-Find-Find Usages |
Ctrl + D | 删除光标所在行代码(可选中多行删除) | Editor Actions-Delete Line |
Ctrl + X | 剪切光标所在行代码 | Edit-Cut |
Alt + Shift + R | 修改变量名、文件名、资源名(需要先选中,引用的地方也会被一同修改掉) | Refactor-Rename |
Ctrl+Alt+C | 抽取常量(魔法值) | Refactor-Extract-Constant |
Ctrl + Shift + X/Y | 大小写转换 | Editor Actions-Toggle Case |
Alt + / | 提示代码、代码补全 | Other-Class Name Completion |
Ctrl + / | 注释当行,反注释再按一次即可 | Code-Comment with Line Comment |
Ctrl+ Shift + / | 生成块注释 | Code-Comment with Block Comment |
Ctrl + Shift + 小键盘 / | 折叠当前类所有代码 | Code-Folding-Collapse All |
Ctrl + 小键盘 * | 展开当前类所有代码 | Code-Folding-Expand All |
Ctrl + 减号 | 收缩单个方法体代码 | Code-Folding-Collapse |
Ctrl + 加号 | 展开单个方法体代码 | Code-Folding-Expand |
Shift + I | 收缩选中的代码,再按一次展开 | Code-Folding-Fold Selection/Remove region |
F4 | 查看类继承关系 | Navigate-Type Hierarchy |
Ctrl + Alt + S | 打开Settings界面 | File-Settings |
Ctrl + Alt + Shift + S | 打开Project Structure界面 | File-Project Structure |
Ctrl + B | 直接执行Build | Build-Compile Dirty |
Esc | 关闭其他窗口, 返回编辑器 | |
Ctrl + L | 跳转到指定行(可用来定位bug行) | Navigate-Line/Column |
Alt + C | 检查代码 | Other-Inspect Code with Editor Settings |
如果你发现快捷键不起作用,多半是跟其他软件的快捷键冲突了,如搜狗输入法,浏览器等,可以尝试关掉其他软件的快捷键。
学会使用AS提供的一些默认的热键模板:
logt ----> 在类中快速定义TAG变量
logi ----> log打印快速补全Log.i(TAG, "");
logd ----> log打印快速补全Log.d(TAG, "");
loge ----> log打印快速补全Log.e(TAG, "");
fbc ----> findViewById快速生成
const ----> 定义int常量快速生成
key ----> 定义字符串常量快速生成
psf ----> 快速生成public static final
fori ----> fori循环快速生成
ifn ----> 快速生成if (a == null)
inn ----> 快速生成if (a != null)
gone ----> 快速生成.setVisibility(View.GONE);
rouiT ----> 快速生成runOnUiThread代码 在子线程中切换到主线程
Sfmt ----> 快速生成String.format("", );
.notnull ----> 快速生成if (a == null)
.null ----> 快速生成if (a != null)
.var ----> new XXX().var 快速生成局部对象变量
.field ----> new XXX().var 快速生成全局对象变量
.for ----> 快速生成foreach循环
.fori ----> 快速生成正序遍历
.forr ----> 快速生成逆序遍历
.if ----> 快速生成if语句 "bb".equals(a).if
.return ----> 快速生成return语句
.cast ----> 快速生成强制转换语句 (() a)
.try ----> 快速生成try-catch语句 Integer.parseInt("111").try
.format ----> 快速生成format语句 String.format(a, )
ViewConstructors ----> 快速实现自定义View的三个构造方法
学会使用自定义的模板热键:
设置路径:Settings--> Editor-->Live Templates
先创建自定义的Group, 点击右侧+号,选择第二个:
然后选中组,点击+号,选择第一个创建模板:
设置ok之后就可以在代码或xml文件中使用自己设置的热键来生成自己想要的模板代码块了。
adb抓取log: adb logcat > ./log1.txt
adb拉取手机文件:adb pull ./sdcard/tq_storage/cache/logs/ ./crashLogs/
adb push文件到手机:adb push F:\logs /sdcard/youku
adb截屏:
adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png ./
adb安装apk: adb install apk的路径
adb卸载apk: adb uninstall packagename
更多adb命令请参考:adb命令
直接在编辑器输入todo、fixme即可显示。
直接选择两个文件右键进行比较
https://www.bejson.com/jsonviewernew/
直接复制json字符串到剪贴板,然后在一个空的类中Alt+Insert
String Manipulation可以使变量在以下风格之间转换:
snake_case <--> camelCase (下划线命名和驼峰命名互转)
hypen-case <--> camelCase (横线命名和驼峰命名互转)
SREAMING_SNAKE_CASE <--> camelCase (大写下划线命名和驼峰命名互转)
hypen-case <--> snake_case (横线命名和下划线命名互转)
dot.case <--> camelCase (点分隔的命名和驼峰命名互转)
words <--> camelCase (单词和驼峰命名互转)
lowercase <--> camelCase (全小写命名和驼峰命名互转)
PascalCase <--> camelCase (大驼峰和小驼峰命名互转)
这样可以是我们的代码能很方便的更加遵循代码命名规范
SmartFindViewById效果:
GenerateFindViewById效果:
GenerateFindViewById的快捷键Ctrl+Alt+E
布局文件中右键选择Generate Android Code
快捷键Alt+Insert 选择Generate快速实现Parcelable方式的序列化:
注意:.gitignore文件要先提交才会起作用,项目根目录下有一个.gitignore文件,每个module下面也有一个.gitignore文件。
https://tinyjpg.com/
这个网站可以保证在图片清晰度不失真的情况下最大比例的压缩图片体积
https://www.iconfont.cn/
当你需要一个图标而又没有人提供给你的时候
http://www.getmarkman.com/
主要是UI设计使用,开发可以用来测量一些宽高值、颜色值等
http://color-themes.com/?view=index
可以自取,选择自己喜欢的颜色下载jar导入AS即可。
当然你也可以在Settings->Color Scheme中设置自己喜欢的代码颜色:
可以设置java、xml、控制台、Logcat输出等颜色。
http://www.see-source.com/androidwidget/list.html
https://android-arsenal.com/
https://github.com/
https://www.androidos.net.cn/sourcecode
https://c.runoob.com/compile/10
https://www.tutorialspoint.com/compile_java_online.php
当你想验证一个Java问题而又不想打开电脑上的任何编译器的时候
https://blog.csdn.net/c__chao/article/details/78573737
https://blog.csdn.net/huanzhongying/article/details/79607910
当你想测试网络请求而没有接口的时候
http://www.gpsspg.com/maps.htm
支持同时显示同一位置的不同地图厂商的经纬度结果值