Andriod Studio高级配置

   <p>本文主要内容来自Dmytro Danylyk 在Medium 的文章<a href="/misc/goto?guid=4959670206766258532" rel="external">Configuring Android Studio</a>。在此感谢!虽然使用<em>Android Studio</em> 有一定的时间了,但文中的某几个设置之前还真不知道,且原文在长城外,因此在翻译原文的基础上作了一些补充,若有新的发现会即时更新。希望对大家尤其是刚接触<em>Android Studio</em> 的朋友有一点帮助。</p>    <h3>前面的话</h3>    <p><em>Android Studio</em> 提供了一个非常方便的功能帮助我们<em>导入</em>或者<em>导出</em>设置。因此我们在安装一个新的<em>Android Studio</em> 的时候通常会导入一个之前的设置。但是,最近发生了一件操蛋的事情-我丢失了我的设置文件(幸灾乐祸点个赞~)。</p>    <blockquote>     <p>我的建议:即时的备份你的设置文件到云盘等地方。</p>    </blockquote>    <p>当我在配置我的<em>Android Studio</em> 的时候,下面的一些配置或许对你有一定的帮助。</p>    <h3>显示行号</h3>    <p>当我首次启动我的<em>Android Studio</em> 的时候,我想做的第一件事就是希望能看到文件中的行号,我一直很奇怪这个基本的配置为毛不是默认开启的?!<br> 对此我只想说四个字:</p>    <p><a href="https://simg.open-open.com/show/5e12d80f4c42e0c4259e3470c5e0feb1.jpg" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/5e12d80f4c42e0c4259e3470c5e0feb1.jpg" width="360" height="310"></a></p>    <p><a href="https://simg.open-open.com/show/79d844b84eb9cd40a22a5d9e625d6622.png" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/79d844b84eb9cd40a22a5d9e625d6622.png" width="700" height="260"></a></p>    <p> </p>    <p>未显示行号</p>    <p><a href="https://simg.open-open.com/show/7a3df0499eed06005f011dbeb42b91a9.png" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/7a3df0499eed06005f011dbeb42b91a9.png" width="700" height="260"></a></p>    <p> </p>    <p>显示行号</p>    <p><strong>配置方法</strong></p>    <ul>     <li><em>File</em> | <em>Settings</em> 打开设置</li>     <li>选择<em>Editor</em> | <em>General</em> | <em>Appearance</em></li>     <li>勾选<em>Show line numbers</em></li>    </ul>    <p><a href="https://simg.open-open.com/show/3ec02d2894426cc1eb9fc38faf330726.png" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/3ec02d2894426cc1eb9fc38faf330726.png" width="645" height="666"></a></p>    <p> </p>    <p>设置</p>    <p>ps:在编辑区域最左侧右键选中<em>Show line numbers</em> 也可以让当前打开的文件显示行号,不过这是一个临时设置,当前文件关闭后便失效。</p>    <h3>驼峰选择</h3>    <p><em>Android</em> 开发中,我们通常会使用<em>驼峰命名法</em>对变量进行命名,但是当我们通过<em>Ctrl + Left</em> / <em>Right</em> 键改变字符选择区域的时候<em>Android Studio</em> 默认不支持‘驼峰’单词的选择。</p>    <p><a href="https://simg.open-open.com/show/7e78387875fb88f2a15e4afa926b1142.gif" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/7e78387875fb88f2a15e4afa926b1142.gif" width="426" height="131"></a></p>    <p> </p>    <p>不支持驼峰选择</p>    <p><a href="https://simg.open-open.com/show/749ae2fd9c3e9d1d488a6ed20028ce49.gif" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/749ae2fd9c3e9d1d488a6ed20028ce49.gif" width="426" height="128"></a></p>    <p> </p>    <p>支持驼峰选择</p>    <p><strong>配置方法</strong></p>    <ul>     <li><em>File</em> | <em>Settings</em> 打开设置</li>     <li>选择<em>Editor</em> | <em>General</em> | <em>Smart Keys</em></li>     <li>选中<em>Use “CamelHumps” words</em></li>    </ul>    <p><a href="https://simg.open-open.com/show/8c3994e8f413bd662c5982709dac8c02.png" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/8c3994e8f413bd662c5982709dac8c02.png" width="700" height="348"></a></p>    <p> </p>    <p>设置</p>    <p><strong>注意:</strong>如果你仍然希望当鼠标在单词上双击之后选中整个单词,需要作如下设置:</p>    <ul>     <li><em>File</em> | <em>Settings</em> 打开设置</li>     <li>选择<em>Editor</em> | <em>General</em></li>     <li>取消选中<em>‘Honor Camel Humps words settings when selecting on double click’</em></li>    </ul>    <h3>命名前缀</h3>    <p>我们通常会遵循<em>Android</em> 官方关于编码风格的指导来进行字段命名。在<em>Android</em> 源码中我们可以看到通常成员变量都是以‘m’开始。其实<em>Android Studio</em> 可以自动在帮我们生成字段名称的时候加上自定义的前缀,如:</p>    <ul>     <li>非共有,非静态的成员变量以’m’开始</li>     <li>静态成员变量以’s’开始</li>    </ul>    <p><a href="https://simg.open-open.com/show/3bca14e25d3ff915293d26d5f9a8c2d2.gif" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/3bca14e25d3ff915293d26d5f9a8c2d2.gif" width="700" height="180"></a></p>    <p> </p>    <p>命名前缀</p>    <p><strong>配置方法</strong></p>    <ul>     <li><em>File</em> | <em>Settings</em> 打开设置</li>     <li>选择<em>Editor</em> | <em>Code Style</em> | <em>Java</em></li>     <li>选择<em>Code Generation</em> 标签</li>     <li>给普通<em>Field</em> 添加一个’m’前缀,给<em>Static filed</em> 添加一个’s’前缀</li>    </ul>    <p><a href="https://simg.open-open.com/show/134c963257eefeb3a28491a758fbdc82.png" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/134c963257eefeb3a28491a758fbdc82.png" width="670" height="328"></a></p>    <p> </p>    <p>设置</p>    <h3>快速导包</h3>    <p>在<em>Android Studio</em> 中,我们可以通过<em>Alt + Enter</em> 和<em>Control + Alt + O</em> 进行导包和清除无用导包,但我们都生活在2016年了,这些事情应当快速自动完成。</p>    <p><a href="https://simg.open-open.com/show/b4e4491caf7ed0d34a724902ccfa7748.gif" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/b4e4491caf7ed0d34a724902ccfa7748.gif" width="700" height="245"></a></p>    <p> </p>    <p>未开启imports on the fly</p>    <p><a href="https://simg.open-open.com/show/98880804546385600ea905a634b39b31.gif" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/98880804546385600ea905a634b39b31.gif" width="700" height="245"></a></p>    <p> </p>    <p>开启imports on the fly</p>    <p><strong>配置方法</strong></p>    <ul>     <li><em>File</em> | <em>Settings</em> 打开设置</li>     <li>选择<em>Editor</em> | <em>General</em> | <em>Auto Import</em></li>     <li>勾选<em>Optimize imports on the fly</em></li>     <li>勾选<em>Add unambiguous imports on the fly</em></li>    </ul>    <p><a href="https://simg.open-open.com/show/b8f5cf039a2874739cf54781896e9bf5.png" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/b8f5cf039a2874739cf54781896e9bf5.png" width="700" height="292"></a></p>    <p> </p>    <p>设置</p>    <h3>Log 颜色</h3>    <p><em>Darcula</em> 主题中<em>Logcat</em> 的默认配色只有红白两种颜色,不太便于我们区分Log 的类型。</p>    <p><a href="https://simg.open-open.com/show/a1712379eaac1037722ff0902e6baee1.png" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/a1712379eaac1037722ff0902e6baee1.png" width="700" height="157"></a></p>    <p> </p>    <p>Darcula 主题配色</p>    <p>我建议大家采用之前<em>Android Holo</em> 主题那种鲜明的配色</p>    <p><a href="https://simg.open-open.com/show/7e20785c462935bb180f90b87eaea78b.png" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/7e20785c462935bb180f90b87eaea78b.png" width="700" height="156"></a></p>    <p> </p>    <p>Holo 主题配色</p>    <p><strong>配置方法</strong></p>    <ul>     <li><em>File</em> | <em>Settings</em> 打开设置</li>     <li>选择<em>Editor</em> | <em>Color & Fonts</em> | <em>Android Logcat</em></li>     <li>点击<em>Click on Save As…</em>按钮创建一个新的配色<em>Scheme</em></li>     <li>按照下面的表格修改对应的颜色(<em>修改之前需要取消勾选Use inherited attributes</em>)</li>    </ul>    <table>     <thead>      <tr>       <th>Log级别</th>       <th>颜色</th>      </tr>     </thead>     <tbody>      <tr>       <td>Assert:</td>       <td>#AA66CC</td>      </tr>      <tr>       <td>Debug:</td>       <td>#33B5E5</td>      </tr>      <tr>       <td>Error:</td>       <td>#FF4444</td>      </tr>      <tr>       <td>Info:</td>       <td>#99CC00</td>      </tr>      <tr>       <td>Verbose:</td>       <td>#FFFFFF</td>      </tr>      <tr>       <td>Warning:</td>       <td>#FFBB33</td>      </tr>     </tbody>    </table>    <p>苍老师的事业线</p>    <p><strong>下面是个人的一些补充:</strong></p>    <h3>代码配色</h3>    <p><em>Android Studio</em> 中默认的代码配色个人感觉已经很和谐,但这个东西仁者见仁。比如有的朋友会觉得java 代码中局部变量的默认的白色不太便于快速与其它代码进行区分,这时候就需要自定义java 代码颜色,这里以局部变量为例。</p>    <p><a href="https://simg.open-open.com/show/2bcf8cc9c5b573b3257d6745455ba26d.png" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/2bcf8cc9c5b573b3257d6745455ba26d.png" width="1102" height="282"></a></p>    <p> </p>    <p>默认配色</p>    <p><a href="https://simg.open-open.com/show/991b2f9395fcd98d5a55aeafe2369936.png" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/991b2f9395fcd98d5a55aeafe2369936.png" width="1090" height="292"></a></p>    <p> </p>    <p>自定义配色</p>    <p><strong>配置方法</strong></p>    <ul>     <li><em>File</em> | <em>Settings</em> 打开设置</li>     <li>选择<em>Editor</em> | <em>Color & Fonts</em> | <em>Java</em></li>     <li>点击<em>Click on Save As…</em>按钮创建一个新的配色<em>Scheme</em></li>     <li>展开下方的<em>Variables</em> 选择<em>Local variable</em></li>     <li>设置右侧的<em>Foreground</em> 颜色</li>    </ul>    <p><a href="https://simg.open-open.com/show/978b67f2a72039ae54f8ddaa411c501a.jpg" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/978b67f2a72039ae54f8ddaa411c501a.jpg" width="2402" height="1344"></a></p>    <p> </p>    <p>设置</p>    <h3>工程模板</h3>    <p><em>Android Studio</em> 创建<em>Module</em> 时并没有将<em>Android</em> 开发中常用的文件目录全部生成,比如默认只生成了一个<em>drawable</em>文件夹,常用的<em>drawable-hdpi</em> 等文件夹需要我们自己创建。正如前文的作者所言,这都2016年了,这些事情应该自动完成,毕竟我们都很‘懒’!</p>    <p><a href="https://simg.open-open.com/show/fc641b47ad67a992659ef809732ce832.png" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/fc641b47ad67a992659ef809732ce832.png" width="610" height="676"></a></p>    <p> </p>    <p>默认结构</p>    <p><a href="https://simg.open-open.com/show/155d6fc368fa704ff2cd9914053c2408.png" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/155d6fc368fa704ff2cd9914053c2408.png" width="602" height="842"></a></p>    <p> </p>    <p>自定义结构</p>    <p><strong>配置方法1</strong></p>    <ul>     <li>进入<em>Android Studio</em> 安装目录</li>     <li>依次进入<em>plugins</em> | <em>android</em> | <em>lib</em> | <em>templates</em> | <em>gradle-projects</em> | <em>NewAndroidModule</em> | <em>root</em> | <em>res</em></li>     <li>在res文件夹下创建<em>drawable-hdpi</em> 等文件夹(可选:从对应的mipmap文件夹中拷贝<em>iclauncher.png</em>到创建的<em>drawable</em>文件夹中)</li>     <li>回到<em>NewAndroidModule</em> 目录,用编辑器打开<em>recipe.xml.ftl</em>文件</li>     <li>加入以下配置</li>    </ul>    <p><a href="https://simg.open-open.com/show/d060ff1f001b0d0d1170ea9935e2795c.png" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/58b59e1a6706c3d526f90527a2582d52.png" width="1358" height="1310"></a></p>    <p><strong>配置方法2</strong></p>    <ul>     <li>进入<em>Android Studio</em> 安装目录</li>     <li>依次进入<em>plugins</em> | <em>android</em> | <em>lib</em> | <em>templates</em> | <em>gradle-projects</em> | <em>NewAndroidModule</em></li>     <li>用编辑器打开<em>recipe.xml.ftl</em>文件,并加入以下配置</li>    </ul>    <p><a href="https://simg.open-open.com/show/47f0608ff7296e688fbae0ef45e011e3.png" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/40ce7870b8a89a78013376415c16fc66.png" width="1358" height="1310"></a></p>    <p>这两种方法的区别是,第一种方式可以在文件夹中加入相应的图片,但是配置稍显繁琐,第二种方式配置简单,但是只能创建目录,不能包含默认图片。</p>    <p>当然,通过类似的方式我们还可以在创建<em>Module</em> 的时候做很多事情,比如:</p>    <ul>     <li>在<em>colors.xml</em> 文件中生成常用颜色</li>     <li>在<em>build.gradle</em> 文件中生成自定义配置</li>     <li>在<em>.gitignore</em> 文件中生成自定义忽略配置</li>     <li>等等…</li>    </ul>    <h3>活动模板</h3>    <p><em>Android Studio</em> 中默认提供了很多非常方便的活动模板(<em>Live Templates</em>),例如,我们输入<em>sout</em> 后按<em>enter</em> 键,<em>Android Studio</em> 会自动帮我们写入<em>System.out.println();</em></p>    <p><a href="https://simg.open-open.com/show/2327740cdab46f37f1f2514af31b0e50.gif" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/2327740cdab46f37f1f2514af31b0e50.gif" width="465" height="163"></a></p>    <p>其实<em>sout</em> 就是AS自带的一个活动模板。</p>    <p><a href="https://simg.open-open.com/show/c67756e00e8cc8c0f56f671ba29b2e7d.jpg" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/c67756e00e8cc8c0f56f671ba29b2e7d.jpg" width="2408" height="1356"></a></p>    <p>由此可以看出,活动模板就是我们常用代码的一个<strong>缩写</strong>。开发中有很多代码都会重复出现,因此自定义合适的活动模板能很大程度上避免我们很多重复的体力劳动。那么问题来了,如何自定义?<br> 这里我们以<em>Handler</em> 为例。下面是在<em>Activity</em> 中一个合格的<em>Handler</em> 该有的样子:</p>    <pre>  <code class="language-java">private static class MyHandler extends Handler {          private WeakReference<MainActivity> activityWeakReference;            public MyHandler(MainActivity activity) {              activityWeakReference = new WeakReference<MainActivity>(activity);          }            @Override          public void handleMessage(Message msg) {              MainActivity activity = activityWeakReference.get();              if (activity != null) {                }          }      }  </code></pre>    <p>至于原因我就不再重复了,网上有太多的文章有讲过。现在如果我只希望输入一个<em>‘psh’</em> 就自动出现上面这段代码的话,我应该这么做:</p>    <p><strong>配置方法</strong></p>    <ul>     <li><em>File</em> | <em>Settings</em> 打开设置</li>     <li>选择<em>Editor</em> | <em>Code Style</em> | <em>Live Templates</em></li>     <li>点击最右侧的加号并选择<em>Template Group</em></li>     <li>在弹出的对话框中输入一个活动模板分组的名称,如<em>custom</em></li>     <li>在左侧选中上一步中创建的<em>custom</em> 分组,点击右边的加号</li>     <li>选择<em>Live Template</em> ,在<em>Abbreviation</em> 中对输入<em>psh</em></li>     <li>在<em>Description</em> 中输入这个活动模板的描述</li>     <li>在<em>Template text</em> 中输入以下代码</li>    </ul>    <p><a href="https://simg.open-open.com/show/9c74747491f8c275dd29978f4289d1ce.jpg" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/9c74747491f8c275dd29978f4289d1ce.jpg" width="1188" height="520"></a></p>    <ul>     <li>点击下方的<em>Define</em> 按钮,选中<em>java</em> 表示这个模板用于java代码</li>     <li>点击右侧的<em>Edit variables</em></li>     <li>选择<em>Expression</em> 下拉框中的<em>className</em> 并勾选<em>Skip if…</em></li>    </ul>    <blockquote>     <p>这个操作的作用是,AS会自动将我们在上一步中用’$’符包裹的<em>className</em>自动替换为当前类不含包名的类名</p>    </blockquote>    <ul>     <li>点击<em>Apply</em> 和<em>Ok</em> 让设置生效。</li>    </ul>    <p>至此,一个我们自定义的<em>custom</em> 模板组中的<em>psh</em> 活动模板就定义完成了。下面我们来验证一下,见证奇迹的时候到了:</p>    <p><a href="https://simg.open-open.com/show/c180f74fa43aa418f8b485105add195c.gif" rel="group"><img alt="Andriod Studio高级配置" src="https://simg.open-open.com/show/c180f74fa43aa418f8b485105add195c.gif" width="650" height="373"></a></p>    <p>来源:<a href="/misc/goto?guid=4959670207104980624">liukun</a></p>