核桃干货 | JAVA的四大引用
共 4324字,需浏览 9分钟
·
2021-03-16 17:32
下面是每个 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
一个很强大但比之前的技巧有一点不同:你可以通过搜索方法或变量名称直接跳转。
例如,你知道工程中的某个地方有个名为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
和上面功能类似,但列出的仅仅是被修改过的。
技巧
关于键位映射
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”部分将也会高亮显示被重写或实现的方法。
输入字符可以进行列表过滤。
前进或后退
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”返回到编辑窗口。
显示使用的地方
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。和跳到实现的功能正好相反。如果光标在一个被重写的方法上,它将会打开父类的实现。如果光标在一个类内方法外或类名上,它将会打开父类。
高亮显示一个导入的类同时也会显示在哪里使用了。
你可以使用“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
删除当前行或所选择行的代码。