Android Studio快捷键与小技巧(一)

写在前面

本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键。 根据这些小技巧的使用场景,本文将这63个小技巧分为常用技巧(1 – 28)、编码技巧(29 – 50)和调试技巧(51 – 63),分成三个部分。

每个小技巧都配有 gif 动图,由于原图在 google photo 上,加载较慢,本文全部转存到七牛上了。

由于能力有限,翻译过程中难免有所疏漏,如发现错误或问题,请在评论中提出,谢谢。


常用技巧

1.书签(Bookmarks)

  • 描述:这是一个很有用的功能,让你可以在某处做个标记(书签),方便后面再跳转到此处。
  • 调用: 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的书签处。

2. 折叠/展开代码块(Collapse Expand Code Block)

  • 描述:该操作提供一种方法,让你隐藏你不关心的部分代码,以一种较为简洁的格式显示关键代码。一个有意思的用法是隐藏匿名内部类的代码,让其看起来像一个Lambda表达式。
  • 快捷键: Cmd + “+”/”-“(OS X)、Ctrl + Shift + “+”/”-“(Windows/Linux);
  • 更多: 可以在Settig → Editor → General → Code Folding 中设置折叠规则。

3. 与分支比对(Compare With Branch (Git))

  • 描述: 假如你的项目是使用git来管理的,你可以将当前文件或者文件夹与其他的分支进行比对。比较有用的是可以让你了解到你与主分支有多少差别。
  • 调用: Menu → VCS → Git → Compare With Branch

4. 与剪切板比对(Compare With Clipboard)

  • 描述:将当前选中的部分与剪切板上的内容进行比对。
  • 调用: 右键选中的部分,在右键菜单中选择“Compare With Clipboard”。

5. 上下文信息(Context Info)

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

6. 查找操作(Find Action)

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

7.查找补全(Find Complection)

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

8. 隐藏所有面板(Hide All Panels)

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

9. 高亮一切(Hightlight All the Things)

  • 描述: 该操作将会高亮某个字符在当前文件中所有出现的地方。这不仅仅是简单的匹配,实际上它会分析当前的作用域,只高亮相关的部分。
  • 调用: Menu → Edit → Find → Highlight Usages in File;
  • 定位到上一处/下一处: Menu → Edit → Find → Find Next/Previous;
  • 快捷键: 相关快捷键请在菜单中查看;
  • 更多:
    • 如果高亮一个方法的returnthrow语句,将会高亮这个方法的所有出口/结束点;
    • 如果高亮某个类定义处的extendimplements语句,将会高亮继承的或实现的方法;
    • 高亮一个import语句也会高亮使用到的地方;
    • 按下Esc可以退出高亮模式;

10. 回到上一个工具窗口(Jump to Last Tool Window)

  • 描述: 有时候你会从某个工具窗口跳到编辑器里面,然后又需要重新回到刚才操作的那个工具窗,比如你查找使用情况的时,使用该操作可以在不使用鼠标的情况下跳转到之前的工具窗口。
  • 快捷键: F12;

11. 上一个编辑位置(Last Edit Location)

  • 描述: 该操作将使得你导航到上一处你改动过的地方,这与点击工具栏上的返回箭头回到上一个定位位置是不一样的,该操作将会返回到上一个编辑的位置。
  • 快捷键: Cmd + Shift + Delete(OS X)、Ctrl + Shift + Backspace(Windows/Linux);

12. 在方法和内部类之间跳转(Move Between Methods and Inner Classes)

  • 描述: 该操作让光标在当前文件的方法或内部类的名字间跳转。
  • 调用: Navigate → Next Method/Previous Method;
  • 快捷键: Ctrl + Up/Down(OS X)、Alt + Up/Down(Windows/Linux);

13. 定位到嵌套文件(Navigate to Nested File)

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

14. 定位到父类(Navigate to parent)

  • 描述: 如果光标是在一个继承父类重写的方法里,这个操作将定位到父类实现的地方。如果光标是在类名上,则定位到父类类名。
  • 调用: Menu → Navigate → Super Class/Method
  • 快捷键: Cmd + U(OS X)、Ctrl + U(Windows/Linux);

15. 根据编号打开面板(Open a Panel by Its Number)

  • 描述:你可能已经注意到某些面板的名称左边有一个数字,这里有个快捷操作可以打开它们。如果你没看到面板的名称,请点击IDE的左下角的切换按钮。
  • 快捷键: Cmd + 数字(OS X)、Alt + 数字(Windows/Linux);

16. 在外部打开文件(Open File Externally)

  • 描述:通过这个快捷键,简单地点击 Tab,就可以打开当前文件所在的位置或者该文件的任意上层路径。
  • 快捷键: Cmd + 单击Tab(OS X)、Ctrl + 点击Tab(Windows/Linux);

17. 参数信息(Parameter Info)

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

18. 快速查看定义(Quick Definition Lookup)

  • 描述: 你曾经是否想查看一个方法或者类的具体实现,但是不想离开当前界面? 该操作可以帮你搞定。
  • 快捷键: Alt + Space / Cmd + Y(OS X)、Ctrl + Shift + I(Windows/Linux)

19. 最近修改的文件(Recently Changed Files)

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

20. 最近访问(Recents)

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

21. 相关文件(Related File)

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

22. 返回到编辑器(Return to the Editor)

  • 描述: 一大堆快捷键操作会把你从编辑器带走(type hierarchy, find usages, 等等)。如果你想返回到编辑器,你有两个选项:
    1. Esc:该操作仅仅把光标移回编辑器。
    2. Shift + Esc:该操作会关闭当前面板,然后把光标移回到编辑器。
  • 快捷键:
    • 返回但保留打开的面板:Esc
    • 关闭面板并返回:Shift + Esc

23. Select In

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

24. 扩大/缩小选择(Extend/Shrink Selection)

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

25. Sublime Text式的多处选择(Sublime Text Multi Selection)

  • 描述: 这个功能超级赞!该操作会识别当前选中字符串,选择下一个同样的字符串,并且添加一个光标。这意味着你可以在同一个文件里拥有多个光标,你可以同时在所有光标处输入任何东西。
  • 快捷键: Ctrl + G(OS X)、Alt + J(Windows、Linux)

26. 文件结构弹窗(The File Structure Popup)

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

27. 切换器(The Switcher)

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

28. 版本控制操作弹窗(VCS Operations Popup)

  • 描述: 该操作会给你显示最常用的版本控制操作。如果你的项目没有用git等版本控制软件进行管理,它至少会给你提供一个由IDE维护的本地历史记录。
  • 快捷键: Ctrl + V(OS X)、Alt + `(Windows/Linux)

编码技巧

29. 列选择/块选择(Column Selection)

  • 描述: 正常选择时,当你向下选择时,会直接将当前行到行尾都选中,而块选择模式下,则是根据鼠标选中的矩形区域来选择。
  • 调用: 按住Alt,然后拖动鼠标选择。
  • 开启/关闭块选择:Menu → Edit → Column Selection Mode
  • 快捷键: 切换块选择模式:Cmd + Shift + 8(OS X)、Shift + Alt + Insert(Windows/Linux);

30. 语句补全(Complete Statement)

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

31. 删除行(Delete Line)

  • 描述: 如果没选中,则删除光标所在行,如果选中,则会删除选中所在的所有行。
  • 快捷键: Cmd + Delete(OS X)、Ctrl + Y(Windows/Linux)

32. 行复制(Duplicate Line)

  • 描述: 复制当前行,并粘贴到下一行,这个操作不会影响剪贴板的内容。这个命令配合移动行快捷键非常有用。
  • 快捷键: Cmd + D(OS X)、Ctrl + D(Windows/Linux)

33. 编写正则表达式(Edit Regex)

  • 描述: 使用Java编写正则表达式是一件很困难的事,主要原因是:
    • 你必须得避开反斜杠;
    • 说实话,正则很难;
    • 看第二条。
      IDE能帮我们干点啥呢?当然是一个舒服的界面来编写和测试正则啦~
  • 快捷键: Alt + Enter → check regexp

34. 使用Enter和Tab进行代码补全的差别(Enter vs Tab for Code Completion)

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

35. 提取方法(Extract Method)

  • 描述: 提取一段代码块,生成一个新的方法。当你发现某个方法里面过于复杂,需要将某一段代码提取成单独的方法时,该技巧是很有用的。
  • 调用: Menu → Refactor → Extract → Method
  • 快捷键: Cmd + Alt + M(OS X)、Ctrl + Alt + M(Windows/Linux);
  • 更多: 在提取代码的对话框,你可以更改方法的修饰符和参数的变量名。

36. 提取参数(Extract Parameter)

  • 描述: 这是一个提取参数的快捷操作。当你觉得可以通过提取参数来优化某个方法的时候,这个技巧将很有用。该操作会将当前值作为一个方法的参数,将旧的值放到方法调用的地方,作为传进来的参数。
  • 调用: Menu → Refactor → Extract → Parameter
  • 快捷键: Cmd + Alt + P(OS X)、Ctrl + Alt + P(Windows/Linux);
  • 更多: 通过勾选“delegate”,可以保持旧的方法,重载生成一个新方法。

来源 写代码的猴子

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值