Android 插件:统计资源文件中每个标签被引用的次数
2017-08-04 22:23 阅读(299)

插件地址: Jetbrains Plugin Page

Github 地址: Android-Resource-Usage-Count

插件说明

先把插件说明提到前面. 当你使用 IntelliJ IDEA 或者 Android Studio 打开 Android 项目的资源文件时, 会自动对文件中的资源标签统计其被引用次数, 展示在标签的前面, 统计结果会过滤 build 路径和 bin 路径的引用.

支持的标签:

颜色说明:

开发背景

在 Android 项目开发过程中, 我一直都是把各种 string color 等资源定义在资源文件中, 再在代码中引用它. 如果有新的 string 或者 color, 我会先对比一下是否存在, 如果存在直接使用, 不存在才创建新的资源文件.

但是资源文件可能会改动, 经常产品需要改动一个 string, 或者设计需要改动一个 color, 我都要先手动在那个资源文件上右键 - Find Usage , 引用次数为1就直接改动这个标签内容, 否则要新建一个标签. 但是觉得每次都要搜索很繁琐, 所以才产生了开发这个插件的想法, 直接显示每个资源文件的引用次数.

开发过程

其实插件开发的文档还是比较少的, 官网 提供的只是一个通用的开发过程, 按照文档你可以顺利创建项目, 然后就懵 B 了.

不过这里也是因为不同的插件需求不同, 所以还是建议想清楚自己想实现的功能和展示方式, 再多参考一下已有的系统功能怎么实现的, 已有的开源库怎么实现的, 最后当然是善用搜索.

说说我自己的开发过程, 我前期想实现的效果是

 1. 打开资源文件时自动对每个标签统计引用次数. (功能)

 2. 在标签上以 hint 的形式展示其引用次数. (展示形式)

先说功能这块:
然后是展示形式:

打包发布

已知问题

  插件是由 LineMarkerProvider 来实现的, 打开文件会自动触发搜索统计操作. 但是有时候统计结果显示比较慢, 我这边只需要等待一下就会正常显示, 也有人提到重新打开文件或者编辑文件, 反正好像还有点不稳定…

写在最后

因为自己在开发插件方面的经历实在有限, 这个插件也是根据自己的需求而实现的. 一方面是想看看大家是否也会有这样的需求, 另一方面也是希望大家可以多帮忙看看代码, 有没有更好的实现或者插件本身有值得改进的地方, 博客通知不及时, 如果遇到问题多多去 Github 上提 Issues 交流吧~