一、关于Cloc工具

 主要做代码统计的,可以统计不同的语言。目前支持windows,liunx,mac三个平台

  • 多语言支持:可识别超过200种编程语言的文件
  • 灵活的输入方式:支持单个文件、目录、压缩包甚至Git仓库的统计
  • 丰富的输出格式:支持文本、JSON、XML、CSV等多种输出格式
  • 轻量级设计:无需复杂依赖,安装即用

今天主要说说在windows的使用

二、下载

Github:

https://github.com/AlDanial/cloc/releases

我下载的版本如下:

修改微cloc.exe,然后直接copy到

三、执行命令

然后通过windows的powershell可执行命令:

 cloc /path/to/project

但是需要注意,如果你访问的是中文目录则需要先

cd  /path/to/project
然后 cloc.

这是我执行的结果

四、其他命令

4.1差异比较与版本追踪

cloc 可以比较两个代码库、两个文件,甚至是 Git 提交之间的代码变化。

比较两个目录
cloc --diff /path/to/old_version /path/to/new_version

输出会显示新增、删除和修改的行数。

与 Git 集成

直接比较两个 Git 提交或分支:

cloc --git --diff <commit-hash-1> <commit-hash-2>
例如,比较当前工作区与上一个提交:
cloc --git --diff HEAD~1 HEAD
 
多格式报告输出

除了屏幕上的表格,cloc 支持导出多种格式的数据,方便导入 Excel、数据库或用于自动化处理。

格式命令示例用途
CSVcloc --csv --out=result.csv ./srcExcel 分析
JSONcloc --json --out=result.json ./src程序解析
Markdowncloc --markdown ./src > result.md文档嵌入
XMLcloc --xml --out=report.xml ./src与 CI 工具集成
YAMLcloc --yaml ./src配置文件风格
SQLcloc --sql --out=stats.sql ./src直接生成数据库插入语句

4.2精准的排除与过滤

实际项目中常需要排除 node_modulesbuild 等目录,或忽略某些文件类型。

排除目录
cloc . --exclude-dir=node_modules,build,dist
 
排除文件扩展名
cloc . --exclude-ext=json,log,md
 
使用忽略文件(类似 .gitignore)

创建一个 .clocignore 文件,内容示例:

build/
*.min.js
docs/
 

然后通过 --exclude-list-file 引用:

cloc . --exclude-list-file=.clocignore
 
只统计特定扩展名
cloc . --include-ext=py,js,html
 

4.3性能与定制化

4.3.1多核加速

对于大型项目,可以指定并行处理的进程数,大幅提升速度:

cloc . --processes=4
 
4.3.2 调整大文件阈值

默认跳过大于 100MB 的文件(避免内存溢出),可通过 --max-file-size 调整(单位 MB):

cloc . --max-file-size=200
 
4.3.3自定义语言识别

如果 cloc 错误地识别了某些文件,可以用 --force-lang 强制指定语言:

cloc . --force-lang="Python",pyx
 

还可以通过 --read-lang-def 加载自定义的语言定义文件(参考官方文档编写格式)。


五、小技巧

5.1直接统计压缩包

cloc 支持直接读取 ziptar.gzrar 等压缩包(需系统支持相应命令):

cloc source-code.zip
 
5.2按文件详细统计

默认按语言汇总,加上 --by-file 会列出每个文件的统计:

cloc . --by-file
 
5.3 处理中文路径与内容
  • 路径含中文:使用双引号包裹。

  • 文件内容含中文:加上 --unicode 参数确保字符集正确:

    cloc --unicode .

统计代码行数的同时忽略注释和空行

cloc 默认就会区分代码、注释和空行。如果你只想统计代码行数,可以用:

cloc . --3=code
(输出中只显示代码行数列)

最后小结

cloc 是一个轻量但功能丰富的工具,掌握这些深入用法可以帮助你在代码审计、项目管理、自动化流程中事半功倍。更多细节可参考官方文档或通过 cloc --help 查看。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐