AndroidStudio 从基本到高级使用技巧 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
ChenPing

AndroidStudio 从基本到高级使用技巧

  •  1
     
  •   ChenPing Sep 12, 2016 14285 views
    This topic created in 3521 days ago, the information mentioned may be changed or developed.

    AndroidStudio 从基本到高级使用技巧

    Tips of the Day

    在Help-->Tips of the day 打开 非常有用,每日看一条,比现在网上那些快捷键什么教程要好得多。

    快速查找

    相当Mac的Alfred,只需要快速双击 “shift”即可,它是打开类,文件,脚本,布局最为简单直接的方法。在这个弹出的搜索框上还有 “Include non-project items”的选项,如果选中它,还可以找到非本项目的东西,例如引用JAR包。

    FindAction

    与快速查找还有一个非常类似的功能,它是一个类似搜索指令的入口 通过 Command+Shift+A打开,它主要用来打开 keyMap,插件GsonFomatter等等,一些指令功能性的东西。

    演示模式

    在View 选项中,最下面有有三个选项 Enter Presentation Mode 进入演示模式,这个主要是用于在投影仪的时间,另外在Mac可以通过双指进行代码区域的缩放。??? Enter Distraction Free Mode 这个是进入免打扰模式,这个功能来自于SubLime Text。 Enter FullScreen 进入全屏模式

    Android使用进阶

    操作导航

    单词选择

    在AS中,可以通过 Option + "->" "<-" 跳转到单词的开始和结束,但我们JAVA通过会用驼峰命名,可以在设置里 通过搜索 “Smart Keys”找到 Use "CamelHumps" words选中它,可以进行一个单词内各个驼峰之间的跳转,可以方便的选择一个单词中的局部变量。

    显示最近操作、修改

    在AS中,使用“Command + E” 和 "Command + Shift + E",可以快速显示最近的文件操作和文件修改。 Command + E 显示最近浏览过的文件 Command + Shift + E 显示最近编辑过的文件 与些同时,还可以用“Control + Tab”的快捷键进行各个界面的切换。

    操作记录

    当浏览代码或者写代码时会对之前的代码进行回看,在AS中可以用 Command+"{" "}" 进行查看,也可以用"Command + Option + Left/Right"来进行位置导航,因为AS中保存了每个操作的历史。

    移动行

    Option + Shift + 方向键 

    查找调用

    查找该方法的调用点,非常有用 可以用右键 Find + Usages ,也可以用 "Command + Option + F7" 这个是弹出一个对话框让你选择到哪个调用点。 “Option + F7” 是在下面有一个搜索结果列表形式让你查看

    快速方法操作

    按住Command键,然后点击鼠标可以查看方法详情,如果是接口呢,如何直接查看接口的实现,Command+Option+鼠标左键,这个极其实用,很多人用了MVP模式后,有大量的接口出现,对如何快捷查看方法实现不是很明白,这个也是我在使用过程中发现的。

    也可以当光标在方法上时,用Command+B快速跳转到该方法。

    查看参数定义与文档

    “Command + P”可以快速查看该方法的参数定义。

    快捷行操作

    “Command + Shift + UP/Down”可以迅速将一行移动到上面或者下面。 删除一行:"Command + BackSpace" 剪切:"Command + X" 复制:“Command + D”

    快速断点

    条件断点:在生成普通断点以后,在普通断点上点击右键,会弹出一个对话框,可以配置Condition。在这个弹出的对话框里也能Enable与否这个断点。 临时断点:这个断点只执行一次.用“Command + Option + Shift +F8”即可当当前断点作为临时断点,临时断点上上面会有个数字1.

    异常断点

    当运行到异常的时间会自动暂停,极其有用,不用到处到打断点了。 在Run-->View breakpoints 的界面上,点击左上角的+,选择Java Exception BreakPoints然后在里面设置监听,找到NullPointException即可。

    日志断点

    开发者经常遇到这样的情况,整个工程代码已经写完了,突然出现一个bug需要加一行log进行高度,因为这一行Log要把整个工程都编译一遍,其实可以通过AS中提供的日志断点解决这个问题。

    这个加日志其实是通过断点功能实现的。

    在断点上点击右键,把Suspend设置为false,然后在Log evaluated expression中写入日志信息即可。

    这样设置后,就会在断点处打印出你要的信息。

    多重选择

    它是通过相似性的一种选择,把光标放在第一个单词初,然后“Control + G”会自动找到下面相同或者相似的单词给选择上,然后统一修改即可。

    我们通常会用“Shift + Up/Down”来选择行,另外一种方法,按住Option,然后拖动鼠标也可以选中行。

    还有一个更厉害的功能是多光标修改,“Option + Shift + 鼠标点击”可以增加一个新的光标,可以在一个单词内增加多个光标,也可以在任何无关联的单词中增加任意的光标,然后就可以统一修改。

    快速完成

    “Command + Shift + Enter”可以自动完成某些操作,例如大括号的添加、行尾分号的添加、自动格式化该行操作等等。

    代码提示

    “Control + Space”可以在代码任意地方调出代码提示,通过Enter键可以完成提示的输入。另外Tab键同样也可以完成输入,区别是它会将后面已经输入的提示全部删掉,而Enter会保留。

    “Control + Shift + Space”提示了更加智能的代码。

    “Option + Enter”可以获取代码的修改提示,不用每次再用鼠标去点击出现错误的小红点。 例如:Log.i(TAG,"TEST");点击Option+Enter可以快速的获取代码提示,创建Tag.

    调度中计算变量的值

    在调式中,只要按住ALT键,点击代码中的表达式,即可显示表达式的值。

    设置变量命名代码风格

    根据Google代码指南,类的成员变量以m开头,静态成员以s开头。 在Preference--> Code Style --> Java --> Code Generation 设置

    查看大纲

    Command + F12 可以打开大纲界面。 点击左边的Structure也可以打开 直接通过模糊搜索可以快速定位到方法

    书签

    在接手老项目或者在调试代码时,往往需要分析代码的思路,经常需要记录一些关键的代码的方法。这时侯用书签记录就是最好的方式. 通过F3 快捷键可以将一处代码添加到书签或者从书签删除。

    添加到书签的代码在行旁边会有个小钩,同时在Favorites标签中,可以找到相应的Bookmarks。

    另外,通过快捷键Command + F3 可以调出书签面板,显示所有的书签。

    附加调试

    点击attach to debugger并选择要调试的Process,即可进入调试模式

    其它操作技巧

    通过“Command + - ”和“Command + + ”可以对一段代码进行折叠和展示

    预览方法定义: 如果开发者在调式代码的时侯,想查看某个方法的定义,但又不想跳转到方法所在的类,那么就可以用快捷键“Command + Y”在当前页面上对指定方法预览。

    拆分窗口: Window-->Editor Tabs-->Split vertical\horizontal

    相关文件: 每个Activity,Fragment,Adapter都有与之相关的XML文件在这些类声明的地方,会出现一个布局方法的图标,当你点击它的时间,它会把所有与之相关的XML文件列举出来。

    快速重构

    重构入口

    通过快捷键“Control + T”可以打开这个重构入口,或者通过单击鼠标右键,选择"Refactor"调出这个界面。

    Surround With

    在开发中,通过会对某行代码进行重构,例如增加if条件或者增加 try catch 捕获异常,可以通过“Command + Option + T”来进行操作。

    快速提示

    “ALT + Enter” 当你写完一行代码时,还差一个分号、换行,并格式化代码,可以用它。

    当你写了一个未生成的方法,可以通过它来生成方法。

    如果想把if... else if.. 切换成switch语句,还可以用它。

    出现错误,需要获得错误提示还可以用它。

    万能的快速提示!!!

    快速国际化

    打开strings.xml ,打开右上角的 “Open editor”,然后选择左上角的“地球”图标,即可打开资源国际化选择器

    Extract的妙用

    "Option+Command+M"可快速进行方法提取 这个仅仅针对抽取方法有用。

    它不仅对Java代码可以抽取,还可以对XML进行提取style。

    在代码中,它可以提取各种变量、参数、常量。例如,它可以把一个局部变量提取为类的成员变量,将一个字符串提取为全局的常量。

    Stucturally Search

    通过 Find Action打开该功能。

    例如输入someting($time$),它的核心就是可以通过$xxx$进行匹配搜索。

    代码模板

    内置模板

    使用“Command + J”可以调出这些代码模板。

    这里也提供了丰富的快捷输入模板,例如“fori”,“ifn”。 在设置中可以找到所有的内置和自定义模板,找到“Live Templates”标签,

    补充一个快捷键盘 Command + , 打开AS的Preference。

    这里有许多内置的模板,可以快速写许多代码!!!

    自定义代码注释模板

    代码分析

    方法调用栈,极其有用一个功能,通过“Control + Option + H”可以快速找到该方法的调用栈,这个其实就是一直调用到源码底层,对于看一些底层调用流程特别有用。

    ImageAsset && VectorAsset (特别关注一下)

    Productivity Guide

    这是一个非常有意思的功能,打开Help菜单,就可以打开这个功能, 这个显示的是整个IDE的使用数据情况,使用了多久,使用快捷键次数,代码提示次数等统计信息。

    AndroidStudio 插件

    自动生成代码类插件

    ButterKnife:在使用了ButterKnife的jar已后,再加上这个插件简直就是无敌 SelectorChapek:使用SelectorChapek插件可以将一个drawable文件夹下的图像,自动生成对应的drawable selector,只要符合文件名符合安装要求的规范即可。 GsonFormat ~~~ ParcelableGenerate 自动生成Parcelable接口所需要的代码 AndroidCodeGenerator 自动生成ViewHolder Prettify 自动生成Layout中的View在Java中的findViewById代码。

    主题插件

    在color-themes.com中,找到相应的主题,下载后import Settings

    原文:AndroidStudio 从基本到高级使用技巧

    2 replies    2016-09-12 15:27:45 +08:00
    ChenPing
        1
    ChenPing  
    OP
       Sep 12, 2016
    再发下原文, http://chenxiaojian.net/androidstudio-skills.html ,觉得 V2EX 对 MarkDown 支持的没那么好,阅读效果有偏差
    EXE
        2
    EXE  
       Sep 12, 2016
    不错不错,很多快捷键再 Idea 里是通用的
    About     Help     Advertise     Blog     API     FAQ     Solana     2533 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 39ms UTC 01:46 PVG 09:46 LAX 18:46 JFK 21:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86