tokei

tokei

高效多语言代码统计工具

Tokei是一款高效的多语言代码统计工具,支持150多种编程语言。它能快速统计代码行数、注释和空白行,提供多种格式的输出报告。Tokei适用于主流操作系统,既可作为命令行工具使用,也可集成到其他项目中。该工具支持.gitignore文件,并具有灵活的配置选项,为开发者提供准确的代码分析。

Tokei代码统计编程语言开源工具性能优化Github开源项目

Tokei (時計)

Mean Bean CI 需要帮助 代码行数 文档 Chocolatey 下载量 依赖状态 打包状态

Tokei 是一个显示代码统计信息的程序。Tokei 会按语言分组显示文件数量、文件中的总行数、代码行数、注释行数和空白行数。

翻译

示例

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 语言 文件数 总行数 代码 注释 空白行 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BASH 4 49 30 10 9 JSON 1 1332 1332 0 0 Shell 1 49 38 1 10 TOML 2 77 64 4 9 ─────────────────────────────────────────────────────────────────────────────── Markdown 5 1355 0 1074 281 |- JSON 1 41 41 0 0 |- Rust 2 53 42 6 5 |- Shell 1 22 18 0 4 (总计) 1471 101 1080 290 ─────────────────────────────────────────────────────────────────────────────── Rust 19 3416 2840 116 460 |- Markdown 12 351 5 295 51 (总计) 3767 2845 411 511 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 总计 32 6745 4410 1506 829 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

API 文档

目录

特性

  • Tokei 非常快,能够在几秒钟内统计数百万行代码。 查看 11.0.0 版本 了解 Tokei 的速度与其他工具的对比。

  • Tokei 准确,Tokei 可以正确处理多行注释、 嵌套注释,并且不会计算字符串中的注释。提供 准确的代码统计。

  • Tokei 支持的语言范围广泛,支持超过 150 种语言及 其各种扩展名。

  • Tokei 可以输出多种格式(CBORJSONYAML), 使 Tokei 的输出易于存储和重用。这些格式还可以 在 Tokei 中结合先前运行的统计数据与另一组数据。

  • Tokei 可在 MacLinuxWindows 上使用。查看安装 说明了解如何在您的平台上获取 Tokei。

  • Tokei 也是一个,允许您轻松将其与其他 项目集成。

  • Tokei 有彩色和无彩色输出。将环境变量 NO_COLOR 设置为 1, 输出将变为黑白。

安装

包管理器

Unix

# Alpine Linux (3.13 版本起) apk add tokei # Arch Linux pacman -S tokei # Cargo cargo install tokei # Conda conda install -c conda-forge tokei # Fedora sudo dnf install tokei # FreeBSD pkg install tokei # NetBSD pkgin install tokei # Nix/NixOS nix-env -i tokei # OpenSUSE sudo zypper install tokei # Void Linux sudo xbps-install tokei

macOS

# Homebrew brew install tokei # MacPorts sudo port selfupdate sudo port install tokei

Windows

# Winget winget install XAMPPRocky.tokei # Scoop scoop install tokei

手动安装

下载

您可以在 发布部分

构建

你也可以从源代码构建和安装(需要最新的稳定版 Rust 编译器)。

cargo install --git https://github.com/XAMPPRocky/tokei.git tokei

配置

Tokei 有一个配置文件,允许你更改默认行为。该文件可以命名为 tokei.toml.tokeirc。目前 Tokei 会在三个不同的位置查找此文件:当前目录、你的主目录和配置目录。

如何使用 Tokei

基本用法

这是使用 Tokei 的基本方法。它将报告 ./foo 及其所有子文件夹中的代码。

$ tokei ./foo

多个文件夹

要让 Tokei 在同一次调用中报告多个文件夹,只需添加逗号或空格,然后跟上另一个路径。

$ tokei ./foo ./bar ./baz
$ tokei ./foo, ./bar, ./baz

排除文件夹

Tokei 会遵守所有 .gitignore.ignore 文件,你可以使用 --exclude 选项排除任何额外的文件。--exclude 标志与 .gitignore 具有相同的语义。

$ tokei ./foo --exclude *.rs

要排除的路径也可以列在 .tokeignore 文件中,使用与 .gitignore 文件相同的语法

排序输出

默认情况下,Tokei 按语言名称字母顺序排序,但使用 --sort 选项,Tokei 也可以按任何列进行排序。

blanks, code, comments, lines

$ tokei ./foo --sort code

输出文件统计信息

默认情况下,Tokei 只输出语言的总计,使用 --files 标志,Tokei 也可以输出单个文件的统计信息。

$ tokei ./foo --files

输出不同格式

Tokei 通常输出为适合终端的易读格式。使用 --output 选项还可以输出为其他格式,这些格式更适合将数据导入其他程序。

注意: 此版本的 Tokei 编译时未包含任何序列化格式,要启用序列化,请使用 features 标志重新安装 Tokei。

ALL: cargo install tokei --features all CBOR: cargo install tokei --features cbor YAML: cargo install tokei --features yaml

当前支持的格式

  • JSON --output json
  • YAML --output yaml
  • CBOR --output cbor
$ tokei ./foo --output json

读取存储的格式

Tokei 还可以将前一次结果的输出格式添加到当前运行中。Tokei 可以接受文件路径、作为选项值传入的格式,或从标准输入读取。

$ tokei ./foo --input ./stats.json

选项

用法:
    tokei [标志] [选项] [--] [输入]...

标志:
    -f, --files               将打印单个文件的统计信息。
    -h, --help                打印帮助信息
        --hidden              计算隐藏文件。
    -l, --languages           打印支持的语言及其扩展名。
        --no-ignore           不遵守忽略文件(.gitignore, .ignore 等)。这意味着 --no-ignore-parent,
                              --no-ignore-dot 和 --no-ignore-vcs。
        --no-ignore-dot       不遵守 .ignore 和 .tokeignore 文件,包括父目录中的文件。
        --no-ignore-parent    不遵守父目录中的忽略文件(.gitignore, .ignore 等)。
        --no-ignore-vcs       不遵守 VCS 忽略文件(.gitignore, .hgignore 等),包括父目录中的文件。
    -V, --version             打印版本信息
    -v, --verbose             设置日志输出级别:
                                          1: 显示未知文件扩展名,
                                          2: 保留用于未来调试,
                                          3: 启用文件级跟踪。不建议在多个文件上使用

选项:
    -c, --columns <columns>       设置输出的严格列宽,仅适用于终端输出。
    -e, --exclude <exclude>...    忽略所有匹配模式的文件和目录。
    -i, --input <file_input>      从之前的 Tokei 运行中获取统计信息。可以给定文件路径,或 "stdin" 从标准输入读取。
    -o, --output <output>         以特定格式输出 Tokei。编译时需要额外功能以支持更多格式。[可能的值:cbor, json, yaml]
    -s, --sort <sort>             根据列对语言进行排序 [可能的值:files, lines, blanks, code, comments]
    -t, --type <types>            按语言类型过滤输出,用逗号分隔。例如 -t=Rust,Markdown

参数:
    <input>...    要计算的文件或目录的路径。

徽章

Tokei 支持徽章。例如

[![](https://tokei.rs/b1/github/XAMPPRocky/tokei)](https://github.com/XAMPPRocky/tokei)。

Tokei 的 URL 方案如下。

https://tokei.rs/b1/{host: values: github|gitlab}/{仓库所有者,如:XAMPPRocky}/{仓库名称,如:tokei}

默认情况下,徽章将显示仓库的代码行数(LoC),你也可以通过使用 ?category= 查询字符串指定显示不同的类别。可以是 codeblanksfileslinescomments, 例如显示总行数:

[![](https://tokei.rs/b1/github/XAMPPRocky/tokei?category=lines)](https://github.com/XAMPPRocky/tokei)。

托管在 tokei.rs 上的服务器代码位于 XAMPPRocky/tokei_rs

Docker 版本

Tokei 可在基于 alpine 的小型 Docker 镜像中使用,可通过 earthly 构建:

earthly +docker

构建完成后,可以使用以下命令运行镜像:

docker run --rm -v /path/to/analyze:/src tokei .

或者,要简单地分析当前文件夹(Linux):

docker run --rm -v $(pwd):/src tokei .

支持的语言

如果你想向 Tokei 添加一种语言,欢迎提交拉取请求 请求。语言定义在 languages.json 中,你可以在我们的 CONTRIBUTING.md 中了解如何添加和测试你的语言。

[此处省略长列表]

常见问题

Tokei 说我有很多 D 代码,但我知道没有 D 代码!

这可能是因为 gcc 生成了 .d 文件。在 D 语言的开发者决定使用不同的文件扩展名之前,你可以使用 -e --exclude 标志来排除 .d 文件,如下所示:

$ tokei . -e *.d

官方源

此仓库的官方源托管在 GitHub 上。如果你有 GitHub 账号,请在那里提交问题和拉取请求。

相关工具

  • tokei-pie:将 tokei 的输出渲染为交互式旭日图。

版权和许可

(C) 2015 年 XAMPPRocky 和贡献者版权所有

完整的贡献者列表请参见贡献者图表

Tokei 在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。

更多信息请参见 LICENCE-APACHELICENCE-MIT

编辑推荐精选

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

下拉加载更多