Android Studio 快捷键

来源:互联网 发布:中电数据 江海 编辑:程序博客网 时间:2024/05/17 21:49

工欲善其事,必先利其器。在使用 as 开发过程中,越来越觉得,掌握好的开发技巧,能大大提高开发效率,往往一个快捷键就能搞定的事却往往饶了一圈,或者每次还要再去 google 一下,终于下定决心,把一些常用的快捷键都记录一下,能让自己随心所欲的开发。

参考链接
Android Studio Tips of the Day
Android Studio 小技巧/快捷键 合集


常用技巧


1.上下文信息(Context Info)
描述:当前作用域定义超过滚动区域,执行该操作将显示所在的上下文信息,通常它显示的是类名或者内部类类名或者当前所在的方法名。该操作在xml文件中同样适用。
调用:Menu → View → Context Info
快捷键:Alt + Q (Windows/Linux)
更多:个人认为,这个功能更好的用法是快速查看当前类继承的父类或者实现的接口。

这里写图片描述

2.查找操作(Find Action)
描述:输入某个操作的名称,快速查找,对于没有快捷键的部分操作这是一个很有用的技巧。
快捷键:Cmd +Shift + A(OS X)、Ctrl + Shift + A(Windows/Linux);
更多:当某个操作是有快捷键的,会显示在旁边。

这里写图片描述

3.查找补全(Find Complection)
描述:你在一个文件中进行查找时,使用自动补全快捷键可以给出在当前文件中出现的建议单词;
快捷键:Cmd + F(OS X),Ctrl + F(Windows/Linux),输入一些字符,然后使用自动补全;

这里写图片描述

4.隐藏所有面板(Hide All Panels)
描述:切换编辑器铺满整个程序界面,隐藏其他的面板。再次执行该操作,将会回到隐藏前的状态。
调用:Menu → Window → Active Tool Window → Hide All Windows;
快捷键:Cmd +Shift + F12(OS X)、Ctrl + Shift + F12(Windows/Linux);

这里写图片描述

5.定位到嵌套文件(Navigate to Nested File)
描述:有时你有一堆存放在不同目录下的同名文件,例如不同模块下的AndroidManifest.xml文件,当你想定位到其中的一个文件,你会得到一堆搜索结果,你还得辨认哪个才是你需要的。通过在检索框中输入部分路径的前缀,并添加斜杠号,你就可以在第一次尝试的时候就找到正确的那个。
快捷键:Shift + Cmd + O(OS X)、Shift + Ctrl + N(Windows/Linux);

这里写图片描述

6.参数信息(Parameter Info)
描述:这个操作将显示和你在方法声明处写一样的参数列表,当你想看某个存在的方法的参数,这是一个很有用的操作。光标下的参数显示为黄色,如果没有参数显示黄色,意味着你的方法调用是无效的,很可能是某个参数分配不对。(例如一个浮点数赋值给了整型参数)。如果你正在写一个方法调用,突然离开编辑的地方,再返回的时候,输入一个逗号,就可以重新触发参数信息。
快捷键:Cmd + P(OS X)、Ctrl + P(Windows/Linux);

这里写图片描述

7.最近访问(Recents)
述:该操作可以得到一个最近访问文件的可搜索的列表。
快捷键:Cmd + E(OS X)、Ctrl + E(Windows/Linux)

这里写图片描述

8.最近修改的文件(Recently Changed Files)
描述:该操作类似于“最近访问(Recents)”弹窗,会显示最近本地修改过的文件列表,根据修改时间排列。可以输入字符来过滤列表结果。
快捷键:Cmd + Shift + E(OS X)、Ctrl + Shift + E(Windows/Linux)

这里写图片描述

9.相关文件(Related File)
描述:该操作有助于在布局文件和Activity/Fragment之间轻松跳转。这也是一个快捷操作,在类名/布局顶端的左侧。
快捷键:Ctrl + Cmd + Up(OS X)、Ctrl + Alt + Home(Windows/Linux)

这里写图片描述

在 UI 视图与文本视图切换
Turns out that you can quickly toggle between the ui designer and the xml editor in with ctrl+shift+left/right on OSX and alt+shift+left/right on windows and linux.

这里写图片描述

10.Select In
描述:拿着当前文件然后问你在哪里选中该文件。恕我直言,最有用的就是在项目结构或者资源管理器中打开该文件。每一个操作都有数字或者字母作为前缀,可以通过这个前缀来快速跳转。通常,我会 Alt + F1 然后 回车(Enter) 来打开项目视图,然后 再用 Alt + F1 在OS X的Finder里找到文件。你可以在文件中或者直接在项目视图里使用该操作。
快捷键:Alt + F1;

这里写图片描述

11.大/缩小选择(Extend/Shrink Selection)
描述:该操作会在上下文逐渐扩大/缩小当前选择范围。例如,它会先选中当前变量,再选中当前语句,然后选中整个方法,缩小选择则相反。
快捷键:Alt + 上/下 (OS X)、Ctrl+W / Ctrl + Shift + W(Windows、Linux)

这里写图片描述

12. 文件结构弹窗(The File Structure Popup)
描述:该操作可以展示当前类的大纲,并且可以快速跳转。你还可以通过键盘输入来过滤结果。这是一种很高效的方法来跳转到指定方法。
更多:你在输入字符的时候可以用驼峰风格来过滤选项。比如输入”oCr”会找到”onCreate”
你可以通过勾选多选框来决定是否显示匿名类。这在某些情况下很有用,比如你想直接跳转到一个OnClickListener的onClick方法。
快捷键:Cmd + F12(OS X)、Ctrl + F12(Windows/Linux)
调用:Menu → Navigate → File Structure

这里写图片描述

13.切换器(The Switcher)
描述:该快捷键基本上就是IDE的alt+tab/cmd+tab命令。你可以用它在导航tab或者面板切换。一旦打开这个窗口,只要一直按着ctrl键,你可以通过对应的数字或者字母快捷键快速选择。你也可以通过backspace键来关闭一个已选中的tab或者面板。
快捷键:Ctrl + Tab

这里写图片描述

Use the Tab Key in Search Everywhere
Search everywhere is interesting: you only have to double tap the shift key and it will show you matching classes, files, symbols and even actions! However, if you want to select a method, you’ll find it in the third category so you will end up pressing the down key many times.
One cool trick is to use the tab key to navigate quickly between sections. The first tab will get you to the “more” button so that you can expand the current category. The next time you press the tab key will get you to the next category.

这里写图片描述

Extract Resource
When you hardcode a string or a dimen, it is pretty easy to extract it to the correct resource files.
Just invoke the show intention actions (quick fix) panel on the string or dimen and let the IDE do the boring work for you.
It will ask you in which file(s) you want to put it and in which source set if you are using flavors.
Shortcut: Alt + Enter → Extract String/Dimension Resource

这里写图片描述

新建文件 The Navigation Bar
The navigation bar is the “breadcrumb” at the top of the IDE.
It shows you the path to the current file but you can also use it to navigate and/or take action on files and folders.

Interesting stuff:
- You can navigate to any subfolder from a parent or find sibling classes
- You can create new files easily using the code generation shortcut (cmd+n / alt+insert)
- In fact, you can do anything that you could do by right-clicking in the project view
- When you know the shortcut, you can hide the bar and gain a little bit of screen real estate.

Shortcut:
- Mac: Cmd+Up
- Windows/Linux: Alt+Home
-
这里写图片描述

Close Others
If you have a bunch of tabs opened, this will close them all except the current one.
there are two ways to do this:
1) Right click the tab and select “Close Others”
2) Hold the “Alt” key and click on the “x” on the tab

这里写图片描述

External Documentation
This will open the local javadoc in a browser.
Shortcut: Shift+F1

这里写图片描述

Next Highlighted Error
When there are a couple of errors and warnings in a file, you can quickly cycle through them using this shortcut. Very useful when you have a couple errors in a file or if you are resolving merge conflicts by hand (the “<<<<<<<” thing in the middle of a java file is an error right!)
By default it won’t make a difference between a warning and an error. If you want to prioritize errors, you can set it in Preferences → Editor → Error Highlighting → ‘Next Error’ action goes to high priority problems only. Once all errors are cleared, it will cycle through warnings.
Shortcut:
Next: F2
Previous: Shift+F2

这里写图片描述

Open Terminal
Pretty much what it says, this will open a terminal in the IDE itself.
You can configure which shell it will use in Preferences → Terminal
Shortcut: Alt+F12

这里写图片描述

VCS Operations Popup
This will show you the most frequent version control operations.
If your project is not under git or another sytem, it will at least give you a local history maintained by the IDE.
Shortcut :
- Mac: Ctrl+V
- Windows/Linux: Alt+`
-


编码技巧


语句补全(Complete Statement)
描述:这个方法将会生成缺失的代码来补全语句,常用的使用场景如下:
在行末添加一个分号,即使光标不在行末;
为if、while、for 语句生成圆括号和大括号;
方法声明后,添加大括号;
调用:Menu → Edit → Compelete Current Statement
快捷键:Cmd + Shift + Enter(OS X)、Ctrl + Shift + Enter(Windows/Linux);
更多:如果一个语句已经补全,当你执行该操作时,则会直接跳到下一行,即使光标不在当前行的行末。

这里写图片描述

使用Enter和Tab进行代码补全的差别(Enter vs Tab for Code Completion)
描述:代码补全时,可以使用Enter或Tab来进行补全操作,但是两者是有差别的。
使用Enter时:从光标处插入补全的代码,对原来的代码不做任何操作。
使用Tab时:从光标处插入补全的代码,并删除后面的代码,直到遇到点号、圆括号、分号或空格为止。

这里写图片描述

提取变量(Extract Variable)
描述:这是一个提取变量的快捷操作。当你在没有写变量声明的直接写下值的时候,这是一个很方便生成变量声明的操作,同时还会给出一个建议的变量命名。
调用:Menu → Refactor → Extract → Variable
快捷键:Cmd + Alt + V(OS X)、Ctrl + Alt + V(Windows/Linux);
更多:当你需要改变变量声明的类型,例如使用 List 替代 ArrayList,可以按下Shift + Tab,就会显示所有可用的变量类型。

这里写图片描述

动态模板(Live Templates)
述:动态模板是一种快速插入代码片段的方法,使用动态模板比较有意思的是你可以使用合适的默认值将模板参数化,当你插入代码片段时,这可以指导你完成参数。
更多:如果你知道模板的缩写,就可以不必使用快捷键,只需要键入缩写并使用Tab键补全即可。
快捷键:Cmd + J(OS X)、Ctrl + J(Windows/Linux);

这里写图片描述

上下移动行(Move Lines Up Down)
描述:不需要复制粘贴就可以上下移动行了。
快捷键:Alt + Shift + Up/Down;

这里写图片描述

移动方法(Move Methods)
描述:这个操作和移动行操作很类似,不过该操作是应用于整个方法的,在不需要复制、粘贴的情况下,就可以将整个方法块移动到另一个方法的前面或后面。该操作的实际叫做“移动语句”,这意味着你可以移动任何类型的语句,你可以方便地调整字段或内部类的顺序。
快捷键:Cmd + Alt + Up/Down(OS X)、Ctrl + Shift + Up/Down(Windows/Linux);

这里写图片描述

分号/点 补全(Semicolon Dot Completion)
描述:代码补全这个功能太棒啦!我们大概都对以下这种情况很熟悉:开始输入点什么东西,接着从IDE得到一些建议的选项,然后通过Enter或者Tab来选择我们想要的补全代码。其实还有另外一种方法来选择补全的代码:我们可以输入一个点(.)或者一个分号(;)。这样就会完成补全,添加所选字符。这在结束一条语句补全或者快速链式调用方法的时候特别有用。
注意点:如果你要代码补全的方法需要参数,这些参数会被略过。
快捷键:Autocomplete + “.” 或者 “;”

这里写图片描述

包裹代码(Surround With)
描述: 该操作可以用特定代码结构包裹住选中的代码块,通常是if语句,循环,try/catch语句或者runnable语句。 如果你没有选中任何东西,该操作会包裹当前一整行。
快捷键:Cmd + Alt + T(OS X)、Ctrl + Alt + T(Windows/Linux)

这里写图片描述

移除包裹代码(Unwrap Remove)
描述:该操作会移除周围的代码,它可能是一条if语句,一个while循环,一个try/catch语句甚至是一个runnable语句。该操作恰恰和包裹代码(Surround With)相反。
快捷键:Cmd + Shift + Delete(OS X)、Ctrl + Shift + Delete(Windows/Linux)

这里写图片描述

手动唤出自动补全(Class Name Completion)
描述:一般使用 Android Studio 的时候,自动提示会在你想要提示的时候自动出现,比如输入 Log. ,就出现 Log.d()、Log.e、Log.i() 等提示。不过如果在自动提示的时候手一抖选错的话,比如想选 Log.d() 结果选了 Log.e() ,你可能会把 .e() 都删掉,然后再输入一个 . , 然后弹出自动补全提示。其实这时候只需要删除 e() 然后手动唤出自动补全即可。
快捷键: Ctrl + Alt + Space (OS X/Windows/Linux) (可能存在快捷键冲突无法唤出,修改下快捷键即可)

这里写图片描述


调试技巧


分析传入数据流(Analyze data flow to here)
描述:这个操作将会根据当前选中的变量、参数或者字段,分析出其传递到此处的路径。 当你进入某段陌生的代码,试图明白某个参数是怎么传递到此处的时候,这是一个非常有用的操作。
调用:Menu → Analyze → Analyze Data Flow to Here
快捷键:无,可以在设置中指定。
相反的操作:分析传出数据流(Analyze data flow from here),这个将会分析当前选中的变量往下传递的路径,直到结束

这里写图片描述

堆栈追踪分析(Analyze Stacktrace)
描述: 这个操作读取一份堆栈追踪信息,并且使它像logcat中那样可以点击。当你从bug报告中或者终端复制了一份堆栈追踪,使用该操作可以很方便地调试。
调用:Menu → Analyze → Analyze Stacktrace
快捷键:无,可以在设置中指定。
更多:通过使用“ProGuard Unscramble Plugin”插件,也可以分析混淆过的堆栈追踪。

这里写图片描述

关联调试程序(Attach Debugger)
描述:随时启动调试程序,即使你没有以调试模式启动你的应用。这是一个很方便的操作,因为你不必为了调试程序而以调试模式重新部署你的应用。当别人正在测试应用,突然遇到一个bug而将设备交给你时,你也可以很快地进入调试模式。
调用:点击工具栏图标或者Menu → Build → Attach to Android Process
快捷键:无,可以在设置中指定,或者点击工具栏对应的图标。

这里写图片描述

条件断点(Conditional Breakpoints)
描述:简单说,就是当设定的条件满足时,才会触发断点。你可以基于当前范围输入一个java布尔表达式,并且条件输入框内是支持代码补全的。
调用:右键需要填写表达式的断点,然后输入布尔表达式。

这里写图片描述

禁用断点(Disable Breakpoints)
这个操作将使得断点。当你有一个设置过复杂条件的断点或者是日志断点,当前不需要,但是下次又不用重新创建,该操作是很方便的。
调用:按住Alt,然后单击断点即可。

这里写图片描述

计算表达式(Evaluate Expression)
描述:这个操作可以用来查看变量的内容并且计算几乎任何有效的java表达式。需要注意的是,如果你修改了变量的状态,这个状态在你恢复代码执行后依然会保留。
快捷键:处在断点状态时,光标放在变量处,按Alt + F8,即可显示计算表达式对话框。

这里写图片描述

审查变量(Inspect Variable)
描述:该操作可以在不打开计算表达式对话框就能审查表达式的值。
快捷键:调试状态下,按住Alt键,然后单击表达式即可。

这里写图片描述

日志断点(Logging Breakpoints)
描述:这是一种打印日志而不是暂停的断点,当你想打印一些日志信息但是不想添加log代码后重新部署项目,这是一个非常有用的操作。
调用:在断点上右键,取消Suspend的勾选,然后勾选上Log evaluated Expression,并在输入框中输入你要打印的日志信息。

这里写图片描述

标记对象(Mark Object)
描述:当你在调试的时候,这个操作可以让你给某个特殊的对象添加一个标签,方便你后面很快地辨认。在调试时,当你从一堆相似的对象中查看某个对象是否和之前是一样的,这就是一个非常有用的操作。
调用:右键你需要标记的对象,选中Mark Object,输入标签;
快捷键:选中对象时,按F3(OS X)、F11(Windows/Linux);

这里写图片描述

显示当前运行点(Show Execution Point)
描述:该操作会立刻把你的光标移回到当前debug处。
通常的情况是:
你在某处触发了断点
然后在文件中随意浏览
直接调用这个快捷键,快速返回之前逐步调试的地方。
快捷键:(Debug时) Alt + F10;

这里写图片描述

终止进程(Stop Process)
描述:该操作会终止当前正在运行的任务。如果任务数量大于一,则显示一个列表供你选择。在终止调试或者中止编译的时候特别有用!
快捷键:Cmd + F2(OS X)、Ctrl + F2(Windows、Linux);

这里写图片描述

临时断点(Temporary Breakpoints)
描述:通过该操作可以添加一个断点,这个断点会在第一次被命中的时候自动移除。
快捷键:Alt + 鼠标左键 点击代码左侧(鼠标)、Cmd + Alt + Shift + F8(OS X)、Ctrl + Alt + Shift + F8(Windows/Linux)

这里写图片描述

调用层级树弹窗(The Call Hierarchy Popup)
描述:该操作会给你展示 在一个方法的声明和调用之间所有可能的路径。
快捷键:Ctrl + Alt + H

这里写图片描述