标签:expr 相同 cond 多行 complete 查看 methods move debug
本文为综合版,实现windows与Mac结合对比。
快捷键:
Action | Win/Linux | Mac OSX |
凝视代码(//) |
Ctrl + / |
Cmd + / |
凝视代码(/**/) |
Ctrl + Shift + / |
Cmd + Option + / |
格式化代码 |
Ctrl + Alt + L |
Cmd + Option + L |
清除无效包引用 |
Alt + Ctrl + O |
Option + Control + O |
查找 |
Ctrl + F |
Cmd + F |
查找+替换 |
Ctrl + R |
Cmd + R |
上下移动代码 |
Alt + Shift + Up/Down |
Option + Shift + Up/Down |
删除行 |
Ctrl + Y |
Cmd + Delete |
扩大缩小选中范围 |
Ctrl + W/Ctrl + Shift + W |
|
快捷生成结构体 |
Ctrl + Alt + T |
|
快捷覆写方法 |
Ctrl + O |
|
快捷定位到行首/尾 |
Ctrl + Left/Right |
|
折叠展开代码块 |
Ctrl + Plus/Minus |
|
折叠展开所有代码块 |
Ctrl + Shift + Plus,Minus |
|
文件方法结构 |
Ctrl + F12 |
|
查找调用的位置 |
Ctrl + Alt + H |
|
大写和小写转换 |
Ctrl + Shift + U |
|
|
|
|
|
|
|
本文一共收集了62个 Android Studio 使用小技巧和快捷键。
依据这些小技巧的使用场景,本文将这62个小技巧分为经常使用技巧(1 – 28)、编码技巧(29 – 49)和调试技巧(50 – 62)。分成三个部分。
每一个小技巧都配有 gif 动图,因为原图在 google photo 上。载入较慢。本文所有转存到七牛上了。
描写叙述:这是一个非常实用的功能,让你能够在某处做个标记(书签),方便后面再跳转到此处。
调用:Menu → Navigate → Bookmarks
快捷键:
加入/移除书签:F3(OS X) 、F11(Windows/Linux);
加入/移除书签(带标记):Alt + F3(OS X)、Ctrl + F11(Windows/Linux);
显示所有书签:Cmd + F3(OS X) 、Shift + F11(Windows/Linux),显示所有的书签列表,而且是能够搜索的。
上一个/下一个书签:无。能够在设置中设置快捷键。
很多其它:当你为某个书签指定了标记,你能够使用快捷键 Ctrl + 标记 来高速跳转到标记处,比方输入Ctrl + 1。跳到标记为1的书签处。
描写叙述:该操作提供一种方法。让你隐藏你不关心的部分代码,以一种较为简洁的格式显示关键代码。
一个有意思的使用方法是隐藏匿名内部类的代码,让其看起来像一个Lambda表达式。
快捷键:Cmd + “+”/”-“(OS X)、Ctrl + Shift + “+”/”-“(Windows/Linux);
很多其它:能够在Settig → Editor → General → Code Folding 中设置折叠规则。
描写叙述:假如你的项目是使用git来管理的,你能够将当前文件或者目录与其它的分支进行比对。
比較实用的是能够让你了解到你与主分支有多少区别。
调用:Menu → VCS → Git → Compare With Branch
描写叙述:将当前选中的部分与剪切板上的内容进行比对。
调用:右键选中的部分,在右键菜单中选择“Compare With Clipboard”。
描写叙述:当前作用域定义超过滚动区域,运行该操作将显示所在的上下文信息,通常它显示的是类名或者内部类类名或者当前所在的方法名。该操作在xml文件里相同适用。
调用:Menu → View → Context Info
快捷键:Alt + Q (Windows/Linux)
很多其它:个人觉得,这个功能更好的使用方法是高速查看当前类继承的父类或者实现的接口。
描写叙述:输入某个操作的名称,高速查找,对于没有快捷键的部分操作这是一个非常实用的技巧。
快捷键:Cmd +Shift + A(OS X)、Ctrl + Shift + A(Windows/Linux)。
很多其它:当某个操作是有快捷键的,会显示在旁边。
描写叙述:当你在一个文件里进行查找时,使用自己主动补全快捷键能够给出在当前文件里出现的建议单词;
快捷键:Cmd + F(OS X),Ctrl + F(Windows/Linux),输入一些字符,然后使用自己主动补全;
描写叙述:切换编辑器铺满整个程序界面,隐藏其它的面板。
再次运行该操作,将会回到隐藏前的状态。
调用:Menu → Window → Active Tool Window → Hide All Windows。
快捷键:Cmd +Shift + F12(OS X)、Ctrl + Shift + F12(Windows/Linux);
描写叙述:该操作将会高亮某个字符在当前文件里全部出现的地方。
这不不过简单的匹配,实际上它会分析当前的作用域,只高亮相关的部分。
调用:Menu → Edit → Find → Highlight Usages in File。
定位到上一处/下一处:Menu → Edit → Find → Find Next/Previous;
快捷键:相关快捷键请在菜单中查看;
很多其它:
假设高亮一个方法的return
或throw
语句。将会高亮这种方法的全部出口/结束点;
假设高亮某个类定义处的extend
或implements
语句。将会高亮继承的或实现的方法;
高亮一个import
语句也会高亮使用到的地方;
按下Esc能够退出高亮模式;
描写叙述:有时候你会从某个工具窗体跳到编辑器里面。然后又须要又一次回到刚才操作的那个工具窗,比方你查找使用情况的时,使用该操作能够在不使用鼠标的情况下跳转到之前的工具窗体。
快捷键:F12。
描写叙述:该操作将使得你导航到上一处你修改过的地方。这与点击工具栏上的返回箭头回到上一个定位位置是不一样的。该操作将会返回到上一个编辑的位置。
快捷键: Cmd + Shift + Delete(OS X)、Ctrl + Shift + Backspace(Windows/Linux);
描写叙述:该操作让光标在当前文件的方法或内部类的名字间跳转。
调用:Navigate → Next Method/Previous Method;
快捷键:Ctrl + Up/Down(OS X)、Alt + Up/Down(Windows/Linux);
描写叙述:有时你有一堆存放在不同文件夹下的同名文件。比如不同模块下的AndroidManifest.xml
文件。当你想定位到当中的一个文件,你会得到一堆搜索结果。你还得辨认哪个才是你须要的。通过在检索框中输入部分路径的前缀,并加入斜杠号,你就能够在第一次尝试的时候就找到正确的那个。
快捷键:Cmd + O(OS X)、Ctrl + N(Windows/Linux);
描写叙述:假设光标是在一个继承父类重写的方法里,这个操作将定位到父类实现的地方。
假设光标是在类名上,则定位到父类类名。
Menu → Navigate → Super Class/Method
快捷键:Cmd + U(OS X)、Ctrl + U(Windows/Linux);
描写叙述:你可能已经注意到某些面板的名称左边有一个数字,这里有个快捷操作能够打开它们。假设你没看到面板的名称,请点击IDE的左下角的切换button。
快捷键:Cmd + 数字(OS X)、Alt + 数字(Windows/Linux);
描写叙述:通过这个快捷键,简单地点击Tab。就能够打开当前文件所在的位置或者该文件的随意上层路径。
快捷键:Cmd + 单击Tab(OS X)、Ctrl + 点击Tab(Windows/Linux);
描写叙述:这个操作将显示和你在方法声明处写一样的參数列表。当你想看某个存在的方法的參数。这是一个非常实用的操作。光标下的參数显示为黄色。假设没有參数显示黄色。意味着你的方法调用是无效的,非常可能是某个參数分配不正确。(比如一个浮点数赋值给了整型參数)。假设你正在写一个方法调用,突然离开编辑的地方,再返回的时候,输入一个逗号,就能够又一次触发參数信息。
快捷键:Cmd + P(OS X)、Ctrl + U(Windows/Linux);
描写叙述:你以前是否想查看一个方法或者类的详细实现。可是不想离开当前界面? 该操作能够帮你搞定。
快捷键:Alt + Space / Cmd + Y(OS X)、Ctrl + Shift + I(Windows/Linux)
描写叙述:该操作类似于“近期訪问(Recents)”弹窗。会显示近期本地改动过的文件列表,依据改动时间排列。
能够输入字符来过滤列表结果。
快捷键:Cmd + Shift + E(OS X)、Ctrl + Shift + E(Windows/Linux)
描写叙述:该操作能够得到一个近期訪问文件的可搜索的列表。
快捷键:Cmd + E(OS X)、Ctrl + E(Windows/Linux)
描写叙述:该操作有助于在布局文件和Activity/Fragment之间轻松跳转。这也是一个快捷操作,在类名/布局顶端的左側。
快捷键:Ctrl + Cmd + Up(OS X)、Ctrl + Alt + Home(Windows/Linux)
描写叙述:一大堆快捷键操作会把你从编辑器带走(type hierarchy, find usages, 等等)。
假设你想返回到编辑器,你有两个选项:
Esc:该操作只把光标移回编辑器。
Shift + Esc:该操作会关闭当前面板,然后把光标移回到编辑器。
快捷键:
返回但保留打开的面板:Esc
关闭面板并返回:Shift + Esc
描写叙述:拿着当前文件然后问你在哪里选中该文件。恕我直言。最实用的就是在项目结构或者资源管理器中打开该文件。每个操作都有数字或者字母作为前缀。能够通过这个前缀来高速跳转。通常,我会 Alt + F1 然后 回车(Enter) 来打开项目视图,然后 再用 Alt + F1 在OS X的Finder里找到文件。
你能够在文件里或者直接在项目视图里使用该操作。
快捷键:Alt + F1;
描写叙述:该操作会在上下文逐渐扩大当前选择范围。比如。它会先选中当前变量,再选中当前语句,然后选中整个方法。等等。
快捷键:Cmd + F2(OS X)、Ctrl + F2(Windows、Linux)
描写叙述:这个功能超级赞!
该操作会识别当前选中字符串,选择下一个相同的字符串,而且加入一个光标。
这意味着你能够在同一个文件中拥有多个光标,你能够同一时候在全部光标处输入不论什么东西。
快捷键:Ctrl + G(OS X)、Alt + J(Windows、Linux)
描写叙述:该操作能够展示当前类的大纲,而且能够高速跳转。你还能够通过键盘输入来过滤结果。
这是一种非常高效的方法来跳转到指定方法。
很多其它:
你在输入字符的时候能够用驼峰风格来过滤选项。比方输入”oCr”会找到”onCreate”
你能够通过勾选多选框来决定是否显示匿名类。这在某些情况下非常实用,比方你想直接跳转到一个OnClickListener的onClick方法。
快捷键:Cmd + F12(OS X)、Ctrl + F12(Windows/Linux)
调用:Menu → Navigate → File Structure
描写叙述:该快捷键基本上就是IDE的alt+tab/cmd+tab命令。你能够用它在导航tab或者面板切换。
一旦打开这个窗体,仅仅要一直按着ctrl键,你能够通过相应的数字或者字母快捷键高速选择。你也能够通过backspace键来关闭一个已选中的tab或者面板。
快捷键:Ctrl + Tab
描写叙述:该操作会给你显示最经常使用的版本号控制操作。假设你的项目没实用git等版本号控制软件进行管理,它至少会给你提供一个由IDE维护的本地历史记录。
快捷键:Ctrl + V(OS X)、Alt + `(Windows/Linux)
描写叙述:正常选择时,当你向下选择时。会直接将当前行到行尾都选中。而块选择模式下,则是依据鼠标选中的矩形区域来选择。
调用:按住Alt,然后拖动鼠标选择。
开启/关闭块选择:Menu → Edit → Column Selection Mode
快捷键:切换块选择模式:Cmd + Shift + 8(OS X)、Shift + Alt + Insert(Windows/Linux);
描写叙述:这种方法将会生成缺失的代码来补全语句,经常使用的使用场景例如以下:
在行末加入一个分号。即使光标不在行末;
为if、while、for 语句生成圆括号和大括号;
方法声明后,加入大括号;
调用:Menu → Edit → Compelete Current Statement
快捷键:Cmd + Shift + Enter(OS X)、Ctrl + Shift + Enter(Windows/Linux);
很多其它:假设一个语句已经补全,当你运行该操作时,则会直接跳到下一行,即使光标不在当前行的行末。
描写叙述:假设没选中,则删除光标所在行,假设选中。则会删除选中所在的全部行。
快捷键:Cmd + Delete(OS X)、Ctrl + Y(Windows/Linux)
描写叙述:复制当前行。并粘贴到下一行,这个操作不会影响剪贴板的内容。
这个命令配合移动行快捷键很实用。
快捷键:Cmd + D(OS X)、Ctrl + D(Windows/Linux)
描写叙述:使用Java编写正則表達式是一件非常困难的事,主要原因是:
你必须得避开反斜杠。
说实话,正则非常难;
看第二条。
IDE能帮我们干点啥呢?当然是一个舒服的界面来编写和測试正则啦~ - 快捷键:Alt + Enter → check regexp
描写叙述:代码补全时,能够使用Enter或Tab来进行补全操作,可是两者是有区别的。
使用Enter时:从光标处插入补全的代码,对原来的代码不做不论什么操作。
使用Tab时:从光标处插入补全的代码。并删除后面的代码,直到遇到点号、圆括号、分号或空格为止。
描写叙述:提取一段代码块,生成一个新的方法。
当你发现某个方法里面过于复杂,须要将某一段代码提取成单独的方法时,该技巧是非常实用的。
调用:Menu → Refactor → Extract → Method
快捷键:Cmd + Alt + M(OS X)、Ctrl + Alt + M(Windows/Linux);
很多其它:在提代替码的对话框,你能够更改方法的修饰符和參数的变量名。
描写叙述:这是一个提取參数的快捷操作。当你认为能够通过提取參数来优化某个方法的时候。这个技巧将非常实用。该操作会将当前值作为一个方法的參数,将旧的值放到方法调用的地方,作为传进来的參数。
调用:Menu → Refactor → Extract → Parameter
快捷键:Cmd + Alt + P(OS X)、Ctrl + Alt + P(Windows/Linux);
很多其它:通过勾选“delegate”。能够保持旧的方法,重载生成一个新方法。
描写叙述:这是一个提取变量的快捷操作。
当你在没有写变量声明的直接写下值的时候,这是一个非常方便生成变量声明的操作,同一时候还会给出一个建议的变量命名。
调用:Menu → Refactor → Extract → Variable
快捷键:Cmd + Alt + V(OS X)、Ctrl + Alt + V(Windows/Linux);
很多其它:当你须要改变变量声明的类型,比如使用 List 替代 ArrayList,能够按下Shift + Tab。就会显示全部可用的变量类型。
描写叙述:当你開始对提取操作有点兴奋的时候。突然认为东西太多了,怎么办呢?这是一个和提取相反的操作。
该操作对方法、字段、參数和变量均有效。
调用:Menu → Refactor → Inline
快捷键:Cmd + Alt + N(OS X)、Ctrl + Alt + N(Windows/Linux);
描写叙述:这个操作比起在行末使劲按删除键爽多了!该操作遵守格式化规则,同一时候:
合并两行凝视。同一时候移除多余的//
;
合并多行字符串,移除+
和双引號;
合并字段的声明和初始化赋值。
快捷键:Ctrl + Shift + J;
描写叙述:动态模板是一种高速插入代码片段的方法,使用动态模板比較有意思的是你能够使用合适的默认值将模板參数化,当你插入代码片段时,这能够指导你完毕參数。
很多其它:假设你知道模板的缩写,就能够不必使用快捷键。仅仅须要键入缩写并使用Tab键补全就可以。
快捷键:Cmd + J(OS X)、Ctrl + J(Windows/Linux);
描写叙述:不须要复制粘贴就能够上下移动行了。
快捷键:Alt + Shift + Up/Down;
描写叙述:这个操作和移动行操作非常类似,只是该操作是应用于整个方法的,在不须要复制、粘贴的情况下,就能够将整个方法块移动到还有一个方法的前面或后面。该操作的实际叫做“移动语句”。这意味着你能够移动不论什么类型的语句,你能够方便地调整字段或内部类的顺序。
快捷键:Cmd + Alt + Up/Down(OS X)、Ctrl + Shift + Up/Down(Windows/Linux);
描写叙述:有时你自己主动补全一个布尔值。然后回到该值的前面加入一个感叹号来完毕取反操作,如今通过使用输入!
取代enter
完毕补全操作,就能够跳过这些繁琐的操作了。
快捷键:代码补全的时候,按下!
就可以(有时须要上下键选中候选项)。
描写叙述:你能够觉得该操作是一种代码补全,它会在点号之前生成代码,而不是在点号之后。实际上你调用这个操作和正常的代码补全操作一样:在一个表达式之后输入点号。
比如对一个列表进行遍历。你能够输入myList.for
。然后按下Tab键。就会自己主动生成for
循环代码。
调用: 你能够在某个表达式后面输入点号,出现一个候选列表,在常规的代码补全提示就能够看到一系列后缀补全keyword。相同的。你也能够在Editor
→ Postfix Completion
中看到一系列后缀补全keyword。
经常使用的有后缀补全keyword有:
.for (补全foreach语句)
.format (使用String.format()
包裹一个字符串)
.cast (使用类型转化包裹一个表达式)
描写叙述:该操作能够显示全部对当前选中项可行的重构方法。这个列表能够用数字序号高速选择。
快捷键:Ctrl + T(OS X)、Ctrl + Alt + Shift + T(Windows/Linux)
描写叙述:你能够通过该操作重命名变量、字段、方法、类、包。
当然了,该操作会确保重命名对上下文有意义,不会无脑替换掉全部文件里的名字。
快捷键:Shift + F6
很多其它:假设你忘记了这个快捷键,你能够使用高速修复(Quick Fix)的快捷键。它通常包括重命名选项。
描写叙述:代码补全这个功能太棒啦!
我们大概都对下面这样的情况非常熟悉:開始输入点什么东西,接着从IDE得到一些建议的选项,然后通过Enter或者Tab来选择我们想要的补全代码。事实上还有第二种方法来选择补全的代码:我们能够输入一个点(.)或者一个分号(;)。
这样就会完毕补全。加入所选字符。这在结束一条语句补全或者高速链式调用方法的时候特别实用。
注意点:假设你要代码补全的方法须要參数,这些參数会被略过。
快捷键:Autocomplete + “.” 或者 “;”
描写叙述: 该操作能够用特定代码结构包裹住选中的代码块。一般是if语句。循环,try/catch语句或者runnable语句。 假设你没有选中不论什么东西,该操作会包裹当前一整行。
快捷键:Cmd + Alt + T(OS X)、Ctrl + Alt + T(Windows/Linux)
描写叙述:该操作会移除周围的代码,它可能是一条if语句,一个while循环,一个try/catch语句甚至是一个runnable语句。该操作恰恰和包裹代码(Surround With)相反。
快捷键:Cmd + Shift + Delete(OS X)、Ctrl + Shift + Delete(Windows/Linux)
描写叙述:这个操作将会依据当前选中的变量、參数或者字段,分析出其传递到此处的路径。
当你进入某段陌生的代码,试图明确某个參数是怎么传递到此处的时候。这是一个很实用的操作。
调用:Menu → Analyze → Analyze Data Flow to Here
快捷键:无,能够在设置中指定。
相反的操作:分析传出数据流(Analyze data flow from here)。这个将会分析当前选中的变量往下传递的路径。直到结束。
描写叙述: 这个操作读取一份堆栈追踪信息。而且使它像logcat中那样能够点击。当你从bug报告中或者终端复制了一份堆栈追踪。使用该操作能够非常方便地调试。
调用:Menu → Analyze → Analyze Stacktrace
快捷键:无,能够在设置中指定。
很多其它:通过使用“ProGuard Unscramble Plugin”插件,也能够分析混淆过的堆栈追踪。
描写叙述:随时启动调试程序,即使你没有以调试模式启动你的应用。
这是一个非常方便的操作。由于你不必为了调试程序而以调试模式又一次部署你的应用。
当别人正在測试应用,突然遇到一个bug而将设备交给你时,你也能够非常快地进入调试模式。
调用:点击工具栏图标或者Menu → Build → Attach to Android Process
快捷键:无,能够在设置中指定,或者点击工具栏相应的图标。
描写叙述:简单说,就是当设定的条件满足时,才会触发断点。你能够基于当前范围输入一个java布尔表达式,而且条件输入框内是支持代码补全的。
调用:右键须要填写表达式的断点。然后输入布尔表达式。
这个操作将使得断点。当你有一个设置过复杂条件的断点或者是日志断点。当前不须要,可是下次又不用又一次创建,该操作是非常方便的。
调用:按住Alt,然后单击断点就可以。
描写叙述:这个操作能够用来查看变量的内容而且计算差点儿不论什么有效的java表达式。须要注意的是。假设你改动了变量的状态,这个状态在你恢复代码运行后依旧会保留。
快捷键:处在断点状态时,光标放在变量处。按Alt + F8,就可以显示计算表达式对话框。
描写叙述:该操作能够在不打开计算表达式对话框就能审查表达式的值。
快捷键:调试状态下,按住Alt键,然后单击表达式就可以。
描写叙述:这是一种打印日志而不是暂停的断点,当你想打印一些日志信息可是不想加入log
代码后又一次部署项目,这是一个很实用的操作。
调用:在断点上右键,取消Suspend
的勾选。然后勾选上Log
evaluated Expression
,并在输入框中输入你要打印的日志信息。
描写叙述:当你在调试的时候。这个操作能够让你给某个特殊的对象加入一个标签,方便你后面非常快地辨认。在调试时,当你从一堆相似的对象中查看某个对象是否和之前是一样的,这就是一个非常实用的操作。
调用:右键你须要标记的对象。选中Mark Object
,输入标签。
快捷键:选中对象时,按F3(OS X)、F11(Windows/Linux);
描写叙述:该操作会立马把你的光标移回到当前debug处。
通常的情况是: 1. 你在某处触发了断点 2. 然后在文件里任意浏览 3. 直接调用这个快捷键,高速返回之前逐步调试的地方。
快捷键:(Debug时) Alt + F10。
描写叙述:该操作会终止当前正在执行的任务。假设任务数量大于一,则显示一个列表供你选择。在终止调试或者中止编译的时候特别实用!
快捷键:Cmd + F2(OS X)、Ctrl + F2(Windows、Linux)。
描写叙述:通过该操作能够加入一个断点,这个断点会在第一次被命中的时候自己主动移除。
快捷键:Alt + 鼠标左键 点击代码左側(鼠标)、Cmd + Alt + Shift + F8(OS X)、Ctrl + Alt + Shift + F8(Windows/Linux)
描写叙述:该操作会给你展示 在一个方法的声明和调用之间全部可能的路径。
快捷键:Ctrl + Alt + H
标签:expr 相同 cond 多行 complete 查看 methods move debug
原文地址:http://www.cnblogs.com/jhcelue/p/7398743.html