Tokei代码统计工具全解:为什么这个Rust写的极速LOC计数器值得放入你的工具箱
【免费下载链接】tokeiCount your code, quickly.项目地址: https://gitcode.com/gh_mirrors/to/tokei
Tokei 是一款用 Rust 编写的极速代码统计工具(Code Statistics Tool),一条命令即可输出项目的文件数、代码行、注释行和空行数,被称为最快的 LOC 计数器之一。它支持 150+ 种编程语言,能在几秒内统计数百万行代码,并且准确处理嵌套注释、字符串中的注释符等边缘情况。无论你是接手新仓库、做技术选型评估,还是单纯想看看团队代码量,Tokei 都值得放入你的工具箱 🧰。
什么是 Tokei?
Tokei(日语"時計",意为钟表 ⏱️)是一个命令行代码行数统计工具,按语言分组统计以下指标:
| 统计项 | 说明 |
|---|---|
| Files | 该语言的文件数量 |
| Lines | 文件总行数 |
| Code | 有效代码行 |
| Comments | 注释行 |
| Blanks | 空行 |
它的核心卖点可以概括为三点:
- ⚡快:基于 Rust 编写,能秒级完成百万行级项目的统计
- 🎯准:内部使用小型状态机而非正则表达式,正确处理多行注释、嵌套注释和字符串中的注释符号(见 src/lib.rs 开头的设计说明)
- 🌍广:支持 150 多种语言及其扩展名,语言定义集中在 languages.json 中
3 种安装方式:快速上手 Tokei 代码统计工具
1. 包管理器一键安装(推荐)
Tokei 已收录进各大发行源,按需选择:
# macOS / Linux brew install tokei # Homebrew sudo dnf install tokei # Fedora apk add tokei # Alpine # Windows winget install XAMPPRocky.tokei2. Cargo 从源码安装
cargo install tokei # 如需 JSON/YAML/CBOR 导出功能,可加特性安装: cargo install tokei --features all3. 从源码构建
git clone https://gitcode.com/gh_mirrors/to/tokei💡 小提示:设置环境变量
NO_COLOR=1可关闭彩色输出,方便复制粘贴。
基本用法:一条命令看代码统计
在项目根目录执行:
$ tokei .支持同时统计多个目录:tokei ./src ./tests。输出效果类似这样:
Language Files Lines Code Comments Blanks ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BASH 4 49 30 10 9 JSON 1 1332 1332 0 0 Rust 19 3416 2840 116 460 (Total) 3767 2845 411 511 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Total 32 6745 4410 1506 829可以看到 Markdown 等容器语言会自动展开内部的代码块(如 Rust 文件中的 Markdown 片段),统计粒度非常细。
常用选项:让统计结果更精准
| 选项 | 作用 | 示例 |
|---|---|---|
--exclude | 排除匹配的文件/目录 | tokei . --exclude *.lock |
--sort | 按列排序(code/lines/blanks/comments/files) | tokei . --sort code |
--files | 输出每个文件的明细 | tokei . --files |
--output | 导出为 json / yaml / cbor | tokei . --output json |
-t, --type | 只看指定语言 | tokei . -t=Rust,Python |
--hidden | 统计隐藏文件 | tokei . --hidden |
-l, --languages | 查看支持的语言及扩展名 | tokei --languages |
值得注意的默认行为:
- 🧹 自动尊重
.gitignore、.ignore以及.tokeignore文件,target/、node_modules/等目录天然被排除 - 支持
.tokeignore文件,语法与.gitignore相同,适合固化团队的排除规则 - 可用
--input读取上次导出的统计结果并与本次统计合并,方便做增量对比
配置文件:固定你的默认行为
Tokei 会依次在当前目录、用户主目录和系统配置目录查找tokei.toml或.tokeirc配置文件。一个最小示例(参考 tokei.example.toml):
columns = 80 sort = "lines" types = ["Python"] treat_doc_strings_as_comments = true其中treat_doc_strings_as_comments默认开启,Python 的"""docstring"""会被计入注释而非代码,统计口径更符合直觉。
进阶:作为 Rust 库集成到自己的工作流
Tokei 不只是一个 CLI,它本身也是 Rust 库。几行代码就能把代码统计能力嵌入你自己的工具或 CI 流水线中,核心 API 为Config、Languages、LanguageType。
项目还包含专门的模糊测试目标(fuzz/fuzz_targets/)和精确度测试(tests/accuracy.rs),这也是它"准"的另一面保障。完整选项说明可参考 README.md 的 Options 一节,版本演进记录见 CHANGELOG.md。
谁适合用 Tokei?
- 👨💻开发者:接手陌生仓库时,30 秒摸清语言构成与代码规模
- 🏢技术负责人:评估代码注释比、空行占比,辅助代码健康度讨论
- 📊团队 CI/文档:导出
--output json结果,自动生成代码量报表 - 🎓学习者:对比自己项目与成熟项目的 LOC 分布
小结
Tokei 代码统计工具以 Rust 的性能为底座,用状态机解决了传统grep -c类工具"把字符串里的//也当成注释"的顽疾,配合 150+ 语言覆盖和 JSON/YAML 导出能力,成为目前最省心的 LOC 统计方案之一。安装只要一条命令,收益却贯穿整个开发生命周期——不妨现在就对你的主力项目跑一次tokei .试试吧 🚀
【免费下载链接】tokeiCount your code, quickly.项目地址: https://gitcode.com/gh_mirrors/to/tokei
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考