文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-12-03 01:57

关注

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

近来,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中国内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯