Android开发人员必知的50个秘诀、技巧和资源

CharlaSonni 7年前
   <p>作者撰写本文的初衷,是为了罗列出Android Studio有用的提示、技巧、快捷方式和参考资源,将提高您的整体效率和操作性能。</p>    <p>显然,还有很多优化、快捷方式等,但作者为了保持这篇文章的简短,限制为50个,希望读者会喜欢这篇文章!</p>    <p>InfoQ注:本文是以MacOS X操作Android Studio为例,与Windows / Linux不一致的地方已经标注,请读者注意这一点。</p>    <h2>可视化</h2>    <h3>1.Android Logcat的材料颜色主题(Material Colors theme)。</h3>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/ada9b9cf4b76f4ef93ecb07ec52bb9e0.jpg"></p>    <p>要更改Android Studio Logcat,您需要依次点击:Preferences → Editor → Colors & Fonts → Android Logcat,然后更改每种类型日志的前景颜色。(注意,此处Perferences在Windows / Linux 是Settings。)</p>    <p>我的材料颜色如下:</p>    <ul>     <li>Assert #BA68C8</li>     <li>Debug #2196F3</li>     <li>Error #F44336</li>     <li>Info #4CAF50</li>     <li>Verbose #BBBBBB</li>     <li>Warning #FF9800</li>    </ul>    <h3>2.防止Android Studio Logcat崩溃,应清除当前应用程序的日志。</h3>    <p>要做到这一点,您需要到Android Monitor面板在右侧下拉列表中选择Edit filter configuration。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/142cfe15985510378564bf8088e0c882.gif"></p>    <h3>3. 将您的IDE(IntelliJ / Android Studio)应用正确的代码样式。</h3>    <p>依次点击Preferences → Code Style → Java,在Scheme下拉列表中选择您的代码样式(或设置一个新的代码样式)。</p>    <p>有2款风格特别值得一提:</p>    <ul>     <li><a href="/misc/goto?guid=4959726474655066705" rel="nofollow,noindex">Square Java Code Styles with Android</a></li>     <li><a href="/misc/goto?guid=4959726474741727496" rel="nofollow,noindex">Google Java Code Style</a></li>    </ul>    <p>您可以导入主题,如下面的gif所示:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/e1c6398a1048d71cfa046e36b7261d08.gif"></p>    <h3>4. 使用分屏可提高效率。</h3>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/40c1c67ca1ffac73e37c8679478fbac9.jpg"></p>    <p>要打开此功能,您需要在主屏幕的选项卡上单击鼠标右键,然后选择Split Vertically / Horizontally 。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/9d3231b3bedda7ec4a32931cf1c7b250.jpg"></p>    <p>但为了尽可能高效,我们需要设置一个自定义键盘的快捷方式。要做到这一点,依次点击Preferences → Keymap 并找到Split Vertically。然后打开上下文菜单并单击 Add Keyboard Shortcut。</p>    <p>以我为例,对于垂直拆分视图,我增加了control + alt + v。 如下面gif图所示。您也可以为水平分割视图定义快捷方式。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/c408d707ca052a23d20692cbc2d72440.gif"></p>    <h3>5.无干扰模式(Distraction Free Mode)</h3>    <p>您可以依次点击: View → Enter Distraction Free Mode来开启无干扰模式。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/d6e27e418e4ed5bda97da49bdb15d585.jpg"></p>    <p>在无干扰模式下,编辑器占用整个IntelliJ IDEA框架,而没有任何编辑器选项卡和工具按钮,代码按中心对齐。</p>    <h3>6. 使用活动模板</h3>    <ul>     <li>您可以使用快捷方式:cmd + j(Windows / Linux:ctrl + j)。</li>    </ul>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/0d62ad2baedddf127181e78c2e181193.gif"></p>    <ul>     <li>您可以使用许多已定义的模板,像Toasts 或if条件。</li>    </ul>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/c4428019c0cbb10b7425c9e69c3f9cbf.gif"></p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/cfeb9ce6b3d93033dd8dbd3d6706920e.gif"></p>    <ul>     <li>您可以使用自己的自定义模板。 这里 是 Reto Meier 的一篇参考文章。您还可以参考 IntelliJ IDEA文档 。</li>    </ul>    <h2>快捷方式和有用的命令</h2>    <p>1. <strong>最好的、最有用的命令</strong> 是Search for command:cmd + shift + a (Windows / Linux:ctrl + shift + a)。</p>    <p>当你想关闭当前选项卡,不知道该怎么办时,您只需键入:close你会得到一个正确的快捷方式/命令。</p>    <p>2. <strong>从最近的复制/粘贴中选择</strong> (管理剪贴簿):</p>    <p>cmd + shift + v(Windows / Linux:ctrl + shift + v)。</p>    <p>默认情况下,最后有5个复制/粘贴项目。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/9b0e055a8b94ff1840d33586b778187b.jpg"></p>    <p>剪贴板堆栈的深度在“设置”对话框的“编辑器”页面的“限制”部分中配置。超过指定的数量时,将从列表中删除最早的条目。 </p>    <p>3. <strong>启用多光标(multicursor)功能:</strong> control + g(Windows / Linux:alt + j)。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/398218e3688f609b279bfbe522552058.gif"></p>    <p>有关此功能的 详细文章 由 Bartek Lipinski 在Medium网站提供。 <strong>强烈推荐!</strong></p>    <p>4. <strong>Open a class</strong> : cmd + o (Windows / Linux:ctrl + n)。</p>    <p>5. <strong>Open any file</strong> :cmd + shift + o (Windows / Linux:ctrl + shift + n)。</p>    <p>6. <strong>Open symbol</strong> : cmd + option + o (Windows / Linux:alt + shift + n)。</p>    <p>7. <strong>Go to implementation</strong> : cmd + option + b (Windows / Linux:ctrl + alt + b)。</p>    <p>假设您有一个界面,通过单击接口的名称,然后单击 <strong>Go to implementation</strong> 的快捷方式,您将被重定向到实现该接口的类。</p>    <p>8. <strong>Go to declaration</strong> : cmd + b (Windows / Linux:ctrl + b)。</p>    <p>它允许您快速检查并转到类、方法或变量的声明。</p>    <p>9. <strong>Go to type declaration</strong> : control + shift + b(Windows / Linux:ctrl + shift + b)。</p>    <p>假设您如此定义:</p>    <p>Employee employee = new Employee(“Michal”);</p>    <p>当你的插入符号employee并单击快捷方式时,将会被重定向到Employee类。</p>    <p>10. <strong>Go to super</strong> : cmd + u(Windows / Linux:ctrl + u)。</p>    <p>例如,您重写一些方法。当你在方法名称插入符号,并单击转到 <strong>Go to super</strong> 快捷方式,您将被重定向到父方法。</p>    <p>11. <strong>Move between tabs</strong> : cmd + shift + [ 或 cmd + shift + ] (Windows / Linux:alt + ← / →)。</p>    <p>12. <strong>Move between Design / Text tabs in layout’s view</strong> : control + shift + ← / →(Windows / Linux:alt + shift + ← / →)。</p>    <p>13. <strong>Close a current tab:</strong> cmd + w(Windows / Linux:ctrl + shift + a)。</p>    <p>14. <strong>Hide all windows</strong> : cmd + shift + F12 (Windows / Linux:ctrl + shift + F12)。</p>    <p>15. <strong>Minimize Android Studio instance</strong> : cmd + m(Windows / Linux:ctrl + m)。</p>    <p>16. <strong>Format your code:</strong> cmd + option + l (Windows / Linux:ctrl + alt + l)。</p>    <p>17. <strong>Auto-indent lines</strong> : control + option + i (Windows / Linux:ctrl + alt + i)。</p>    <p>18. <strong>Implement methods</strong> : control + i (Windows / Linux:ctrl + i)。</p>    <p>假设您实现了一个接口,然后只需单击此快捷方式,即可快速导入该界面提供的所有方法。</p>    <p>19. <strong>Smart code completion</strong> (按期望类型过滤方法和变量的列表):control + shift + space (Windows / Linux:ctrl + shift + space)。</p>    <p>20. <strong>Find</strong> : cmd + f(Windows / Linux: ctrl + f)。</p>    <p>21. <strong>Find and replace</strong> :cmd + r(Windows / Linux: ctrl + r)。</p>    <p>22. <strong>Move hardcoded strings to resources</strong> : option + return (Windows / Linux: alt + enter)。</p>    <p>当在文本上使用插入符号时,必须使用快捷方式。检查下面的gif:</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/b02e4068d2e1f98bd5487a93a810a68c.gif"></p>    <p>如果您在全局使用该快捷方式,IDE将执行Project快速修复(Project quick fix)(显示意图操作和快速修复)。</p>    <p>23. <strong>Build and run</strong> : control + r (Windows / Linux: shift + F10)。</p>    <h2>插件</h2>    <ol>     <li><a href="/misc/goto?guid=4959733148076606589" rel="nofollow,noindex">Key promoter</a> ——帮助您更频繁地使用键盘的插件。</li>     <li><a href="/misc/goto?guid=4959733148171311571" rel="nofollow,noindex">String Manipulation</a> ——一个为文本操作提供操作的插件(例如,切换样式,如camelCase、连字符-小写等、大写文本等还有很多)。</li>     <li><a href="/misc/goto?guid=4958865653530685230" rel="nofollow,noindex">Android Material Design Icon Generator</a> ——此插件可帮助您将Material Design图标设置为Android项目。安装后,您可以使用快捷方式:cmd + shift + m以生成图标(默认)。</li>     <li><a href="/misc/goto?guid=4958875618985371190" rel="nofollow,noindex">ButterKnifeZelezny</a> ——一个简单的插件,允许一键点击创建Butterknife视图注入。</li>     <li><a href="/misc/goto?guid=4958862736736327399" rel="nofollow,noindex">IntelliJ/Android Studio Plugin for Android Parcelable boilerplate code generation</a> ——一个基于类中的字段生成Android Parcelable实现的插件。</li>     <li><a href="/misc/goto?guid=4958976664926893882" rel="nofollow,noindex">ADB Idea</a> ——一个帮助和自动执行adb命令的插件:卸载、杀死、启动、重新启动、清除应用程序和清除应用程序数据并重新启动它。</li>     <li><a href="/misc/goto?guid=4959733148389705452" rel="nofollow,noindex">Genymotion plugin</a> ——此插件允许您从Android Studio创建和启动Genymotion虚拟设备。</li>     <li><a href="/misc/goto?guid=4959733148484253593" rel="nofollow,noindex">Android Methods Count</a> ——一个解析您的Android库所依赖的插件,并显示方法计数作为方便的提示。</li>     <li><a href="/misc/goto?guid=4959733148576076794" rel="nofollow,noindex">Git Flow Integration</a> ——一个用于引入 <a href="/misc/goto?guid=4958183577197840820" rel="nofollow,noindex">Git Flow分支模型</a> 的插件。</li>     <li><a href="/misc/goto?guid=4959733148689381238" rel="nofollow,noindex">Builder plugin</a> ——一个插件(从Square)生成一个类的静态嵌套Builder。</li>    </ol>    <h2>资源</h2>    <ol>     <li>Philippe Breault:《 <a href="/misc/goto?guid=4959733148772293491" rel="nofollow,noindex">当代Android Studio秘诀</a> 》</li>     <li>《 <a href="/misc/goto?guid=4959733148864716777" rel="nofollow,noindex">键盘快捷方式参考</a> 》</li>     <li>Reto Meier:《 <a href="/misc/goto?guid=4959733148952914787" rel="nofollow,noindex">在Android Studio中你可能不知道能做的十件事</a> 》</li>     <li><a href="/misc/goto?guid=4959733149036887920" rel="nofollow,noindex">Hadi Hariri</a> :《 <a href="/misc/goto?guid=4959733149121783847" rel="nofollow,noindex">无鼠标驱策开发</a> 》</li>     <li>Philippe Breault:《 <a href="/misc/goto?guid=4959733149205307957" rel="nofollow,noindex">像老板一样的Android Studio</a> 》</li>     <li>《 <a href="/misc/goto?guid=4959733149292448118" rel="nofollow,noindex">Android Studio 专家 (Android 开发峰会 2015)</a> 》</li>     <li>Michael Evans:《 <a href="/misc/goto?guid=4959733149375617044" rel="nofollow,noindex">Android Studio 秘诀和技巧</a> 》</li>     <li>《 <a href="/misc/goto?guid=4959733149457502058" rel="nofollow,noindex">遇见Android Studio</a> 》</li>     <li><a href="/misc/goto?guid=4959733149553222927" rel="nofollow,noindex">Donn Felker</a> :《 <a href="/misc/goto?guid=4959733149638918074" rel="nofollow,noindex">Android Studio——秘诀和技巧</a> 》</li>     <li>《 <a href="/misc/goto?guid=4959733149715936575" rel="nofollow,noindex">用Android Studio调试你的App</a> 》</li>     <li><a href="/misc/goto?guid=4959733149805593089" rel="nofollow,noindex">你应该必备的插件——Reddit discussion</a> 》</li>    </ol>    <p> </p>    <p> </p>    <p>来自:http://www.infoq.com/cn/articles/50-tips-tips-and-resources-android-developers-must-know</p>    <p> </p>