了解有关项目编程语言的详细信息。
创新互联建站主要从事成都做网站、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务陇县,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
近来,GitHub 添加了一个小指标来展示项目的细节,包括项目使用的编程语言。在这之前,对一个新的贡献者来说,了解他们感兴趣的项目的信息是较为困难的。
这个补充很有帮助,但是如果您想知道有关本地存储库中项目的相同信息该怎么办呢? 这正是 Tokei 派上用场的地方。这是一个当你想和精通不同语言的人想要构建一个项目时可以告诉你项目的代码数据的特别有用的工具。
据其 README,“Tokei 是一个可以展示你的代码数据的程序。Tokei 将会展示文件的数量,和这些文件中不同语言的代码、注释、空白的行数。”它的 v.12.1.0 版本 elaborates 是这样子介绍的,“Tokei 是一个快速准确的代码分析 CLI 工具和库,可以使你轻松快速地在你的代码库中看到有多少空白、评论和代码行”。它能够识别超过 150 种编程语言。
$ ./tokei ~/exa/src ~/Work/wildfly/jaxrs==================Language Files Lines Code Comments BlankJava 46 6135 4324 945 632XML 23 5211 4839 473 224---------------------------------RustMarkdown-----------------------------------Total
在 Fedora 上安装 Tokei:
$ sudo dnf install tokei
用 Rust's Cargo 包管理器安装:
$ cargo install tokei
要列出当前目录中的代码统计:
$ tokei===============================================================================Language Files Lines Code Comments Blanks===============================================================================Ada 10 2840 1681 560 599Assembly 4 2508 1509 458 541GNU Style Assembly 4 2751 1528 748 475Autoconf 16 2294 1153 756 385Automake 1 45 34 0 11BASH 4 1895 1602 133 160Batch 2 4 4 0 0C 330 206433 150241 23402 32790C Header 342 60941 24682 29143 7116CMake 48 4572 3459 548 565C# 9 1615 879 506 230C++ 5 907 599 136 172Dockerfile 2 16 10 0 6Fish 1 87 77 5 5HTML 1 545 544 1 0JSON 5 8995 8995 0 0Makefile 10 504 293 72 139Module-Definition 12 1183 1046 65 72MSBuild 1 141 140 0 1Pascal 4 1443 1016 216 211Perl 2 189 137 16 36Python 4 1257 949 112 196Ruby 1 23 18 1 4Shell 15 1860 1411 222 227Plain Text 35 29425 0 26369 3056TOML 64 3180 2302 453 425Visual Studio Pro| 30 14597 14597 0 0Visual Studio Sol| 6 655 650 0 5XML 1 116 95 17 4YAML 2 81 56 12 13Zsh 1 59 48 8 3-------------------------------------------------------------------------------Markdown 55 4677 0 3214 1463|- C 1 2 2 0 0|- Rust 19 336 268 20 48|- TOML 23 61 60 0 1(Total) 5076 330 3234 1512-------------------------------------------------------------------------------Rust 496 210966 188958 5348 16660|- Markdown 249 17676 1551 12502 3623(Total) 228642 190509 17850 20283===============================================================================Total 1523 566804 408713 92521 65570===============================================================================$
下面的命令打印出了支持的语言和拓展:
$ tokei -lABNFABAPActionScriptAdaAgdaAlexAlloyArduino C++AsciiDocASN.1ASPASP.NETAssemblyGNU Style Assembly
如果你在两个文件夹上运行 tokei 并指定其位置作为参数,它将以先入先出的规则打印单个文件的统计数据:
Running Tokei on two files
默认情况下,tokei 仅仅输出有关语言的数据,但是使用 --files 标记可提供单个文件统计信息:
$ tokei ~/exa/src --files===========================================================================================Language Files Lines Code Comments Blanks===========================================================================================Rust 54 9339 7070 400 1869|- Markdown 33 1306 0 1165 141(Total) 10645 7070 1565 2010-------------------------------------------------------------------------------------------/home/ssur/exa/src/theme/default_theme.rs 130 107 0 23/home/ssur/exa/src/output/render/times.rs 30 24 0 6/home/ssur/exa/src/output/render/users.rs 98 76 0 22/home/ssur/exa/src/output/render/size.rs 182 141 3 38/home/ssur/exa/src/output/render/octal.rs 116 88 0 28/home/ssur/exa/src/output/render/mod.rs 33 20 3 10/home/ssur/exa/src/output/render/inode.rs 28 20 0 8/home/ssur/exa/src/output/render/links.rs 87 65 0 22/home/ssur/exa/src/output/render/groups.rs 123 93 0 30|ome/ssur/exa/src/output/render/filetype.rs 31 26 0 5/home/ssur/exa/src/output/render/blocks.rs 57 40 0 17/home/ssur/exa/src/output/render/git.rs 108 87 0 21|/ssur/exa/src/output/render/permissions.rs 204 160 3 41/home/ssur/exa/src/output/grid.rs 67 51 3 13/home/ssur/exa/src/output/escape.rs 26 18 4 4/home/ssur/exa/src/theme/lsc.rs 235 158 39 38/home/ssur/exa/src/options/theme.rs 159 124 6 29/home/ssur/exa/src/options/file_name.rs 46 39 0 7/home/ssur/exa/src/options/flags.rs 84 63 6 15/home/ssur/exa/src/fs/mod.rs 10 8 0 2/home/ssur/exa/src/fs/feature/mod.rs 33 25 0 8-- /home/ssur/exa/src/output/time.rs ---------------------------------------------------------------|- Rust 215 170 5 40|- Markdown 28 0 25 3
我发现使用 tokei 来了解我的代码统计数据十分容易。另一个使用 tokei 的好处就是它可以用作为一个很容易集成到其他项目的库。访问 Tokei 的 Crate.io page 和 Docs.rs 网站来了解其更多用法。如果你想参与其中,你也可以通过它的 GitHub 仓库 来为 Tokei 作贡献。