倍数提高工作效率的 Android Studio 奇技
这是从Philippe Breault的系列文章《Android Studio Tips Of the Day》中提取出来的自认为精华的部分。这些技巧在实际应用中能够非常大的提高工作效率。
关于快捷键
The File Structure Popup
ctrl+f12
此快捷键可以调出当前文件的大纲,并通过模糊匹配快速跳转至指定的方法。
勾选上“show anonymous classes”后其功能相当于Eclipse中的ctrl+o
The Call Hierarchy Popup
ctrl+alt+h
查看某个方法的调用路径。
Quick Definition Lookup
ctrl+shift+i
不离开当前文件当前类的情况下快速查看某个方法或者类的实现。通过大概预览下调用的方法,可以避免许多未知的坑。
Bookmarks!
如其名,书签。帮助快速回到指定的位置,实际使用中简直爽得不行。
f11
将当前位置添加到书签中或者从书签中移除。
shift+f11
显示有哪些书签。
Find Actions
ctrl+shift+a
对于没有设置快捷键或者忘记快捷键的菜单或者动作(Action),可能通过输入其名字快速调用。神技!!!
例如想要编译,只需要输入”release”,则列表框中就会出现”assembleRelease”选项,选择就可以进行编译。
Move Lines Up/Down
alt+shift+up/down
上下移动行,这个没什么好说的,肯定会用到。
Lines Edit
ctrl+y
,ctrl+x
, ctrl+d
删除行,删除并复制行,复制行并粘贴,必备。
VCS Operations Popup
Alt+
`(是1左边的那个键)
此快捷键会显示一个版本管理常用的一个命令,可以通过命令前面的数字或者模糊匹配来快速选择命令。
极大的提高了工作效率,快速提交代码、暂存代码、切分支等操作操作如鱼得水。
Hide All Panels
ctrl+shift+f12
关闭或者恢复其他窗口。在编写代码的时候非常方便的全屏编辑框,可以更加专心的coding…
Parameter Info
ctrl+p
在调用一些方法的时候免不了会忘记或者不知道此方法需要哪些参数。ctrl+p
可以显示出此方法需要的参数。必备技能之一。
Rename
shift+f6
重命名变量或者方法名。重构神技。
条件断点
通过右键断点,可以对一个断点加入条件。只有当满足条件时,才会进入到断点中。调试神技,只对自己关心的情况进行调试,不浪费时间。
进入调试模式
点击Attach Debugger
(即绿色小虫旁边那个)可以快速进入调试而不需要重新部署和启动app。
可以选择为此功能设置一个快捷键或者通过前面提到的Find Actions(ctrl+shift+a)
输入”attach”进行调用。
快速查看变量的值
按住Alt
点击想要查看的变量或者语句。如果想查看更多,则可以按Alt+f8
调出Evaluate Expression
窗口来自行输入自定义的语句。
分析堆栈信息
Find Actions(ctrl+shift+a)
输入”analyze stacktrace”即可查看堆栈信息。
分析某个值的来源
Find Actions(ctrl+shift+a)
输入”Analyze Data Flow to Here”,可以查看某个变量某个参数其值是如何一路赋值过来的。
对于分析代码非常有用。
多行编辑
强大的神技之一,用过vim的vim-multiple-cursors或者Sublime Text的多行编辑都不会忘记那种快感! 也许不是平时用得最多的技能,但是却是关键时刻提高效率的工具。
快捷键:Alt+J
列编辑
在vim中叫作块编辑,同样神技!使用方法:按住Alt
加鼠标左键拉框即可
PS:发现Ubuntu下不可用,代替方法为按Alt+Shift+Insert
之后拖框选择。
但是经过这么操作之后,神技就大打折扣了。估计是与Ubuntu的快捷键冲突了。
Enter和Tab在代码提示时的区别
看图!
- 简单分析oracle的数据存储(r2笔记89天)
- 机器学习线性分类算法:感知器原理
- 通过shell脚本来查看Undo中资源消耗高的sql(r2笔记88天)
- 关于分页查询的优化思路(r3笔记第7天)
- 用机器学习方法对影评与观影者情感判定
- 关于查看文件的几个小命令(r3笔记第6天)
- 关于纠结的recycle pool的设置(r3笔记第5天)
- 融会贯通学习trigger(r2笔记第4天)
- 完整的R语言预测建模实例-从数据清理到建模预测
- 利用回归模型预测数值型数据(代码)
- 关于ORA-00020问题的反思(r2笔记第3天)
- 查看空间使用情况的脚本(r2笔记第2天)
- 使用dbms_parallel_execute来完成DML的并行(r3笔记第1天)
- 有趣的linux命令总结(78天)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- php基于协程实现异步的方法分析
- Laravel框架实现多数据库连接操作详解
- Laravel5.1 框架Request请求操作常见用法实例分析
- 用python实现学生管理系统
- PHP CURL实现模拟登陆并上传文件操作示例
- python定义类的简单用法
- Linux yum 命令安装mysql8.0的教程详解
- 基于Python实现简单学生管理系统
- php 实现svg转化png格式的方法分析
- Python如何合并多个字典或映射
- 用Python 爬取猫眼电影数据分析《无名之辈》
- Python获取浏览器窗口句柄过程解析
- python如何支持并发方法详解
- thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
- php和C#的yield迭代器实现方法对比分析