尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58/article/details/47134819
关注新浪微博:@于卫国
邮箱:[email protected]
这是Android Studio使用技巧系列教程的最后一篇文章,感谢大家一直以来的支持和鼓励。今后我会继续翻译高质量的精品文章,欢迎关注、扩散。
这是我发表在Google+上的Android Studio每日技巧的第六篇文章。你可以从这查看以前发表的文章。
关于键位映射
Android Studio 提供了不同的键位映射(即快捷键和它对应的操作之间的映射),你可以在“Settings->Keymap”菜单里面查看当前所使用的键位映射。
列出每个键位映射是不实用的,因此将会使用下面的:
Windows:默认
Linux:默认
OSX:Mac OSX 10.5+
重构
Mac:Ctrl+T
Windows/Linux:Ctrl+Alt+Shift+T
这是一个针对当前选择的代码显示上下文所有可用的重构的快捷键。这个列表可以通过键盘进行检索并且你也可以使用左侧的数字进行快速访问。
跳到父类
Mac:Cmd+U
Windows/Linux:Ctrl+U
(六)中已经提到,如果你的光标在重写父类的一个方法内(如:Activity#onCreate()),这个将会跳到父类的实现上。
如果你的光标在类名上,它将会跳到父类。
最近修改的文件
Mac:Cmd+Shift+E
Windows/Linux:Ctrl+Shift+E
这个和“Recents”弹出框有所不同,这个列出是在本地最近被修改的文件。它是按修改的顺序进行存储(最上面是最近被编辑的)。更好的是你可以输入字符进行过滤列表。
跳到最近使用的工具窗口
Mac:F12
Windows/Linux:F12
可能和操作系统的快捷键有冲突
(六)中已经提到,有时候,你从面板返回到编辑器,但是你发现不得不再返回到这个面板。例如:浏览find usages。使用这个快捷键,你可以不用鼠标返回到这个面板。
相关的文件
Mac:Cmd+Up
Windows/Linux:Ctrl+Alt+Home
(译者注:原文Mac快捷为Ctrl+Cmd+Up,希望有Mac的同学验证后告知正确的快捷键)它可以帮助你很轻松地在布局文件和Activity/fragment文件之间进行导航。还有一个快捷方式是在类名的旁边和布局文件的顶部。
提取变量
Mac:Cmd+Alt+V
Windows/Linux:Ctrl+Alt+V
这是一个提取变量的快捷键不用通过重构菜单。
这是非常有用的当你动态生成代码时你可以不用输入变量的声明并且可以直接修改变量名称。IDE将会生成声明并且还会给出一些建议的变量名称。
额外的技巧:
- 如果你想修改声明类型为一些更通用的(如:List而不是ArrayList),你可以使用Shift+Tab它会给出一个可用类型的列表。
提取参数
Mac:Cmd+Alt+P
Windows/Linux:Ctrl+Alt+P
这是一个提取参数的快捷键不用通过重构菜单。
这个功能是有用的当你意识到一个方法可能是泛型时通过提取一部分做为一个参数。它作用的方式是它会使用当前值作为一个参数然后复制原先的值作为每个调用者的参数。
额外的技巧:
- 你也可以保持原来的方法使用它声明一个新方法通过“delegate”选项。
提取方法
Mac: Cmd+Alt+M
Windows/Linux: Ctrl+Alt+M
跟着我提取的思路进行重构,这个可以提取一个代码块做为一个新的方法。
这个功能是相当有用的。无论什么时候你遇到一个开始变得有点复杂的方法,你可以使用这个安全地抽取一部分到另一个方法。我所说的安全是因为IDE不会像我们可能会犯一个愚蠢的复制粘贴错误。
额外的技巧:
- 当你在抽取对话框,你可以修改方法的可见性和参数名称。
Inline
Mac: Cmd+Alt+N
Windows/Linux: Ctrl+Alt+M
你使用提取有一点疯狂并且现在有太多的东西?你可以使用反向操作,它叫做“inline”。
它可以作用于方法,Fields,参数和变量。
重命名
Shortcut: Shift+F6
使用这个,你可以重命名一个变量,field,方法,类和甚至是包。
这个可以实现,当然了,它会确保重命名在你整个应用的上下文中是有意义的,它不会简单地做一个查找然后替换所有文件!
额外的技巧:
- 如果你忘记了这个快捷键,你可以一直调用快速修复快捷键它将会一直包括重命名重构。
Pull Up / Push Down
Mac: Ctrl+T 然后选择成员
Windows/Linux: Ctrl+Alt+Shift+T 然后选择成员
当我们谈论上拉成员,我们的意思是我们将会让当前类的一些成员(通常是方法或field)发送它到父类或接口。
如果继承于一个类,内容会被移动。如果是实现的一个接口,它将会声明方法作为接口的一部分,在你的类中保持原有的方法并且添加 @Override注解。
当我们谈论下推成员,这正好是反向操作,我们会从父类或接口发送一些成员到子类。
请我喝杯咖啡,支持我继续翻译请使用支付宝扫描下方二维码:
原文地址:http://www.developerphil.com/android-studio-tips-of-the-day-roundup-6/