经常使用小操作
单词选择
一般IDE通过option + 方向键左右(win为ctrl + 左右方向键)对光标进行单词的跳动, 可是因为我们使用驼峰式命名较多, 默认的会导致由多个单词组成的驼峰式的首尾跳转. 还好AS能够对这样的风格进行设定.
默认效果
改动后的效果
改动步骤
打开偏好设置如图片设置
尽管单词跳着爽了, 可是当你想复制这个变量名双击的时候. 仅仅会复制变量名中的某一个单词. 而不是像曾经会复制空格切割两边的完整字符串. 反正我是用了不到一天有些不舒服就切换回原来的风格了.
可是option + 左右方向键这个小技巧用熟了, 比特意用鼠标点,或者光标一下下移动到目标位置会高效非常多.
显示近期操作, 改动的文件
比如: 我打开了main_activity.xml布局文件, 然后关闭页面. 这个时候Command + E, 就会例如以下显示之前的操作文件.
那么假设要查看之前改动过的文件, Command + Shift + E就可以. 能够配合Control + Tab进行高速界面的切换.
快捷键
近期操作
Command + E (mac)
ctrl + E (win)
近期改动
Command + Shift + E (mac)
ctrl + shift + E (win)
文件查找
search Everywhere
项目中的全局查找功能文件功能
查找类文件
command + o (mac)
ctrl + n (win)
默认仅仅是在项目代码中查找类文件, 假设须要查找sdk或者类库中的相关类. 再按一次快捷键, 或者勾选下图选项搜索全局类文件
查找文件
这个级别比上面那个更广. 包含全部文件, 如xml等.
command + shift + o (mac)
ctrl + shift + n (win)
如上假设须要搜索类库或者源代码, 请在按一次快捷键, 或者勾选查找类给出图中的选项.
操作记录
在浏览代码结构的时候, 非常多时候总是会跟进很多类里面, 假设想回到之前浏览调转点. 那么这个快捷键你就必须要记住.
- Command + Option + LeftRight 或者 command + [, command + ] (mac)
- ctrl + alt + LeftRight(win)
移动行
这个不用太多介绍, 就是整行的上下移动.
Option + shift + 方向键上方向键下 (mac)
alt + shift + 方向键上方向键下 (win)
查找方法调用处
场景: 查找一个方法在何处被调用, 或者一个ID在哪里被引用. 选中这种方法右键, 选择Find Usages就可以.
快捷键:
option + F7 (mac)
alt + F7 (win)
方法的跟进
方法总是伴随着调转, 我们也总是会对方法的内部查看细节. 经常使用的办法是按住Command 并点击方法名的方式.
也能够在光标所在处直接通过Command + B进行方法内部跟进.
Command + B (mac)
ctrl + alt + B (win)
显示方法的參数
当我们使用一个方法的时候, 会在刚開始的时候显示出全部的參数. 可是过一会可能就不存在了. 这个时候假设你想知道下一个參数是什么类型, 或者看一下全部參数.
快捷键:
command + P (mac)
ctrl + P (win)
假设你还想查看一下方法的文档, 不用跟进源代码, 直接F1键就可以显示出文档.
行的高速操作
高速删除行, 事实上使用剪切功能就能够Command + X
高速复制行, 使用command + Dmac, ctrl + Dwin
多行操作
可能有时候我们会声明做一系列相关的变量为float类型, 可是真实的须要的是int类型. 这个时候就能够进行多重选择进行总体改动. 例如以下图:
按住option(win为alt)键, 然后鼠标进行区域的选择. 然后进行相应改动就可以.
你可能觉得上面的必须要连续的才干够. 那么假设能够设置多个光标点是否就能够满足你的问题了?
看下图:
option + shift + 鼠标点击 (mac)
alt + shift + 鼠标点击(win)
就可以加入一个编辑光标. 最后假设不须要那么就esc就可以关闭多余光标.
高速补全完毕
创建一个对象. 或者findViewById()有时总须要移动鼠标或者光标到末尾进行分号的补全. 这些都能够快捷键搞定. 当你用习惯之后, 会非常的方便好用.
command + shift + enter(mac)
ctrl + shift + enter(win)
实现的功能
- 方法体大括号的加入
- 行尾分号的加入
- 自己主动格式化改行操作等
代码提示
不论什么地方都能够调出的代码提示.
control + option + /(不是默认, mac默觉得control + space). 这里要说的是. 代码提示之后一般都会回车键确定. 当按回车键的时候. 会保留光标之后的内容. 当有的时候我们并不须要. 这个时候你就能够使用table键进行选择. 它会将后面的输入内容删掉.
win的快捷方式ctrl + 空格(win相同大部分和输入法冲突, 请手动在AS设置里面keymap项查找completion basic手动改动快捷键)
高速生成变量
比方在方法体中logi直接高速生成一个log日志输出的模板, 可是TAG这个常量还没有声明. 这个时候用光标移动到TAG上. 使用快捷键提示就可以高速生成.
option + enter(mac)
alt + enter(win)
变量的高速操作
上图使用了两次快捷键,
第一次: 跳转到变量的声明处
- command + B (mac)
- ctrl + b (win)
第二次: 跳转到变量类型的定义处
- command + shift + B (mac)
- ctrl + shift + b (win)
代码折叠
对代码块进行折叠和展开.
- command + 加号减号(mac)
- ctrl + 加号减号 (win)
预览方法定义
假设仅仅想大体了解方法的定义, 而不须要进行方法所在源代码类的跳转显示. 能够通过Command + Y (win快捷键为ctrl + shift + I)来进行预览
粘贴板管理
对于复制粘贴. 我们习惯仅仅是单次的c+v, 那么假设你想查看之前被覆盖了的复制过的内容. AS相同有复制粘贴板来管理. 展示近期几次的复制内容.
- command + shift + v (mac)
- ctrl + shift + v (win)
拆分窗体
仅仅须要在标签页上右键. 选择split verticalhorizontal.
变量命名风格
对于成员变量应该m开头. 对于静态成员一般是s开头. 能够这样设置这个风格.
这样在输入一个变量的名字时, 就能够自己主动补全m或者s. 同一时候在Extra代码的时候, 生成的代码都能够自己主动依据这个规则重构.
查看大纲
当一个类非常大的时候. 能够通过command + F12(win为ctrl + F12) 打开大纲界面. 展示全部的方法和成员变量列表.
而且支持模糊搜索. 来进行筛选显示. 能够高速的找到要搜索的方法集.
书签
在浏览大型代码, 或者调试时. 有时可能会须要记住一些关键的代码或者方法. 这个时候就能够使用书签. 来记录此关键代码. 仅仅须要在点击须要标记的行, 并按F3就会在左側出现一个小对勾. 这就说明已经打上了一个书签.
同一时候在Favorites标签中, 也能够找到相应的Bookmarks
能够通过快捷键command + F3 (win为shift + F11)高速调出书签面板, 进行兴许的操作.
高速重构
重构入口
当一个代码片段准备重构的时候. 能够使用control + T (win为ctrl + alt + shift + T)打开重构入口. 或者右键单击选择Refactor显示重构界面.
这里有非常多方便的功能. 提成方法等等.
surround With
当对一个段代码进行, 条件包裹, 捕捉异常, 循环, Runnable等. 能够直接使用快捷的方式, 而不须要手动生成条件在进行代码块的复制-粘贴
快捷键
- command + option + T(mac)
- ctrl + alt + T(win)
Extract
你能够经常使用它,提取出一个方法.
不仅仅如此, 你还能够对xml中的多个控件相同的属性进行抽取为style
是不是非常爽?
这是其一, 对于xml不仅能够抽取Style, 还能够抽取布局Layout
而代码中, 能够提取各种变量, 參数, 长廊.
代码模板
AS中已经内置了非常多代码模板, 你能够非常嗖嗖嗖的就完毕之前倒背如流的代码. 例如以下一小部分
通过快捷键可调出这些代码模板
- command + J(mac)
- ctrl + J(win)
代码分析
Google提供了非常多代码分析工具, 这些工具都集中在顶部菜单条的Analyze中.
Inspect Code & Code cleanup
Inspect Code能够让IDE分析整个project. 类似于Lint分析, 并会给出大致改动意见等
Code cleanup功能能够进行自己主动的代码修复.
Dependencies
通过Analyze中的几个Dependencies选项. 能够高速分析项目的依赖.
方法调用栈
对于某些方法来说, 查看它被调用的地方和调用的顺序是非常重要的. 可通过control + option + H高速查找方法调用栈.
断点调试
高速断点
条件断点. 主要用在循环体内. 一个循环10次的for. 仅仅想在第8次进入断点.
和普通断点类似, 一样先声明一个断点. 然后在普通断点上单击鼠标右键. 在弹出的菜单填写断点条件就可以. 例如以下:
上面图中Enable能够控制启用, 还是停用一个断点.
暂时断点. 假设须要一个仅仅运行一次的断点. 运行完之后断点自己主动取消. 那么能够通过快捷点将当前行作为暂时断点.
- command + option + shift + F8
- ctrl + alt + shift + F8
为了篇幅不是非常长, 调试的部分贴一个解说非常具体的帖子
快捷键查找表
功能描写叙述 | keymap相应名字 | Mac Win | Linux |
---|---|---|---|
提示错误解决方式 | Show Intention | Actions | option + enter alt + enter |
AS配置界面 | Preferences | command + , | control+alt+S |
project项目配置界面 | Project Structure command + ; | Control+Alt+Shift+S | |
高速构成代码 | Code Generate | command + N alt + insert | |
代码提示 | Completion/Basic | control + space(mac会冲突, 手动改动) | ctrl + 空格(win相同大部分和输入法冲突, 手动改动) |
选择视图 | select in any view | option + F1 | alt + F1 |
加入书签标识 | Toggle Bookmark | option + F3 | ctrl + F11 |
向下移动一行 | Move Line Down | option + shift + Down | alt + shift + Down |
向上移动一行 | Move Line Up | option + shift + Up | alt + shift + Up |
凝视代码 | Comment with Line Comment | command + / | ctrl + / |
用代码模板包裹代码 | surround with Live Template | command + option + J | ctrl + alt + J |
格式化代码 | Reformat Code | command + option + L | ctrl + alt + L |
Copy Reference | Copy Reference | command + option + shift + C | ctrl + alt + shift + C |
if/try等包裹代码 | Surround With.. | command + option + T ctrl + alt + T | |
查看声明 | Declaration | command + B | ctrl + B |
快捷向下复制行 | Duplicate Line or Block | command + D | ctrl + D |
删除行 | Delete Line | command + delete | ctrl + Y |
快捷近期打开 | Recent Files | command + E | ctrl + E |
查找 | Edit/Find/Find | command + F | ctrl + F |
文件方法结构 | File Structure | command + F12 | ctrl + F12 |
显示书签 | Show Bookmarks | command + F3 | shift + F11 |
代码高亮向下查找 | Move To Next Occurrence | command + G F3 | |
代码高亮向上查找 Move To Previous Occurrence command + shift + G shift + F3 | |||
依照模板生成代码 | Insert Live Template | command + J | ctrl + J |
定位到行 | Navigate/Line | command + L | ctrl + G |
高速到行首/尾 | Move Caret to Line Start/End | command + Left/Right | ctrl + Left/Right |
代码折叠/展开 | Collapse/Expand | command + 减号/加号 | ctrl + 减号/加号 |
查找类 | Navigate/Class | command + O | ctrl + N |
多行凝视 | Code/Comment | command + option + / | ctrl + alt + / |
格式化代码 | Reformat Code | command + option + L | ctrl + alt + L |
提示參数类型 | Parameter Info | command + P | ctrl + P |
查找替换 | Replace | command + R | ctrl + R |
查找命令 | Find Action | command + shift + A | ctrl + shift + A |
复制文件路径 | Copy Paths | command + shift + C | ctrl + shift + C |
移动代码块 | Move Statement Up/Down | command + shift + down/up | ctrl + shift + down/up |
代码补全 | Complete Current Statement | command + shift + enter | ctrl + shift + enter |
全路径查找 | Find in Path | command + shift + F | ctrl + shift + F |
代码高亮 | Highlight Usages in File | command + shift + F7 | alt + J |
窗体内全部代码折叠/展开 | Collapse/Expand All | command + shift + 减号/加号 | ctrl + shift + 减号/加号 |
查找文件 | Navigate/File | command + shift + O | ctrl + shift + N |
全路径中替换 | Replace in Path | command + shift + R | ctrl + shift + R |
大写和小写转换 | Toggle Case | command + shift + U | ctrl + shift + U |
显示粘贴版历史 | Paste from History | command + shift + V | ctrl + shift + V |
高速查找定义 | command + space | ctrl + shift + I | |
粘贴 | Paste | command + V | ctrl + V |
复制 | Copy | command + C | ctrl + C |
去除无效包引用 | Optimize Imports | control + option + O | ctrl + alt + O |
显示类关系继承体系 | Type Hierarchy | control + H | ctrl + H |
高速覆写方法 | override Methods | control + O | ctrl + O |
查找调用的位置 | Call hierarchy | control + option + H | ctrl + alt + H |
加入书签 | Toggle Bookmark | F3 | F11 |
扩大缩小选中范围 | Extend Selection/Shrink Selection | option + UP/Down | ctrl + W + shift + W |
跳转到父类 | Super method | command + U | ctrl + U |
关闭当前tab标签 | Editor Tabs / Close | command + W | ctrl + shift + a |
关闭除编辑窗体的其余窗体 | Hide All Tool Windows | command + shift + F12 | ctrl + shift + F12 |
预览方法定义 | Quick Definition | command + Y | ctrl + shift + I |
返回光标最后编辑位置 | Last Edit Location | command + shift + delete | control + shift + Backspace |
调到代码块首部/尾部 | Move Caret To Code Block | Option + Command + [ 或者 ] | Control+[ 或者 ] |
重命名 | Rename | shift + F6 | shift + F6 |
抽取方法 | Extract Method | command + option + M | control+alt+M |
抽取变量 | Extract Variable | command + option + V | control+alt+V |
抽取字段 | Extract Field | command + option + F | control+alt+F |
抽取常量 | Extract Constant | command + option + C control+alt+C | |
抽取參数 | Extract Parameter | command + option + P | control+alt+P |
重构入口 | Refactor This | control + T | ctrl + alt + shift + T |