熟练这些,才会知道 Android studio 有多高效

来源:互联网 发布:php工程师面试题及答案 编辑:程序博客网 时间:2024/04/28 04:51

Android Studio 常用高效快捷键

整理Android群英传和网上出现的比较完整AS的快捷小技巧. mac版已测, win大部分已测试. 最后有一个整理的完整快捷键表格. win也好mac也好, 如果快捷被修改还是错误, 都可以通过提供的Keymap中的关键字来进行重设.
图中gif如果看不清, 放大页面即可.

原文地址


Android studio 奇巧淫工
  • 常用小操作
    • 单词选择
    • 显示最近操作,修改的文件
    • 文件查找
    • 操作记录
    • 移动行
    • 查找方法调用处
    • 方法的跟进
    • 显示方法的参数
    • 行的快速操作
    • 多行操作
    • 快速补全完成
    • 代码提示
    • 变量的快速操作
    • 代码折叠
    • 预览方法定义
    • 粘贴板管理
    • 拆分窗口
    • 变量命令风格
    • 查看大纲
    • 书签
  • 快速重构
    • 重构入口
    • surround with
    • Extract
  • 代码模块
  • 代码分析
    • Insepect Code & Code cleanup
    • Dependencies
    • 方法调用栈
  • 断点调试
    • 快速调试
  • 快捷键查找表

常用小操作

单词选择

一般IDE通过option + 方向键左右(win为ctrl + 左右方向键)对光标进行单词的跳动, 但是由于我们使用驼峰式命名较多, 默认的会导致由多个单词组成的驼峰式的首尾跳转. 还好AS可以对这种风格进行设定.

默认效果


修改后的效果


修改步骤

打开偏好设置如图片设置


注意: (感谢楼下朋友的留言,指出这个问题)
如果你仍然希望当鼠标在单词上双击之后选中整个单词,需要作如下设置:

  • File | Settings 打开设置
  • 选择 Editor | General
  • 取消选中 ‘Mouse’ | ‘Honor Camel Humps words settings when selecting on double click’

显示最近操作, 修改的文件

例如: 我打开了main_activity.xml布局文件, 然后关闭页面. 这个时候Command + E, 就会如下显示之前的操作文件.


那么如果要查看之前修改过的文件, Command + Shift + E即可. 可以配合Control + Tab进行快速界面的切换.

快捷键

  • 最近操作
    • Command + E (mac)
    • ctrl + E (win)
  • 最近修改
    • Command + Shift + E (mac)
    • ctrl + shift + enter (win)

文件查找

search Everywhere

项目中的全局查找功能文件功能

查找类文件

  • command + o (mac)
  • ctrl + n (win)

默认只是在项目代码中查找类文件, 如果需要查找sdk或者类库中的相关类. 再按一次快捷键, 或者勾选下图选项搜索全局类文件



查找文件

这个级别比上面那个更广. 包括所有文件, 如xml等.

  • command + shift + o (mac)
  • ctrl + shift + n (win)

如上如果需要搜索类库或者源码, 请在按一次快捷键, 或者勾选查找类给出图中的选项.

操作记录

在浏览代码结构的时候, 很多时候总是会跟进许多类里面, 如果想回到之前浏览调转点. 那么这个快捷键你就必须要记住.

  • Command + Option + Left\Right 或者 command + [, command + ] (mac)
  • ctrl + alt + Left\Right(win)

移动行

这个不用太多介绍, 就是整行的上下移动.

  • Option + shift + 方向键上\方向键下 (mac)
  • alt + shift + 方向键上\方向键下 (win)

查找方法调用处

场景: 查找一个方法在何处被调用, 或者一个ID在哪里被引用. 选中这个方法右键, 选择Find Usages即可.

快捷键:

  • option + F7 (mac)
  • alt + F7 (win)

方法的跟进

方法总是伴随着调转, 我们也总是会对方法的内部查看细节. 常用的办法是按住Command 并点击方法名的方式.

也可以在光标所在处直接通过Command + B进行方法内部跟进.

  • Command + B (mac)
  • ctrl + alt + B (win)

显示方法的参数

当我们使用一个方法的时候, 会在刚开始的时候显示出所有的参数. 但是过一会可能就不存在了. 这个时候如果你想知道下一个参数是什么类型, 或者看一下所有参数.


快捷键:

  • command + P (mac)
  • ctrl + P (win)

如果你还想查看一下方法的文档, 不用跟进源码, 直接F1键即可显示出文档.

行的快速操作

快速删除行, 其实使用剪切功能就可以Command + X

快速复制行, 使用command + Dmac, ctrl + Dwin

多行操作

可能有时候我们会声明做一系列相关的变量为float类型, 但是真实的需要的是int类型. 这个时候就可以进行多重选择进行整体修改. 如下图:


按住option(win为alt)键, 然后鼠标进行区域的选择. 然后进行对应修改即可.

你可能认为上面的必须要连续的才可以. 那么如果可以设置多个光标点是否就可以满足你的问题了?

看下图:


  • option + shift + 鼠标点击 (mac)
  • alt + shift + 鼠标点击(win)

即可添加一个编辑光标. 最后如果不需要那么就esc即可关闭多余光标.

快速补全完成

创建一个对象. 或者findViewById()有时总需要移动鼠标或者光标到末尾进行分号的补全. 这些都可以快捷键搞定. 当你用习惯之后, 会非常的方便好用.

  • command + shift + enter(mac)
  • ctrl + shift + enter(win)

实现的功能

  • 方法体大括号的添加
  • 行尾分号的添加
  • 自动格式化改行操作等

代码提示

任何地方都可以调出的代码提示.

control + option + /(不是默认, mac默认为control + space). 这里要说的是. 代码提示之后一般都会回车键确定. 当按回车键的时候. 会保留光标之后的内容. 当有的时候我们并不需要. 这个时候你就可以使用table键进行选择. 它会将后面的输入内容删掉.

win的快捷方式ctrl + 空格(win同样大部分和输入法冲突, 请手动在AS设置里面keymap项查找completion basic手动修改快捷键)


快速生成变量

比如在方法体中logi直接快速生成一个log日志输出的模板, 但是TAG这个常量还没有声明. 这个时候用光标移动到TAG上. 使用快捷键提示即可快速生成.

  • option + enter(mac)
  • alt + enter(win)

变量的快速操作


上图使用了两次快捷键,

  • 第一次: 跳转到变量的声明处
    • command + B (mac)
    • ctrl + b (win)
  • 第二次: 跳转到变量类型的定义处
    • command + shift + B (mac)
    • ctrl + shift + b (win)

代码折叠

对代码块进行折叠和展开.

  • command + 加号\减号(mac)
  • ctrl + 加号\减号 (win)

预览方法定义

如果只想大体了解方法的定义, 而不需要进行方法所在源码类的跳转显示. 可以通过Command + Y (win快捷键为ctrl + shift + I)来进行预览


粘贴板管理

对于复制粘贴. 我们习惯只是单次c+v, 那么如果你想查看之前被覆盖了的复制过的内容. AS同样有复制粘贴板来管理. 展示最近几次的复制内容.


  • command + shift + v (mac)
  • ctrl + shift + v (win)

拆分窗口


只需要在标签页上右键. 选择split vertical\horizontal.

变量命名风格

对于成员变量应该m开头. 对于静态成员通常是s开头. 可以这样设置这个风格.


这样在输入一个变量的名字时, 就可以自动补全m或者s. 同时在Extra代码的时候, 生成的代码都可以自动根据这个规则重构.

查看大纲

当一个类很大的时候. 可以通过command + F12(win为ctrl + F12) 打开大纲界面. 展示全部的方法和成员变量列表.


并且支持模糊搜索. 来进行筛选显示. 可以快速的找到要搜索的方法集.

书签

在浏览大型代码, 或者调试时. 有时可能会需要记住一些关键的代码或者方法. 这个时候就可以使用书签. 来记录此关键代码. 只需要在点击需要标记的行, 并按F3就会在左侧出现一个小对勾. 这就说明已经打上了一个书签.

同时在Favorites标签中, 也可以找到对应的Bookmarks

可以通过快捷键command + F3 (win为shift + F11)快速调出书签面板, 进行后续的操作.

快速重构

重构入口

当一个代码片段准备重构的时候. 可以使用control + T (win为ctrl + alt + shift + T)打开重构入口. 或者右键单击选择Refactor显示重构界面.

这里有很多方便的功能. 提成方法等等.

surround With

当对一个段代码进行, 条件包裹, 捕捉异常, 循环, Runnable等. 可以直接使用快捷的方式, 而不需要手动生成条件在进行代码块的复制-粘贴


快捷键

  • command + option + T(mac)
  • ctrl + alt + T(win)

Extract

你可以经常使用它,提取出一个方法.


不仅仅如此, 你还可以对xml中的多个控件相同的属性进行抽取为style


快捷键:

  • ctrl + alt + shift + T(win)

是不是很爽?

这是其一, 对于xml不仅可以抽取Style, 还可以抽取布局Layout

而代码中, 可以提取各种变量, 参数, 长廊.

代码模板

AS中已经内置了很多代码模板, 你可以很嗖嗖嗖的就完成之前倒背如流的代码. 如下一小部分


通过快捷键可调出这些代码模板

  • command + J(mac)
  • ctrl + J(win)

代码分析

Google提供了很多代码分析工具, 这些工具都集中在顶部菜单栏的Analyze中.

Inspect Code & Code cleanup

Inspect Code可以让IDE分析整个工程. 类似于Lint分析, 并会给出大致修改意见等

Code cleanup功能可以进行自动的代码修复.

Dependencies

通过Analyze中的几个Dependencies选项. 可以快速分析项目的依赖.

方法调用栈

对于某些方法来说, 查看它被调用的地方和调用的顺序是非常重要的. 可通过control + option + H快速查找方法调用栈.

断点调试

快速断点

条件断点. 主要用在循环体内. 一个循环10次的for. 只想在第8次进入断点.

普通断点相似, 一样先声明一个断点. 然后在普通断点单击鼠标右键. 在弹出的菜单填写断点条件即可. 如下:


上面图中Enable可以控制启用, 还是停用一个断点.


临时断点. 如果需要一个只执行一次的断点. 执行完之后断点自动取消. 那么可以通过快捷点将当前行作为临时断点.


  • command + option + shift + F8
  • ctrl + alt + shift + F8

为了篇幅不是很长, 调试的部分贴一个讲解很详细的帖子

  • Android Studio代码调试大全

快捷键查找表

速查表列出了keymap快捷键的名称. 可以直接通过AS setting界面搜索keymap. 通过对应的快捷键名称来添加或者修改快捷键.

功能描述keymap对应名字MacWin/Linux提示错误解决方案Show Intention Actionsoption + enteralt + enterAS配置界面Preferencescommand + ,control+alt+S工程项目配置界面Project Structurecommand + ;Control+Alt+Shift+S快速构成代码Code Generatecommand + Nalt + insert代码提示Completion/Basiccontrol + space(mac会冲突, 手动修改)ctrl + 空格(win同样大部分和输入法冲突, 手动修改)选择视图select in any viewoption + F1alt + F1添加书签标识Toggle Bookmarkoption + F3ctrl + F11向下移动一行Move Line Downoption + shift + Downalt + shift + Down向上移动一行Move Line Upoption + shift + Upalt + shift + Up注释代码Comment with Line Commentcommand + /ctrl + /用代码模板包裹代码surround with Live Templatecommand + option + Jctrl + alt + J格式化代码Reformat Codecommand + option + Lctrl + alt + LCopy ReferenceCopy Referencecommand + option + shift + Cctrl + alt + shift + Cif/try等包裹代码Surround With..command + option + Tctrl + alt + T查看声明Declarationcommand + Bctrl + B快捷向下复制行Duplicate Line or Blockcommand + Dctrl + D删除行Delete Linecommand + deletectrl + Y快捷最近打开Recent Filescommand + Ectrl + E查找Edit/Find/Findcommand + Fctrl + F文件方法结构File Structurecommand + F12ctrl + F12显示书签Show Bookmarkscommand + F3shift + F11代码高亮向下查找Move To Next Occurrencecommand + GF3代码高亮向上查找Move To Previous Occurrencecommand + shift + Gshift + F3按照模板生成代码Insert Live Templatecommand + Jctrl + J定位到行Navigate/Linecommand + Lctrl + G快速到行首/尾Move Caret to Line Start/Endcommand + Left/Rightctrl + Left/Right代码折叠/展开Collapse/Expandcommand + 减号/加号ctrl + 减号/加号查找类Navigate/Classcommand + Octrl + N多行注释Code/Comment command + option + /ctrl + alt + /格式化代码Reformat Codecommand + option + Lctrl + alt + L提示参数类型Parameter Infocommand + Pctrl + P查找替换Replacecommand + Rctrl + R查找命令Find Actioncommand + shift + Actrl + shift + A拷贝文件路径Copy Pathscommand + shift + Cctrl + shift + C移动代码块Move Statement Up/Downcommand + shift + down/upctrl + shift + down/up代码补全Complete Current Statementcommand + shift + enterctrl + shift + enter全路径查找Find in Pathcommand + shift + Fctrl + shift + F代码高亮Highlight Usages in Filecommand + shift + F7alt + J窗口内所有代码折叠/展开Collapse/Expand Allcommand + shift + 减号/加号ctrl + shift + 减号/加号查找文件Navigate/Filecommand + shift + Octrl + shift + N全路径中替换Replace in Pathcommand + shift + Rctrl + shift + R大小写转换Toggle Casecommand + shift + Uctrl + shift + U显示粘贴版历史Paste from Historycommand + shift + Vctrl + shift + V快速查找定义command + spacectrl + shift + I粘贴Pastecommand + Vctrl + V复制Copycommand + Cctrl + C去除无效包引用Optimize Importscontrol + option + Octrl + alt + O显示类关系继承体系Type Hierarchycontrol + Hctrl + H快速覆写方法override Methodscontrol + Octrl + O查找调用的位置Call hierarchycontrol + option + Hctrl + alt + H添加书签Toggle BookmarkF3F11扩大缩小选中范围Extend Selection/Shrink Selectionoption + UP/Downctrl + W + shift + W跳转到父类Super methodcommand + Uctrl + U关闭当前tab标签Editor Tabs / Closecommand + Wctrl + shift + a关闭除编辑窗口的其余窗口Hide All Tool Windowscommand + shift + F12ctrl + shift + F12预览方法定义Quick Definitioncommand + Yctrl + shift + I返回光标最后编辑位置Last Edit Locationcommand + shift + deletecontrol + shift + Backspace调到代码块首部/尾部Move Caret To Code BlockOption + Command + [ 或者 ]Control+[ 或者 ]重命名Renameshift + F6shift + F6抽取方法Extract Methodcommand + option + Mcontrol+alt+M抽取变量Extract Variablecommand + option + Vcontrol+alt+V抽取字段Extract Fieldcommand + option + Fcontrol+alt+F抽取常量Extract Constantcommand + option + Ccontrol+alt+C抽取参数Extract Parametercommand + option + Pcontrol+alt+P重构入口Refactor Thiscontrol + Tctrl + alt + shift + T
阅读全文
0 0