[TOC]
1.编辑器
1.1 编辑
操作名 |
快捷键 |
备注 |
复制行 |
⌘+D |
|
删除行 |
⌘+⌫ |
|
从复制历史中粘贴 |
⌘+⇧+V |
设置历史记录数:<br />Maximum number of contents to keep in clipboard |
(取消)缩进 |
(⇧+)↹ |
|
合并行 |
⌘+J |
1.2 编码
操作名 |
快捷键 |
备注 |
补全 |
⌅:只补全<br />↹:补全替换<br />!:取反补全<br />.:点号补全<br /> |
image
|
(Call)代码补全 |
⌃+⇧+␣ |
<img src="https://jaeger.itscoder.com/assets/img/studio_tips/class_name_completion.gif" style="zoom:50%" /> |
补全当前状态 |
⌘+⇧+⌅ |
<img src="https://camo.githubusercontent.com/acb8bd2b87c8f6df86b998f71204290c2f22b0ae/68747470733a2f2f6a61656765722e697473636f6465722e636f6d2f6173736574732f696d672f73747564696f5f746970732f31362d636f6d706c65746573746174656d656e742e676966"/> |
覆盖方法 |
⌃+O |
Override |
实现方法 |
⌃+I |
implement |
生成 |
⌘+N |
getter/setter<br />toString<br />constructor<br />equals()/hashcode()<br />copyright |
格式化代码 |
⌘+⌥+L |
|
重排代码 |
![\color{RED}{⌘+⌥+R}](https://math.jianshu.com/math?formula=%5Ccolor%7BRED%7D%7B%E2%8C%98%2B%E2%8C%A5%2BR%7D) |
删除Resume Program 其中一个 |
优化引用 |
⌃+⌥+O |
|
大小写转换 |
⌘+⇧+U |
|
1.3 选择
操作名 |
快捷键 |
备注 |
列选择 |
⌥+选择 |
|
扩大选择 |
⌥+↑ |
|
缩小选择 |
⌥+↓ |
|
增加选择下一个 |
![\color{NavyBlue}{⇧+⌥+→}](https://math.jianshu.com/math?formula=%5Ccolor%7BNavyBlue%7D%7B%E2%87%A7%2B%E2%8C%A5%2B%E2%86%92%7D) |
Add selection for next occurrence |
取消选择one by one |
![\color{NavyBlue}{⇧+⌥+←}](https://math.jianshu.com/math?formula=%5Ccolor%7BNavyBlue%7D%7B%E2%87%A7%2B%E2%8C%A5%2B%E2%86%90%7D) |
unselect occurrence |
1.4 查找/替换
操作名 |
快捷键 |
备注 |
查找操作 |
⌘+⇧+A |
![\color{Red}{查找所有可选的操作}](https://math.jianshu.com/math?formula=%5Ccolor%7BRed%7D%7B%E6%9F%A5%E6%89%BE%E6%89%80%E6%9C%89%E5%8F%AF%E9%80%89%E7%9A%84%E6%93%8D%E4%BD%9C%7D) |
查找 |
⌘+F |
|
快速查找 |
选中,⌘+F |
|
指定路径查找 |
⌘+⇧+F |
|
Next/previous查找匹配 |
![\color{NavyBlue}{(⇧+)F3}](https://math.jianshu.com/math?formula=%5Ccolor%7BNavyBlue%7D%7B(%E2%87%A7%2B)F3%7D) |
Find Next/Previous |
选中所有查找结果 |
![\color{NavyBlue}{⌘+⇧+F3}](https://math.jianshu.com/math?formula=%5Ccolor%7BNavyBlue%7D%7B%E2%8C%98%2B%E2%87%A7%2BF3%7D) |
Select all occurrences |
替换 |
⌘+R |
|
指定路径替换 |
⌘+⇧+R |
|
2.导航
2.1 面板导航
操作名 |
快捷键 |
备注 |
打开面板(数字) |
⌘+num |
1:Project<br />3:Find<br />4:Run<br />5:Debug<br />6:Logcat<br />7:Structure<br />8:Hierarchy<br />9:Version Control |
打开内置 Terminal |
![\color{Red}{⌘+T}](https://math.jianshu.com/math?formula=%5Ccolor%7BRed%7D%7B%E2%8C%98%2BT%7D) |
修改 update project |
打开 Gradle |
![\color{Red}{⌘+G}](https://math.jianshu.com/math?formula=%5Ccolor%7BRed%7D%7B%E2%8C%98%2BG%7D) |
|
选择目标位置 |
![\color{NavyBlue}{⌥+1}](https://math.jianshu.com/math?formula=%5Ccolor%7BNavyBlue%7D%7B%E2%8C%A5%2B1%7D) |
(alt + F1被系统占用:cry:) |
切换器 |
⌃+↹ |
在已打开的 tab 和 file 间切换<br />按住⌃键,键入⌫关闭 tab / file |
(隐藏工具窗口并)回到编辑器 |
(⇧+)⎋ |
|
最近访问文件 |
⌘+E |
|
上一个工具窗口 |
F12 |
|
2.2 代码导航
2.2.1 文件内跳转
操作名 |
快捷键 |
备注 |
向后跳一个单词 |
⌥+→ |
|
向前跳一个单词 |
⌥+← |
|
跳到行首 |
fn+← |
|
跳到行尾 |
fn+→ |
|
跳到上/下一个方法/内部类 |
⌃+↑/↓ |
<img src="https://jaeger.itscoder.com/assets/img/studio_tips/02-move_between_methods.gif" style="zoom:50%" /> |
上一个光标位置 |
⌘+⌥+← |
|
上一个编辑位置 |
⌘+⇧+⌫ |
|
定位到行 |
⌘+L |
|
跳转到错误代码 |
F2 |
|
文件结构 |
⌘+F12 |
|
2.2.2 跨文件跳转
操作名 |
快捷键 |
备注 |
跳转到父类/父类方法 |
⌘+U |
|
跳转到声明 |
⌘+B |
没在声明处:跳转到声明 |
跳转到实现 |
⌘+⌥+B |
接口/抽象类/方法 |
跳转到相关文件 |
⌘+⌃+↑ |
跳转到布局与代码相关文件,Kotlin 暂时无效 |
2.2.2 跨文件导航
操作名 |
快捷键 |
备注 |
导航到文件 |
⌘+⇧+O |
FileName:lineNum 可导航到文件内行数 |
导航到类 |
⌘+O |
同上 |
导航到symbol<br />(field,method,file) |
⌘+⌥+O |
对不知道文件名的方法和变量或者想一步到位很有效<br />(kotlin 扩展方法) |
3.分析
操作名 |
快捷键 |
备注 |
分析面板 |
![\color{NavyBlue}{⌥+⇧+A}](https://math.jianshu.com/math?formula=%5Ccolor%7BNavyBlue%7D%7B%E2%8C%A5%2B%E2%87%A7%2BA%7D) |
|
查看使用 |
⌥+F7 |
|
显示使用 |
⌘+⌥+F7 |
|
指定路径查看使用 |
⌘+⇧+⌥+F7 |
|
高亮一切 |
⌘+⇧+F7 |
上/下一个<br />为 |
查看工程内使用 |
⌘+B |
![\color{RedOrange}{当光标在声明处}](https://math.jianshu.com/math?formula=%5Ccolor%7BRedOrange%7D%7B%E5%BD%93%E5%85%89%E6%A0%87%E5%9C%A8%E5%A3%B0%E6%98%8E%E5%A4%84%7D) |
查看类型层级 |
⌃+H |
|
查看方法层级 |
⌘+⇧+H |
|
查看Context信息 |
⌃+⇧+Q |
深入源码不知道位置的时候 |
快速查看方法定义 |
⌥+␣ |
快速查看方法定义,不用跳转 |
分析数据流传入/出 |
|
Menu → Analyze → Analyze Data Flow to/from Here<br /><img src="https://jaeger.itscoder.com/assets/img/studio_tips/31-analyzedataflow.gif" style="zoom:50%" /> |
堆栈分析 |
|
Menu → Analyze → Analyze Stacktrace<br /><img src="https://jaeger.itscoder.com/assets/img/studio_tips/30-analyzestacktrace.gif" style="zoom:50%" /> |
4.运行/调试
4.1 断点
操作名 |
快捷键 |
备注 |
查看断点 |
⌘+⇧+F8 |
|
单次断点 |
⌥+鼠标左键 |
触发一次后删除断点 |
(取消)禁用断点 |
⌥+鼠标左键<br />⌘+F8 |
在已有断点上操作,再次操作取消禁用 |
条件断点 |
|
条件满足时触发<br /><img src="https://jaeger.itscoder.com/assets/img/studio_tips/22-conditionalbreakpoint.gif" style="zoom:50%" /> |
日志断点 |
|
<img src="https://jaeger.itscoder.com/assets/img/studio_tips/23-loggingbreakpoints.gif" style="zoom:50%" /> |
异常断点 |
|
View BreakPoints-><br />选择 Java Exception Breakpoints-><br />add -> Java exception breakpoint |
字段观察断点 |
|
在字段定义处打断点,可勾选<br />Field Initialization<br />Field access<br />Field modification<br /> |
4.2 执行
操作名 |
快捷键 |
备注 |
Attach debugger to Android Process |
⌘+⇧+F8 |
无需重新 debug 运行 |
运行 Run |
⌃+R |
|
调试 Debug |
⌃+D |
|
Run 当前文件 |
⌃+⇧+R |
Run context configuration |
Debug 当前文件 |
⌃+⇧+D |
Debug context configuration |
Stop |
⌘+F2 |
|
恢复执行 |
F9 |
|
光标返回到执行点 |
⌥+F10 |
|
单步调试 |
F8 |
|
调试进入方法 |
F7 |
只能进入自己写的方法 |
强制调试进入方法 |
⌥+⇧+F7 |
进入系统层级方法 |
跳出方法 |
⇧+F8 |
|
debug 到光标处 |
⌥+F9 |
"恢复执行"直到光标行<br />(光标等于一个临时断点) |
丢弃当前帧(重新执行方法) |
![\color{NavyBlue}{F10}](https://math.jianshu.com/math?formula=%5Ccolor%7BNavyBlue%7D%7BF10%7D) |
重新执行方法<br /> <br />
|
4.3调试
操作名 |
快捷键 |
备注 |
设置(变量)值 |
F2 |
为变量赋值 |
计算表达式值 |
⌥+F8 |
|
快速计算表达式值 |
⌘+⌥+F8 |
光标放在表达式上或者选中表达式 |
审查 |
|
⌥+鼠标左键<br />审查变量或代码<br />当审查表达式时≈快速计算表达式值 |
标记对象 |
|
给变量打 Tag,便于从多个相似对象中辨认
image
|
禁用全部断点 |
![\color{NavyBlue}{F11}](https://math.jianshu.com/math?formula=%5Ccolor%7BNavyBlue%7D%7BF11%7D) |
![\color{RedOrange}{仅在 debug 过程中有效}](https://math.jianshu.com/math?formula=%5Ccolor%7BRedOrange%7D%7B%E4%BB%85%E5%9C%A8%20debug%20%E8%BF%87%E7%A8%8B%E4%B8%AD%E6%9C%89%E6%95%88%7D) |
Debug 设置:
调试工具栏: Settings
选中后启动内联调试功能,允许在编辑器中观察执行过的变量的值.
- Show Method Return Values
选中后会显示上次执行方法的返回值.
- Sort values alphabetically
选中后窗口中的变量值按字母的顺序排列.
- Unmute breakpoints on session finish
当一个调试会话完成后,会重新启用所有禁用的断点.搭配"禁用全部断点",达到某一次直接跳过接下来所有 Debug 的作用
5.重构
操作名 |
快捷键 |
备注 |
重构面板 |
⌃+T |
提取抽象类<br />提取接口<br />下放到子类<br />上提到父类<br />移除未使用资源 |
重命名 |
⇧+F6 |
|
更改签名 |
⌘+F6 |
攺变方法的名称,攺函数的可访问性<br />对参数进行添加、删除、重命名和重新排序 |
移动行 |
⌥+⇧+↑/↓ |
|
移动代码块 |
⌘+⇧+↑/↓ |
选中的代码块,或者挂光标定位在头部 |
提取方法 |
⌘+⌥+M |
<img src="https://jaeger.itscoder.com/assets/img/studio_tips/53-extractmethod.gif" style="zoom:50%" /> |
提取参数 |
⌘+⌥+P |
<img src="https://jaeger.itscoder.com/assets/img/studio_tips/52-extractparam.gif" style="zoom:50%" /> |
提取变量 |
⌘+⌥+V |
Java,按下⇧+↹选择具体类型<br />Kotlin 可勾选 Var,具体类型 |
提取全局变量(Field) |
⌘+⌥+F |
kotlin 需先有variable 才能提取 Field |
提取常量 |
⌘+⌥+C |
kotlin 不可用 |
内置inline |
⌘+⌥+N |
对方法,字段,参数,变量都有效<br /><img src="https://jaeger.itscoder.com/assets/img/studio_tips/54-inline.gif" style="zoom:60%" /> |
移动类/静态字段/静态方法 |
F6 |
移动内部类到单独文件<br />移动单独文件类为内部类<br />移动文件到其他包 |
包裹代码 |
⌘+⌥+T |
if/try/{}/()<br /><img src="https://jaeger.itscoder.com/assets/img/studio_tips/13-surround_with.gif" style="zoom:100%" /> |
移除代码/包裹 |
⌘+⇧+⌦ |
<img src="https://jaeger.itscoder.com/assets/img/studio_tips/20-unwrap.gif" style="zoom:80%" /> |
6.版本控制
操作名 |
快捷键 |
备注 |
版本控制弹窗 |
⌃+V |
<img src="https://jaeger.itscoder.com/assets/img/studio_tips/37-vcspopup.gif" style="zoom:60%" /> |
update project |
![\color{RED}{⌘+⇧+T}](https://math.jianshu.com/math?formula=%5Ccolor%7BRED%7D%7B%E2%8C%98%2B%E2%87%A7%2BT%7D) |
修改 Navigate to test |
commit |
⌘+K |
|
push project |
⌘+⇧+K |
|
显示 历史 |
![\color{NavyBlue}{⌃+⇧+H}](https://math.jianshu.com/math?formula=%5Ccolor%7BNavyBlue%7D%7B%E2%8C%83%2B%E2%87%A7%2BH%7D) |
Git show history |
显示"选中"历史 |
![\color{NavyBlue}{⌘+⌃+⇧+H}](https://math.jianshu.com/math?formula=%5Ccolor%7BNavyBlue%7D%7B%E2%8C%98%2B%E2%8C%83%2B%E2%87%A7%2BH%7D) |
Git show history for selection |
对比不同 |
⌘+D |
在 Local Changes 界面选中文件->⌘+D |
与分支对比 |
|
右键-git-compare with branch<br /><img src="https://jaeger.itscoder.com/assets/img/studio_tips/38-comparewithbranch.gif" style="zoom:50%" /> |
与提交的版本对比 |
|
Git —> Compare with the Same Repository Version |
还原修改 |
⌘+⌥+Z |
|
commit 设置勾选:
optimize imports
-
reformat code
(
)
-
rearrange code
(
)
perform code analysis
-
Alibaba Code Guidelines
(需安装插件)
7.其他
操作名 |
快捷键 |
备注 |
隐藏/显示所有面板 |
⌘+⇧+F12 |
源码查看模式 |
与剪贴板对比 |
|
右键-compare with clipboard<br /><img src="https://jaeger.itscoder.com/assets/img/studio_tips/34-comparewithclipboard.gif" style="zoom:70%" /> |
|
|
|
设置:
参考
- 你所不知道的Android Studio调试技巧
- Android Studio 小技巧/快捷键 合集
- Android Studio 使用艺术
网友评论