Tokei代码统计工具全解:为什么这个Rust写的极速LOC计数器值得放入你的工具箱
2026/9/19 3:04:39 网站建设 项目流程

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.tokei

2. Cargo 从源码安装

cargo install tokei # 如需 JSON/YAML/CBOR 导出功能,可加特性安装: cargo install tokei --features all

3. 从源码构建

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 / cbortokei . --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 为ConfigLanguagesLanguageType

项目还包含专门的模糊测试目标(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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询