使用 Tokei 查看有关代码的统计信息

开发 后端
我发现使用 tokei 来了解我的代码统计数据十分容易。另一个使用 tokei 的好处就是它可以用作为一个很容易集成到其他项目的库。

[[409571]]

了解有关项目编程语言的详细信息。

近来,GitHub 添加了一个小指标来展示项目的细节,包括项目使用的编程语言。在这之前,对一个新的贡献者来说,了解他们感兴趣的项目的信息是较为困难的。

这个补充很有帮助,但是如果您想知道有关本地存储库中项目的相同信息该怎么办呢? 这正是 Tokei 派上用场的地方。这是一个当你想和精通不同语言的人想要构建一个项目时可以告诉你项目的代码数据的特别有用的工具。

探索 Tokei

据其 README,“Tokei 是一个可以展示你的代码数据的程序。Tokei 将会展示文件的数量,和这些文件中不同语言的代码、注释、空白的行数。”它的 v.12.1.0 版本 elaborates 是这样子介绍的,“Tokei 是一个快速准确的代码分析 CLI 工具和库,可以使你轻松快速地在你的代码库中看到有多少空白、评论和代码行”。它能够识别超过 150 种编程语言。

  1. $ ./tokei ~/exa/src ~/Work/wildfly/jaxrs
  2. ==================
  3. Language Files Lines Code Comments Blank
  4. Java 46 6135 4324 945 632
  5. XML 23 5211 4839 473 224
  6. ---------------------------------
  7. Rust
  8. Markdown
  9. -----------------------------------
  10. Total

安装 Tokei

在 Fedora 上安装 Tokei:

  1. $ sudo dnf install tokei

用 Rust's Cargo 包管理器安装:

  1. $ cargo install tokei

使用 Tokei

要列出当前目录中的代码统计:

  1. $ tokei
  2. ===============================================================================
  3. Language Files Lines Code Comments Blanks
  4. ===============================================================================
  5. Ada 10 2840 1681 560 599
  6. Assembly 4 2508 1509 458 541
  7. GNU Style Assembly 4 2751 1528 748 475
  8. Autoconf 16 2294 1153 756 385
  9. Automake 1 45 34 0 11
  10. BASH 4 1895 1602 133 160
  11. Batch 2 4 4 0 0
  12. C 330 206433 150241 23402 32790
  13. C Header 342 60941 24682 29143 7116
  14. CMake 48 4572 3459 548 565
  15. C# 9 1615 879 506 230
  16. C++ 5 907 599 136 172
  17. Dockerfile 2 16 10 0 6
  18. Fish 1 87 77 5 5
  19. HTML 1 545 544 1 0
  20. JSON 5 8995 8995 0 0
  21. Makefile 10 504 293 72 139
  22. Module-Definition 12 1183 1046 65 72
  23. MSBuild 1 141 140 0 1
  24. Pascal 4 1443 1016 216 211
  25. Perl 2 189 137 16 36
  26. Python 4 1257 949 112 196
  27. Ruby 1 23 18 1 4
  28. Shell 15 1860 1411 222 227
  29. Plain Text 35 29425 0 26369 3056
  30. TOML 64 3180 2302 453 425
  31. Visual Studio Pro| 30 14597 14597 0 0
  32. Visual Studio Sol| 6 655 650 0 5
  33. XML 1 116 95 17 4
  34. YAML 2 81 56 12 13
  35. Zsh 1 59 48 8 3
  36. -------------------------------------------------------------------------------
  37. Markdown 55 4677 0 3214 1463
  38. |- C 1 2 2 0 0
  39. |- Rust 19 336 268 20 48
  40. |- TOML 23 61 60 0 1
  41. (Total) 5076 330 3234 1512
  42. -------------------------------------------------------------------------------
  43. Rust 496 210966 188958 5348 16660
  44. |- Markdown 249 17676 1551 12502 3623
  45. (Total) 228642 190509 17850 20283
  46. ===============================================================================
  47. Total 1523 566804 408713 92521 65570
  48. ===============================================================================
  49. $

下面的命令打印出了支持的语言和拓展:

  1. $ tokei -l
  2. ABNF
  3. ABAP
  4. ActionScript
  5. Ada
  6. Agda
  7. Alex
  8. Alloy
  9. Arduino C++
  10. AsciiDoc
  11. ASN.1
  12. ASP
  13. ASP.NET
  14. Assembly
  15. GNU Style Assembly

如果你在两个文件夹上运行 tokei 并指定其位置作为参数,它将以先入先出的规则打印单个文件的统计数据:

 

Running Tokei on two files

默认情况下,tokei 仅仅输出有关语言的数据,但是使用 --files 标记可提供单个文件统计信息:

  1. $ tokei ~/exa/src --files
  2. ===========================================================================================
  3. Language Files Lines Code Comments Blanks
  4. ===========================================================================================
  5. Rust 54 9339 7070 400 1869
  6. |- Markdown 33 1306 0 1165 141
  7. (Total) 10645 7070 1565 2010
  8. -------------------------------------------------------------------------------------------
  9. /home/ssur/exa/src/theme/default_theme.rs 130 107 0 23
  10. /home/ssur/exa/src/output/render/times.rs 30 24 0 6
  11. /home/ssur/exa/src/output/render/users.rs 98 76 0 22
  12. /home/ssur/exa/src/output/render/size.rs 182 141 3 38
  13. /home/ssur/exa/src/output/render/octal.rs 116 88 0 28
  14. /home/ssur/exa/src/output/render/mod.rs 33 20 3 10
  15. /home/ssur/exa/src/output/render/inode.rs 28 20 0 8
  16. /home/ssur/exa/src/output/render/links.rs 87 65 0 22
  17. /home/ssur/exa/src/output/render/groups.rs 123 93 0 30
  18. |ome/ssur/exa/src/output/render/filetype.rs 31 26 0 5
  19. /home/ssur/exa/src/output/render/blocks.rs 57 40 0 17
  20. /home/ssur/exa/src/output/render/git.rs 108 87 0 21
  21. |/ssur/exa/src/output/render/permissions.rs 204 160 3 41
  22. /home/ssur/exa/src/output/grid.rs 67 51 3 13
  23. /home/ssur/exa/src/output/escape.rs 26 18 4 4
  24. /home/ssur/exa/src/theme/lsc.rs 235 158 39 38
  25. /home/ssur/exa/src/options/theme.rs 159 124 6 29
  26. /home/ssur/exa/src/options/file_name.rs 46 39 0 7
  27. /home/ssur/exa/src/options/flags.rs 84 63 6 15
  28. /home/ssur/exa/src/fs/mod.rs 10 8 0 2
  29. /home/ssur/exa/src/fs/feature/mod.rs 33 25 0 8
  30. -- /home/ssur/exa/src/output/time.rs ---------------------------------------------------------------
  31. |- Rust 215 170 5 40
  32. |- Markdown 28 0 25 3

总结

我发现使用 tokei 来了解我的代码统计数据十分容易。另一个使用 tokei 的好处就是它可以用作为一个很容易集成到其他项目的库。访问 Tokei 的 Crate.io page 和 Docs.rs 网站来了解其更多用法。如果你想参与其中,你也可以通过它的 GitHub 仓库 来为 Tokei 作贡献。 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2019-05-23 08:00:00

Webalizer网站统计开源

2023-02-26 01:28:09

终端命令行工具

2015-07-23 16:42:38

SQL Server自增长键列值

2021-10-25 10:33:26

smem 命令Linux

2010-02-02 13:05:58

Python代码

2011-06-14 15:04:23

封装信息隐藏

2011-07-19 09:25:52

2010-03-02 14:01:58

Linux硬件信息命令

2015-07-23 09:30:43

烂代码程序员

2010-02-07 11:13:04

Android设备间

2020-10-10 19:30:25

lshwLinux设备信息

2021-03-17 08:07:28

Linux Lsusb命令

2021-04-16 11:18:56

LinuxlsusbUSB

2010-09-25 15:26:45

SQL查询语句

2009-12-01 13:10:29

VS2003压缩代码

2019-08-29 14:47:45

Linux中央处理器Windows

2010-03-01 10:39:18

Python源代码

2010-04-06 09:20:58

Oracle job

2010-08-19 14:54:07

DB2 优化器

2023-12-28 18:02:12

点赞
收藏

51CTO技术栈公众号