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

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

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

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

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多