android studio 实用插件推荐

d2e6d7b338259c969db716612feb334d.jpeg 02aca14da27d67cad9ee172256b44c9a.gif

本文字数::2352

预计阅读时间:8分钟

背景

现在做安卓开发的同学基本都是用 Android Studio 了吧,它具有强大的开放性,可以让用户根据自己的需求开发或使用一些插件辅助自己搬砖,当然开发插件我们可能还没有那么厉害,但是能做到善于使用现有的一些优秀的插件,也会使得咱们的工作效率倍增,有一些无法实现的操作,也会迎刃而解,所以在使用 studio 开发的过程中,插件的选择以及使用也是非常重要的一部分,以下我会为大家推荐一些个人觉得可以让你在开发中有飞一般体验,非常好用的六款插件。

adb idea(adb命令快捷操作)

这个插件起初是我们领导推荐给我的,是我认为非常有用的一款,具体安装插件的流程,我就略过了,大家可以网上搜一下 android studio 安装插件。

这款插件对于我来说最重要的一个功能就是 adb restart app with debugger(杀死应用并用调试模式打开),它的使用场景就是,当你希望能够通过断点来调试离启动时间非常近的代码逻辑触发情况时,这个过程中 Attach Debugger toAndroid Process 需要我们手动点击studio界面进行操作,通常在点击时,已经错过了这个断点的位置,这一度很困扰我,直到这个工具的出现,终于把这种不可能变成可能,只需要在工具栏tools里面选择 ADB idea ,然后在菜单里面选择 adb restart app with debugger 这个就可重新以 debug 方式重新启动APP(与 debug 方式启动的区别就是,它很快 ,非常快,绝快)如下图:82f023db6b21733b7cc39b9a7370b361.png

ede0c9890e2cabc3cd6f6fe1db828793.png

当然 它不止这一个功能,下表中我列出了一些平时会用到的功能,大家可以根据自身情况,参考使用

命令说明
ADB Uninstall App卸载应用
ADB Kill App杀死进程
ADB Start App启动应用
ADB Restart App杀死应用后,再重启应用
ADB Clear App Data清除应用数据
ADB Clear App Data and Restart清除应用数据+重启
ADB Start App With Debugger调试模式下打开应用 (若应用已启动,则依附为调试模式)
Enable/Disable Wi-Fi开/关WIFI
Enable/Disable Mobile Data开/关数据流量

ECTranslation(翻译插件,英翻译中)

我认为这款插件对于英语不好又需要看源码的大多数开发者来说提供的帮助不是一星半点,因为源码里面的注释是非常重要的部分,而它能帮助我们很好的理解类,接口,方法,变量等等它们的作用以及注意事项,如果我们一边看一边在线实时翻译是非常麻烦,有了这款插件,那就非常方便了。

插件安装完成后,重启 studio ,随便找个单词右键点击 translate 即可出现中文翻译,如果每次都需要右键觉得很麻烦,它也是贴心的,可以让我们设置快捷键,具体如下图:

a26dfb690c993e0b283bdc3193000665.png

18c642ff74a976d7f35d3e8746ad5819.png

0ed2075ccd23052c7036535a2fffb3c1.png8b7967103104499b58e8a6f38ddf60de.pngff127c96b5a215ee70429fde6d2a6d2b.png

Key Promotre X

由于 IDE 功能的复杂和多样性,很多时候我们可能会不知道该如何使用某些功能所对应的快捷键,而这个插件就是为了解决这个问题。

它可以在你使用鼠标执行某个操作的时候,以右下角提示框的形式提醒你是否有对应的快捷键可以代替鼠标操作,如果有它会显示快捷键的名称和快捷键组合方式,它是非常有助于在工作时从鼠标操作中学习基本的键盘快捷键的,它还有个功能就是操作的统计,它可以记录你使用鼠标的操作次数,并显示每个操作可以使用快捷键的数量,这些统计可以帮助你了解自己使用鼠标的习惯以便你可以尝试使用更多的快捷键来提高效率,有助于过渡到更快的无鼠标开发中去。4b9a388edb87289fc362cc309df1fad9.png7395cd426d381ddc33024a66c2ad2463.png

af322503f15f1b3482c0e7b208c93349.png

6aab2ea5d215234ac75817db5c0002c7.png

Alibaba Java Coding Guidelines(阿里规范检测工具)

Alibaba Java Coding Guidelines 是阿里巴巴开发的一款代码约束插件,当我们的代码不符合规范时,会有相应的警告提示,能够帮助我们在开发中提升代码质量。该插件在扫描代码后,将不符合规范的代码按照 Blocker(系统无法执行,崩溃,严重资源不足等问题),Critical(影响系统功能或操作,主要功能存在严重缺陷,但是不影响到系统稳定性的),Major(界面,性能缺陷,兼容性)三个等级显示出来,它们标识的严重程度 Blocker > Critical > Major 并且大部分可以自动修复,由于它可以实时检测,这也帮助我们在编写代码的同时也能快速发现问题的所在。

安装插件重启后,如果工具栏显示以下图标,说明已经安装成功:a90fbd8ce04aadb17082d683250a8bb3.pngc21e18c3eb73caf6f57965ae34f80a1f.png

点击上图中的编码规约扫描,扫描结果如下图,目前显示只有 Major 和Critical 等级的问题:3bc371fa36e9ac3295a2c9e764bd84ff.png

当你选中某一条问题时,点击底部的 Run inspection on 按钮时,会弹出:bb980035f51bd1ae71ac65c145ef0e65.png

这里可以选择扫描区域,点击 ok 后可以扫出 whole project 里面所有具有相同问题的类名,这时你就可以决定是否需要同时对其他类进行优化和修改了。705c8a415947259ab03af66378e72f9b.png

当然 当你编写代码的同时,它也可以实时检测并且可以根据提示(蓝色字)(点击“为语句加上大括号”)自动补全,如下图:eebd9d35a6d5c64ca35b9df3f37895e2.png

注:如果你用的是 kotlin 开发 类似的插件可以参考 DeteKt( kotlin 代码规范)

QAPLug(代码质量检测工具包)

这组插件可以帮助我们查找在写代码时一些发现不了的问题,比较重要的功能就是查找潜在的空指针问题,在编写代码的过程中很难发现,但是当大量用户使用的时候,很多问题就会浮现出来,所以编码时候 bug 的检测是很有必要的。注意它是一组检测工具,真正执行检测任务的是 FindBugs 和 PMD 这种代码检测工具。所以安装的时候,需要同时安装这三个 QAPLug , QAPLug-FindBugs (检查类或者jar文件性能问题,可靠性问题比如空指针,可维护性问题等问题), QAPlus-PMD (检查无用变量,不必要对象的创建等代码冗余)在安装完成后,在 QAPlug 里面可以根据实际情况修改默认的规则,我自己用的就是默认的规则 所以没有进行配置,配置界面如下:7ff1da52335f8dde4fc8c70cbbf964e9.png

配置完成后,我们可以随便找个类 右键选择 Analyze- > AnalyzeCode (也可以从工具栏的 tools 里面的 QAPlug 中点击 AnalyzeCode),然后选择你要分析的区域 目前咱们选择单个文件进行分析:ccfce4e2a2bfc09dbd958b917ad90050.png1ab145e579196c0955b849657357e815.pngfdc5b28799df49d42600387ca4e99954.png

经过一点时间的分析后,得出如下的 result,如果有问题的话,我们就可以根据这些问题进行代码的修改了:b1f3d15f0a015b58e52e692668cecd70.png

Save action

这个插件的作用主要就是自动完成代码格式化(比如 import 的整理,设置自己一套标准的格式化模板等)

那么它是如何设置的呢?如下图:

fd0fd6c26df66895f85ae350f59f0424.png

我主要设置了——

  • General(基本设置)里面的:

Activate save actions on save 保存时自动格式化

Activate save actions on shortcut  使用快捷键保存的时候自动格式化

  • Formatting Actions 里面的:

Optimize imports 这个主要作用就是自动删去没有用到的import

Reformat only change code 代码有变化时自动格式化

  • JavaInspection and Quick Fix 里面的:

Add missing @Override annotions 添加漏写的@Override注解

Remove final from private method 删除私有方法的final关键字

Remove unnecessary semicolon 删除不必要的分号

当然,它不局限于这些,也可以用既有的配置文件规范进行配置,配置位置如下图:
ac3915616d36d1b3ae5db85eb30ed240.png

好了,其实好用的插件非常多,以上只是我个人在用且觉得还不错的插件推荐,也希望其他同学如果有好用的插件可以在评论区进行分享,大家一起学习,一起进步!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/76977.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[oeasy]python0079_控制序列_光标位置设置_ESC_逃逸字符_CSI

光标位置 回忆上次内容 上次我们研究的比较杂 类型转化进制转化捕获异常版本控制生成帮助文档变量的常用类型变量的生命周期控制 数据类型主要研究了两个 字符串 str 整型数字 int 字符串型 和 整型数字型变量 是可以相互转化的 加法运算逻辑 会根据操作变量的不同 而不同…

vue el-input 使用 回车键会刷新页面的问题

场景: vue项目中 在输入框输入字符并按下回车键搜索时,不会进行搜索, 而是会刷新页面 原因: 当form表单中只有一个input时,按下回车建会自动触发页面的提交功能, 产生刷新页面的行为 解决: 在…

idea 2023 新版ui中git的相关操作

前两个月换了新电脑,下了最新版的idea发现可以切换一套新的ui了 切换新ui肯定不太习惯,很多操作都得重新摸索一下 在这里记录几个git相关的操作 忽略我下面截图中当前项目是js的后端项目…… 切换ui 首先说一下怎么切换新旧版ui,我这里就…

机器学习和深度学习简述

一、人工智能、机器学习、深度学习的关系 近些年人工智能、机器学习和深度学习的概念十分火热,但很多从业者却很难说清它们之间的关系,外行人更是雾里看花。概括来说,人工智能、机器学习和深度学习覆盖的技术范畴是逐层递减的,三…

酷开系统 | 酷开科技,让数据变得更有价值!

身处信息时代,我们每个人时刻都在生成、传递和应用数据,数据已经成为了现代社会中宝贵的资源之一,而在人工智能领域,数据更是被称为人工智能的“燃料”。 而在AI的发展中,只有拥有高质量、多样性且充分代表性的数据集…

图解java.util.concurrent并发包源码系列——深入理解ReentrantLock,看完可以吊打面试官

图解java.util.concurrent并发包源码系列——深入理解ReentrantLock,看完可以吊打面试官 ReentrantLock是什么,有什么作用ReentrantLock的使用ReentrantLock源码解析ReentrantLock#lock方法FairSync#tryAcquire方法NonfairSync#tryAcquire方法 Reentrant…

微信小程序iconfont真机渲染失败

解决方法: 1.将下载的.woff文件在transfonter转为base64, 2.打开网站,导入文件,开启base64按钮,下载转换后的文件 3. 在下载解压后的文件夹中找到stylesheet.css,并复制其中的base64 4. 修改index.wxss文…

Jmeter +Maven+jenkins 接口性能全自动化测试

背景: 首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github,在jenkins配置git下载性能测试的代码,配置运行脚本和测试报告,配置运行失败自动发邮件通知&#xff0c…

高项V4.高级PM.项目集set+项目组合portfolio+组织级OPM+量化项目管理+实践模型

PMI , ITSS 、CMMI 和PRINCE2 等为各类信息系统项目管理提供了最佳实践,井提供了对组织的项目管理能力进行持续改进和评估的方法。 第一部分 项目集--《项目集管理标准>> (第4 版) ---实现项目11>2的更大效益 由项目管理协会(PMI) 出版的《…

快速制作美容行业预约小程序

随着科技的不断进步,移动互联网的快速发展,小程序成为了很多行业迅速发展的利器。对于美容行业来说,一款美容预约小程序不仅可以方便用户进行预约,还可以提升美容店铺的服务质量和管理效率。下面,我们来介绍一下如何快…

C高级第三讲

1、思维导图 2、输入一个文件名,判断是否为shell脚本文件,如果是脚本文件,判断是否有可执行权限,如果有可执行权限,运行文件,如果没有可执行权限,给文件添加可执行权限。 #!/bin/bash read -p …

vue 老项目 npm install 报错Python,c++等相关错误

​​​ 老项目npm install 下载依赖包报错 解决方法: //下载python 1、 npm install --global --production windows-build-tools//配置环境 : 也可暂时不用配置,能用就不用配置(npm config set python "D:\Python27\python.exe&q…

康冠医疗2021笔试题

笔试时间:2020.09.24。 岗位:嵌入式软件工程师。 题型:13道题,40分钟。 6道填空,2道简答,5道编程,时间紧任务重。 1、填空 4、考察extern关键字。 6、const可以用来代替define ,define 只是简单的代替,但是const还会进行类型检查。 怎么避免头文件重复包含: #…

pandas read excel 更改string列为时间类型

设想我们有如下一个excel文件 我们都知道上面那个时间列其实是string类型,因此在用pandas做时间校验的时候会不通过,我们可以在read_excel的时候,指定这一列做转换 import pandas as pd from datetime import datetime, timedelta import n…

Mybatis 知识点

Mybatis 知识点 1.1 Mybatis 简介 1.1.1 什么是 Mybatis Mybatis 是一款优秀的持久层框架支持定制化 SQL、存储过程及高级映射Mybatis 几乎避免了所有的 JDBC 代码和手动设置参数以及获取结果集MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO…

flutter:占位视图(骨架屏、shimmer)

前言 有时候打开美团,在刚加载数据时会显示一个占位视图,如下: 那么这个是如何实现的呢?我们可以使用shimmer来开发该功能 实现 官方文档 https://pub-web.flutter-io.cn/packages/shimmer 安装 flutter pub add shimmer示例…

C语言----字节对齐

一:字节对齐的概念 针对字节对齐,百度百科的解释如下: 字节对齐是字节按照一定规则在空间上排列,字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,一个字节等于8位二进制数,在UTF-8编…

[threejs]相机与坐标

搞清相机和坐标的关系在threejs初期很重要,否则有可能会出现写了代码,运行时一片漆黑的现象,这种情况就有可能是因为你相机没弄对。 先来看一下threejs中的坐标(世界坐标) 坐标轴好理解,大家只需要知道在three中不同颜色代表的轴…

mysql修改密码

文章目录 一、修改密码方式一:用SET PASSWORD命令方式二:用mysqladmin方式三:使用alter user语句 二、修改密码可能遇到的问题ERROR 1396 (HY000): Operation ALTER USERERROR 1064 (42000) 在mysql使用过程中,我们可能经常会对my…

pytorch的CrossEntropyLoss交叉熵损失函数默认reduction是平均值

pytorch中使用nn.CrossEntropyLoss()创建出来的交叉熵损失函数计算损失默认是求平均值的,即多个样本输入后获取的是一个均值标量,而不是样本大小的向量。 net nn.Linear(4, 2) loss nn.CrossEntropyLoss() X torch.rand(10, 4) y torch.ones(10, dt…