尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58/article/details/46729803
关注新浪微博:@于卫国
邮箱:yuweiguocn@gmail.com
关于我你应该知道以下两点:
1、我是一个IDE狂热者
2、我是一个高效极客
两年前,当我转向Intellij IDEA,Android Studio基于它,我为了更高效的开发,花费了大量的时间在寻找快捷键和技术上。当你看到这篇文章,我相信你也做了很多同样的事情,所以对于你来说我尝试让它更容易和更快一些。
在这个系列教程中,我们将会在Android Studio中学习从每个开发者都应该知道的最基本的开发技巧到更多高级的技能。
关于键位映射
Android Studio 提供了不同的键位映射(即快捷键和它对应的操作之间的映射),你可以在“Settings->Keymap”菜单里面查看当前所使用的键位映射。
列出每个键位映射是不实用的,因此将会使用下面的:
Windows:默认
Linux:默认
OSX:Mac OSX 10.5+(不是默认的一个,强烈建议使用Jetbrains)
来回跳转
我们花费了大量的时间在代码跳转上,让我们尝试提高它的效率。
打开一个class
OS X: cmd+o
Windows Or Linux: ctrl+n
假如你必须跳到一个名为“MainActivity”的类,只需要使用这个快捷键并输入“MainA”即可。
打开一个file
OS X: cmd+shift+o
Windows Or Linux: ctrl+shift+n
和上面的快捷键类似,但它是作用于工程中的所有文件。对于打开AndroidManifest.xml或在res/和assets/文件夹内的文件它是非常有用的。
打开一个symbol
OS X: cmd+alt+o
Windows Or Linux: ctrl+alt+shift+n (译者注:原文为alt+shift+n,但验证时这是别的功能的快捷键,故改正)
一个很强大但比之前的技巧有一点不同:你可以通过搜索方法或变量名称直接跳转。
例如,你知道工程中的某个地方有个名为getFormattedDate()的方法,你可以使用这个快捷键直接找到它。
技巧
- 部分匹配
你可以输入部分字符,它也能够进行匹配。例如,你要查找一个名为“ItemDetailFragment”个的类,你可以只输入“IDF”就可以找到它。 - 行号
假如你的同事只告诉你某个代码在ExcitingClass 类的22行,你可以使用打开一个class的快捷键输入类名在后面追加一个“:”(冒号),然后在后面输入行号,如:
ExcitingClass:22
你也可以混合使用部分匹配,就像这样:
EC:22
最近打开的文件
OS X: cmd+e
Windows Or Linux: ctrl+e
这个弹出一个最近打开文件的列表
最近编辑的文件
OS X: cmd+shift+e
Windows Or Linux: ctrl+shift+e
和上面功能类似,但列出的仅仅是被修改过的。
技巧
- 输入字符可以进行列表过滤。
前进或后退
OS X: cmd+alt+left/right
Windows Or Linux: ctrl+alt+left/right
为了更好地理解这个快捷键,应该想想WEB浏览器上前进和后退是怎样工作的。现在不是在web页面上,而是源代码中!因此当你跳入一个代码或打开一个新的文件,IDE将会记住你之前的位置,并且可以快速返回。
最后编辑的位置
OS X: cmd+shift+backspace
Windows Or Linux: ctrl+shift+backspace
这个和上面的快捷键有所不同,它是在上次修改代码位置之间进行跳转。
想像你正在修改一个让人讨厌的bug。你觉得你可以解决它并且开始修复它,但当你意识到在你的工程中你不得不去看android源代码和其它类的时候,你进入其它类的一个功能,然后又跳到其它文件中20步以后,你终于完成了你的修复,但你刚才正在编辑的是哪一行?只要使用这个快捷键你就可以正确地返回。
显示使用的地方
在一个固定的面板上
OS X: alt+F7
Windows Or Linux: alt+F7
显示被用到的地方。对于一个类成员变量,它将会显示用到的地方(读和写)。对一个方法,它将会显示被调用的地方。对于一个类,它将会显示实例化被创建的地方。
你可以使用箭头键和返回键在显示结果中查看。然后可以使用“Esc”返回到编辑窗口。
显示使用的地方2
OS X: cmd+alt+F7
Windows Or Linux: ctrl+alt+F7
和上面作用一样,显示在弹出框中。
跳到声明或实现的地方
这有三个进入到一个symbol的快捷键:
跳到声明
OS X: cmd+b
Windows Or Linux: ctrl+b
OS X: cmd+click
Windows Or Linux: ctrl+click
跳到类、方法或变量声明的地方。跳到类和方法的实现上是很有用的
跳到实现
OS X: cmd+alt+b
Windows Or Linux: ctrl+alt+b
列出所有classes/interfaces实现选择的class/interface。也可以用在方法上查找implemented/overriden。在变量上会跳到声明的地方。
跳到类型声明
OS X: cmd+shift+b
Windows Or Linux: ctrl+shift+b
当光标在一个变量上,它会跳到变量类型的声明处。例如,下面一行代码:
Developer phil = new Developer(“Phil”);
如果光标在“phil”变量上,按下快捷键会跳到“Developer”类的声明处。
跳到父类
OS X: cmd+u
Windows Or Linux: ctrl+u
这将会打开父类的当前的symbol。和跳到实现的功能正好相反。如果光标在一个被重写的方法上,它将会打开父类的实现。如果光标在一个类内方法外或类名上,它将会打开父类。
That’s all!
在下一篇文章中,我们将学习到更多的快捷键。
尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58/article/details/46764575
关注新浪微博:@于卫国
邮箱:yuweiguocn@gmail.com
最终我还是没能够遵守承诺。之前我写的文章应该算是一个新的系列,一年后我们又回来了。
因此我又重新开始了。我每天在Google+上发表的一系列文章我将会分享在这里,就像Daniel Lew之前所做的。
自从我在G+上写的新的系列,会从之前所发表的文章复制一些到这里。
如果你想获取最新的教程,在google+上关注我或者订阅 Android Developer Tools Community。Pavlos-Petros Tournaris在github上也收集了所有android studio当前的使用技巧,因此如果你想提前看看下篇文章中的内容,把它检出就可以了。
关于键位映射
Android Studio 提供了不同的键位映射(即快捷键和它对应的操作之间的映射),你可以在“Settings->Keymap”菜单里面查看当前所使用的键位映射。
列出每个键位映射是不实用的,因此将会使用下面的:
Windows:默认
Linux:默认
OSX:Mac OSX 10.5+
高亮所有Things
OS X: cmd+shift+f7
Windows Or Linux: ctrl+shift+f7
这将会在当前文件高亮显示当前文件中选中的所有相同symbol。这个比一些简单的模式匹配(译者注:如ctrl+f只能查找单个smybol,而这个可以高亮显示多个条件)显示的更多,它实际是在当前文件范围高亮显示相关的代码。
你可以从菜单Edit->Find->Find Next/Previous查找下一个或前一个。
额外的技巧:
- 高亮显示一个方法声明的“return”或“throw”同时也会高亮显示方法的所有出口点。
- 高亮显示类定义的“extends”或“implements”部分将也会高亮显示被重写或实现的方法。
- 高亮显示一个导入的类同时也会显示在哪里使用了。
- 你可以使用“Esc”键取消高亮。
在方法和内部之间移动
OS X: ctrl+up/down
Windows Or Linux: alt+up/down
光标在当前文件中的方法或类名称之间移动。
如果你的光标在方法体内,向上可以直接移动光标到方法名上。这个是非常有用的,因为它能在你重构方法时或查找这个方法的用法时让光标跳到正确的地方。
弹出文件结构
OS X: cmd+f12
Windows Or Linux: ctrl+f12
这个显示一个当前类的大纲,可以在类中进行导航。最好的是你可以使用键盘进行过滤。这是一个非常高效的方式通过你知道的名称跳到方法上。
额外的技巧:
- 你可以使用驼峰式从列表中过滤。例如:输入“oCr”将会找到“onCreate”
- 你也可以勾选打开“显示匿名内部类”。在你想直接进入“OnClickListener”中的“onClick”方法时它有可能是有用的。
弹出调用层级
OS X: ctrl+alt+h
Windows Or Linux: ctrl+alt+h
这个会显示一个方法的声明和它的调用之间的可能的路径。
快速查找定义
OS X: alt+space
Windows Or Linux: ctrl+shift+i
你是否曾经想在当前页面查看一个方法或类的实现?使用这个快捷键在当前页面查找它。
伸缩代码块
OS X: alt+plus/minus
Windows Or Linux: ctrl+shif+plus/minus
这个特性的目的是隐藏在某一时刻你不关心的代码。在这个简单的形式中,它将会隐藏整个代码块(如:当你打开一个新文件时忽略导入列表)。更有趣的是它可以隐藏匿名内部类周围的模板代码让它看起来像是一个lambda表达式。
额外的技巧:
- 你可以在Setting->Editor->Code Folding中设置默认的折叠参数
书签
开关书签
OS X: f3
Windows Or Linux: f11
用助记符开关书签
OS X: alt+f3
Windows Or Linux: ctrl+f11
如你给书签分配了一个数字,你可以使用下面的快捷键返回到对应书签:
ctrl+number
显示书签
OS X: cmd+f3
Windows Or Linux: shift+f11
查找Actions
OS X: cmd+shift+a
Windows Or Linux: ctrl+shift+a
你可以通过名称在Android Studio中调用任何你知道的菜单或action!对于你之前使用过但没有快捷键的命令来说这是非常有用的。
额外的技巧:
- 如果这个Action有快捷键,它将会显示在旁边。
上下移动当前行
OS X: alt+shift+up/down
Windows Or Linux: alt+shift+up/down
对,这个是用来上下移动当前行代码。没有什么更多要说的,享受它吧。
删除当前行
OS X: cmd+backspace
Windows Or Linux: ctrl+y
删除当前行或所选择行的代码。
尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58/article/details/46787737
关注新浪微博:@于卫国
邮箱:yuweiguocn@gmail.com
这是我发表在Google+上的Android Studio每日技巧的第二篇文章。你可以从这查看以前发表的文章。
关于键位映射
Android Studio 提供了不同的键位映射(即快捷键和它对应的操作之间的映射),你可以在“Settings->Keymap”菜单里面查看当前所使用的键位映射。
列出每个键位映射是不实用的,因此将会使用下面的:
Windows:默认
Linux:默认
OSX:Mac OSX 10.5+
复制行
OS X: cmd+d
Windows Or Linux: ctrl+d
正如下面所说的:它将会复制当前行并且粘贴在下一行,它并不会复制到剪贴板。当它被用于复制当前行时它将会是非常有用的。
扩大/收缩 选中部分
OS X: alt+up/down
Windows Or Linux: ctrl+w/ctrl+shift+w
这个能扩大当前选中的区域。如它能选择当前的变量,然后是声明,然后是方法等等。
包裹代码块
OS X: cmd+alt+t
Windows Or Linux: ctrl+alt+t
这个被用来用一些结构包裹代码块。通常使用if、while、try-catch或runnable。
如果什么也没有选中,它将会包裹当前行。
最近打开的文件
OS X: cmd+e
Windows Or Linux: ctrl+e
在第一篇文章中已经提到,使用这个可以得到一个最近打开的文件的可搜索的列表!
在线模板
OS X: cmd+j
Windows Or Linux: ctrl+j
在线模板是一个快速插入代码片段的方式。使用在线模板有趣的是它能参数化,当你插入代码时它可以使用参数智能的引导你。
额外的技巧:
- 如果你知道它的缩写你就不需要调用快捷键。你可以直接输入它并用“Tab”键完成输入。
移动方法
OS X: cmd+alt+up/down
Windows Or Linux: ctrl+shift+up/down
这个和移动当前行类似,但它可以用于整个方法。它可以上下移动一个方法不用复制粘贴。
这个action真正的名称是“Move Statement”。这意味着它可以移动“statement”中的任何一种。如:你可以重新排列字段和内部类的顺序。
完成Statement
OS X: cmd+shift+enter
Windows Or Linux: ctrl+shift+enter
它可以在完成statement时生成未完成的代码,通常用于下列情况:
- 在行尾添加一个分号,甚至可以在你的光标没在行尾时
- 在if、while或for添加括号和花括号
- 在方法的声明后添加一个花括号
额外的技巧:
- 如果statement已经完成,它会直接跳到下一行,甚至光标没有在当前行的最后一个字符时。
最后编辑的位置
OS X: cmd+shift+backspace
Windows Or Linux: ctrl+shift+backspace
在第一篇文章中已经提到,它将会跳到你最后修改代码的位置。这个和工具栏上的后退是不同的,它会在你的编辑历史中跳转,而不是导航历史。
合并行和文字
OS X: ctrl+shift+j
Windows Or Linux: ctrl+shift+j
这个比在行尾模拟删除键能做的更多!它会保存格式化规则,还有下面的特性:
- 合并两个注释行并且删除没有用的//
- 合并多行字符串,移除加号和双引号
- 合并字段和赋值
额外的技巧:
- 如果你选择一个多行的字符串,它将会合并成一行。
选择于
OS X: alt+f1
Windows Or Linux: alt+f1
询问你从哪选择当前的文件。恕我直言,这是最有用的快捷键对于在工程结构中或你的文件资源管理器中打开。每个action都有一个字母或数字的前缀,这是快速调用它的快捷键。
通常,我会使用Alt+F1然后回车为了在工程视图中打开和Alt+F1+8在Mac的文件资源管理器中打开。
你可以从工程视图中调用这个对于一个文件或文件夹。
打开/删除
OS X: cmd+shift+delete
Windows Or Linux: ctrl+shift+delete
这个会移除周围代码。它可以移除if、while、try/catch或者甚至一个runnable。这个正好和Surround With(包裹代码块)的快捷键功能相反。
尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58/article/details/46866503
关注新浪微博:@于卫国
邮箱:yuweiguocn@gmail.com
这是我发表在Google+上的Android Studio每日技巧的第三篇文章。你可以从这查看以前发表的文章。
关于键位映射
Android Studio 提供了不同的键位映射(即快捷键和它对应的操作之间的映射),你可以在“Settings->Keymap”菜单里面查看当前所使用的键位映射。
列出每个键位映射是不实用的,因此将会使用下面的:
Windows:默认
Linux:默认
OSX:Mac OSX 10.5+
开关断点
OS X: Cmd+F8
Windows Or Linux: Ctrl+F8
下面几个技巧是关于调试的。让我们开始学习使用最简单的一个:添加一个断点。我非常确定你调试过应用并且知道在左边框上通过鼠标左键单击开关断点。这是一个不使用鼠标开关断点的快捷键。
条件断点
Mouse:在断点上RightClick,然后输入一个条件。
OS X: Cmd+Shift+F8(光标在断点行)
Windows Or Linux: Ctrl+Shift+F8(光标在断点行)
简而言之,只有在某些条件下打开断点。你可以输入任何基于当前范围返回一个boolean类型的java表达式。并且喜欢的事实是条件文本框支持代码自动完成。
日志断点
Mouse:在断点上RightClick,取消选中Suspend(暂停),在“Log evaluated Expression”输入你的消息。
这是一个输出日志信息不会停止运行的断点。当你马上想打印一些东西但不能或不想添加打印日志的代码后重新部署时可能是有用的。
临时断点
Mouse: 在左侧框上Alt+LeftClick
Mac: Cmd+Alt+Shift+F8
Windows/Linux: Ctrl+Alt+Shift+F8
添加一个第一次运行触发到它后自动移除的断点。
禁用断点
Mouse: Alt+LeftClick 在左侧框上的已存在的断点上。
这个没有键盘快捷键,如果你经常用的话可以创建一个。
这将会禁用断点。当你有一些复杂的条件或日志断点,你现在不需要但你不想再下次重新创建的时候是特别有用的。
附加到调试器
Mouse: 点击这个图标或从菜单选择Build->Attach to Android Process(译者注:不知道此菜单是否为MAC上的功能,Windows下的为Run->Attach debugger to Android Process)
这个没有键盘快捷键,但你应该创建一个。
当你没有开启应用的调试模式时也可以开始调试应用。这个是非常有用的对于你不用不得不重新部署应用到调试模式。当有人在测试应用时,测出一个bug,给你他的设备时,这是相当有用的。
Evaluate 表达式
OS X: Alt+F8
Windows Or Linux: Alt+F8
它被用来检查一个变量的内容和evaluate差不多任何有效的java表达式。需要知道的是如果你的状态改变了,当你恢复程序的执行时候它还会保持那种结果。
Evaluate 表达式2
Mouse:在表达式上Alt+LeftClick
查看一个表达式的值不会打开Evaluate表达式对话框。
标记对象
在variables或watch面板上
Mouse: RightClick选择“Mark Object”
OSX : 选择一个对象+F3
Windows/Linux: 选择一个对象+F11
在调试会话中,这个可以在一个指定的对象上添加一个标签,因此稍后你可以识别它。在你有一些相似的对象并且你想知道它和之前的是同一个对象时这样的调试会话中是非常有用的。
分析异常堆栈
菜单: Analyze → Analyze Stacktrace
查找action: analyze stacktrace
这个可以抓取已经显示在logcat中的异常堆栈并让它是可点击的。这个是特别有用的当从一个bug报告或一个终端复制异常堆栈时。
额外的技巧:
- 你也可以使用“ProGuard Unscramble Plugin”插件分析一个被混淆的堆栈信息
原文地址:http://www.developerphil.com/android-studio-tips-of-the-day-roundup-3/