一、关于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、数据库或用于自动化处理。
| CSV | cloc –csv –out=result.csv ./src | Excel 分析 |
| JSON | cloc –json –out=result.json ./src | 程序解析 |
| Markdown | cloc –markdown ./src > result.md | 文档嵌入 |
| XML | cloc –xml –out=report.xml ./src | 与 CI 工具集成 |
| YAML | cloc –yaml ./src | 配置文件风格 |
| SQL | cloc –sql –out=stats.sql ./src | 直接生成数据库插入语句 |
4.2精准的排除与过滤
实际项目中常需要排除 node_modules、build 等目录,或忽略某些文件类型。
排除目录
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 支持直接读取 zip、tar.gz、rar 等压缩包(需系统支持相应命令):
cloc source-code.zip
5.2按文件详细统计
默认按语言汇总,加上 –by-file 会列出每个文件的统计:
cloc . –by-file
5.3 处理中文路径与内容
-
路径含中文:使用双引号包裹。
-
文件内容含中文:加上 –unicode 参数确保字符集正确:
cloc –unicode .
统计代码行数的同时忽略注释和空行
cloc 默认就会区分代码、注释和空行。如果你只想统计代码行数,可以用:
cloc . –3=code
(输出中只显示代码行数列)
最后小结
cloc 是一个轻量但功能丰富的工具,掌握这些深入用法可以帮助你在代码审计、项目管理、自动化流程中事半功倍。更多细节可参考官方文档或通过 cloc –help 查看。
网硕互联帮助中心



评论前必须登录!
注册