在项目的开发过程中,你有没有遇到以下的一些场景:
想统计一下整个项目的代码量有多少,比如有多少源代码文件,总体有多少行代码,空行和注释行各有多少?
想统计一下整个项目中各种类型的源代码分别有多少,比如
java
和javascript
各有多少?想统计一下项目下的某个模块代码量有多少?
想统计一下某个源文件有多少行代码,多少空行,多少注释行?
当有类似的场景需求时,可能在你的脑海里瞬间就闪现了两种方式:
一个个去统计,O,NO,太低效了,10个以内或许还可以数数;
自己写个程序去进行统计,这种方式确实可行,撸起袖子加油干,看好你!
除了上面的两种方式,还有没有其他的更快捷的方式呢?当然有,那就是使用 Statistic插件(这里得感谢一下 Statistic 插件的作者了),本文将从以下的三个方面介绍 Statistic
插件的安装和使用:
Statistic 的安装;
Statistic 的具体使用;
Statistic 的配置;
1、Intellij IDEA插件安装方式
在 Intellij IDEA 中安装插件,一般有两种方式:
在线安装:直接在
File > Settings > Plugins
中搜索,点击install
,安装完成后重启 Intellij IDEA 即可,这种方式快捷简单;
离线安装:先下载插件包,然后在
File > Settings > Plugins
中选择从本地安装,这种方式适合当插件版本与 IDEA 版本不一致的时候使用,通用性和可选择性更强,可以安装特定的版本。
2、Statistic 在线安装
对于 Statistic 插件,直接使用在线安装的方式,File > Settings > Plugins
搜索 Statistic
,然后直接 install
,安装完成后重启 IDEA,重启后,可能会出现几种情况:
在底下导航页签中看到
Statistic
了,这就意味着插件安装成功,可以直接使用了;在底下导航页签中没有看到
Statistic
,可以在View > Tool Windows
中找到Statistic
,点击即可打开它;在
View > Tool Windows
中没有找到Statistic
,说明插件安装失败了,出现了版本兼容性问题,在线安装的插件一般都是较新的版本,而 Intellij IDEA 可能是以前的版本,所以导致了不兼容,这个时候可以采用离线安装的方式。
3、Statistic 离线安装
首先查看 Intellij IDEA 的版本信息,在 Help > About
查看当前的版本信息,如下:

然后去插件官方下载地址:https://plugins.jetbrains.com/plugin/4509-statistic/versions,下载对应版本的插件

安装完成后,重启 IDEA,就可以在底部导航栏看到 Statistic
页签了,如下:

Statistic 分为了三个功能按钮
Refresh
:统计当前整个项目的代码情况;Refresh on Selection
:统计选中目录或文件的代码情况;Settings
:关于 Statistic 插件的设置,可以自定义过滤规则;
4、Statistic 的使用
这里以 Jsoup
项目作为一个统计示例,Jsoup
的官方仓库地址为:,
4.1 整体统计
点击 Refresh
按钮进行统计,整体统计的结果如下:

关于 Overview 统计面板的参数说明:
Extenstion : 文件扩展名;
Count:文件数量,比如上面统计的
.java
文件有132个;Size SUM :文件总占用硬盘大小;
Size MIN :最小文件占用硬盘大小;
Size MAX :最大文件占用硬盘大小;
Size AVG :文件平均占用硬盘大小;
Lines :代码总行数;
Lines MIN :文件中的最小行数;
Lines MAX :文件中的最大行数;
Lines AVG :文件的平均行数;
4.2 选择指定目录进行统计
选中 org.jsoup.parser
目录,然后点击 Refresh on Selection
按钮,得到的统计结果如下:

4.3 指定文件类型统计
也可以指定文件类型进行统计,比如选择 java
,这个时候就会统计每个 java 文件中的代码行数、空行数和注释行数,以及它们各自所占的百分比,如下:

指定文件类型(如java)统计参数说明
Total Lines :代码总行数(包括注释,空行)
Source Code Lines :源代码行数(不包括注释,空行)
Source Code Lines(%) :源代码行数百分比(Source Code Lines/Total Lines)
Comment Lines :注释行数
Comment Lines(%) :注释行数百分比(Comment Lines/Total Lines)
Blank Lines : 空行数
Blank Lines(%) : 空行百分比(Blank Lines/Total Lines)
4.4 改变排序规则
默认是按照源文件名称进行排序展示的,可以选择其他的列作为排序依据,比如按源代码行数进行倒序(直接点击Source Code Lines列即可),就可以一眼看出该项目中哪个源文件是最多的,如下:

5、Statistic 配置
Statistic 插件安装完成后,会有一些默认的配置,如果默认配置无法满足实际情况,可以更改配置,添加自定义的规则,打开配置界面有两种方式:
在Statistic页签,点击
Settings
按钮;通过菜单
File > Settings > Tool > Statistic
,打开配置界面;

通过配置界面,可以看到Statistic插件的一些默认配置,具体如下:
Excluded file types(默认排除的文件类型):class;svn-base;svn-work;Extra;gif;png;jpg;jpeg;bmp;tga;tiff;ear;war;zip;jar;iml;iws;ipr;bz2;gz;
Separate TABs file types(按TAB进行分隔的文件类型):java;xml;css;html;js;properties;jsp;txt;php;php4;php5;phtml;inc;py
Excluded directories(默认排除的目录):
Exclude compiler output directories:排除编译器的输出目录,比如
class
目录;Exclude IDEA9+ artifact directory(.idea):排除IDEA9+版本的.idea目录;
Exclude NPM directory(node_modules):排除NPM的node_modules目录;
Exclude Git directory(.git):排除.git目录;
Exclude Subversion directory(.svn):排除.svn目录;
Exclude MAVEN output directories(target):排除Maven的输出目录target;
除了默认配置外,还有两项配置是没有默认开启的:
Exclude all directories starting with (.):排除所有以.开头的目录;
Activate when open project:打开项目时,自动激活统计;
如果有其他的目录不需要进行统计,可以进行自定义,比如排除 test\resources
目录

总体来说,Statistic 插件使用起来还是非常方便的,可以满足开发过程中的基本统计需求。




