| 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 |
如果你发现快捷键不起作用,多半是跟其他软件的快捷键冲突了,如搜狗输入法,浏览器等,可以尝试关掉其他软件的快捷键。
2. 使用AS热键/模块提高输入效率
学会使用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文件中使用自己设置的热键来生成自己想要的模板代码块了。
3. 学会使用adb命令
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命令
4. 使用阿里规约插件扫描代码bug
5. 使用TODO, FIX ME标记未完成、故障代码
直接在编辑器输入todo、fixme即可显示。
6. 使用Beyond Compare比较文件内容
直接选择两个文件右键进行比较
7. 使用Gson在线格式化工具查看接口返回的数据
https://www.bejson.com/jsonviewernew/
8. 使用AS插件GsonFormat自动生成gson对应的java bean类
直接复制json字符串到剪贴板,然后在一个空的类中Alt+Insert
9. 使用AS插件String Manipulation转换变量命名的风格
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 (大驼峰和小驼峰命名互转)
这样可以是我们的代码能很方便的更加遵循代码命名规范
总结:
各行各样都会淘汰一些能力差的,不仅仅是IT这个行业,所以,不要被程序猿是吃青春饭等等这类话题所吓倒,也不要觉得,找到一份工作,就享受安逸的生活,你在安逸的同时,别人正在奋力的向前跑,这样与别人的差距也就会越来越遥远,加油,希望,我们每一个人,成为更好的自己。
-
BAT大厂面试题、独家面试工具包,
-
资料包括 数据结构、Kotlin、计算机网络、Framework源码、数据结构与算法、小程序、NDK、Flutter,
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Flutter,
[外链图片转存中…(img-AsK8ZE0n-1714544179514)]
[外链图片转存中…(img-QTIcE5hD-1714544179515)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!