Tokei

tokei translate-svg #

「 Tokei是一个显示代码信息的统计程序 」

中文 | english


校对 ✅ #

翻译的原文 与日期 最新更新 更多
commit ⏰ 2018 8.29 last 中文翻译

贡献 #

欢迎 👏 勘误/校对/更新贡献 😊 具体贡献请看

生活 #

If help, buy me coffee —— 营养跟不上了,给我来瓶营养快线吧! 💰


Tokei ( 时计) #

Linux build status Windows build status Documentation Donate using Liberapay

Tokei是一个显示代码信息的统计程序. Tokei将显示文件数,和这些文件中的总行数以及按语言分组的代码,注释和空格.

示例输出 #

这是tokei在自己的目录上运行

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 Language            Files        Lines         Code     Comments       Blanks
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 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
 (Total)                           1471          101         1080          290
───────────────────────────────────────────────────────────────────────────────
 Rust                   19         3416         2840          116          460
 |- Markdown            12          351            5          295           51
 (Total)                           3767         2845          411          511
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 Total                  32         6745         4410         1506          829
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

文档 #

目录 #

特征 #

  • Tokei是非常快的,看看我们的 对照文件,了解Tokei的速度与其他人的比较.

  • Tokei是准确,Tokei正确处理多行注释,嵌套注释,而不计算字符串中的注释. 提供准确的代码统计信息.

  • Tokei拥有广泛的语言,支持150语言及其各种扩展.

  • Tokei可以输出多种格式 (CBOR,JSON,TOML,YAML) ,容易存储和重复使用. 这些也可以在tokei中重复使用,将先前运行的统计数据与另一组进行组合.

  • Tokei可用苹果电脑,Linux,和Windows. 看到 安装说明如何在您的平台上获得Tokei.

  • Tokei也是一个rust-箱允许您轻松地将其与其他项目集成.

安装 #

自动 #

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

brew #

$ brew install tokei

Nix/NixOS #

$ nix-env -i tokei

手册 #

您可以在 发布页面中下载预建的二进制文件,或从源创建.

$ git clone https://github.com/Aaronepower/tokei.git
$ cd tokei
$ cargo build --release
Linux #
# sudo mv target/release/tokei /usr/local/bin
OSX #
# sudo mv target/release/tokei /usr/local/bin/tokei
windows #
  • 为tokei创建一个文件夹
  • 搜索env
  • 打开"编辑你的环境变量"
  • 编辑PATH
  • 将文件夹路径追加到字符串末尾即: <path_stuff_here>;C:/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

排序输出 #

默认情况下,tokei按语言名称按字母顺序排序,但使用--sort也可以按任何列排序.

blanks, code, comments, lines

$ tokei ./foo --sort code

输出文件统计信息 #

默认情况下,tokei仅输出语言的总和,如使用--files,还可以输出单个文件统计信息.

$ tokei ./foo --files

输出为不同的格式 #

Tokei通常输出为为终端设计的漂亮的人类可读格式. 还有使用--output选项各种其他格式,对于将数据带入另一个程序更有用.

注意: 这个版本的tokei编译时,没有任何序列化格式,以启用序列化,使用features标志重新安装tokei.

  ALL:
  cargo install tokei --features all

  JSON:
  cargo install tokei --features json

  CBOR:
  cargo install tokei --features cbor

  YAML:
  cargo install tokei --features yaml

  CBOR:
  cargo install tokei --features cbor

目前支持的格式

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

读取存储格式 #

Tokei还可以将之前结果中添加的输出格式输入到当前运行中. Tokei可以获取文件的路径,传入的格式作为选项的值,或者 从stdin获取.

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

选项 #

tokei 7.0.1
Aaron P. <[email protected]> + Contributors
A utility that allows you to count code, quickly.

USAGE:
    tokei [FLAGS] [OPTIONS] [--] [input]...

FLAGS:
    -f, --files        Will print out statistics on individual files.
    -h, --help         Prints help information
    -l, --languages    Prints out supported languages and their extensions.
    -V, --version      Prints version information
    -v, --verbose      Set log output level:
                                1: to show unknown file extensions,
                                2: reserved for future debugging,
                                3: enable file level trace. Not recommended on multiple files

OPTIONS:
    -e, --exclude <exclude>...    忽略包含该单词的所有文件和目录。
    -i, --input <file_input>      提供之前的tokei运行的统计数据。 可以给出文件路径,或 'stdin'
                                  从stdin读取。
    -o, --output <output>         以特定格式输出Tokei。 [值:cbor,json,toml,yaml]
    -s, --sort <sort>             根据列[值: files, lines, blanks, code, comments]对语言进行排序

ARGS:
    <input>...    The input file(s)/directory(ies) to be counted.

徽章 #

Tokei支持徽章. 例如 .

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

Tokei的URL方案如下.

https://tokei.rs/{host: values: github|gitlab}/{Repo Owner eg: Aaronepower}/{Repo name eg: tokei}

默认情况下,徽章将显示项目的LoC (代码行) ,你也可以通过使用指定它来显示不同的类别?category=请求参数. 它可以是code,blanks,files,lines,comments,示例显示总行数:

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

插件 #

感谢贡献者tokei,现在可以作为一些文本编辑器的插件.

支持的语言 #

如果您要添加某种语言,请随时提交包含以下信息的提取请求. 如果你不确定,看看 languages.json如何定义其他语言.

  • 语言名称
  • 文件扩展名
  • 注释语法 (它有区块注释吗?它和C一样吗?)
  • 字符串文字语法
ABAP
ActionScript
Ada
Alex
Agda
ASP
ASP.NET
Assembly
Autoconf
SH
AutoHotKey
BASH
FISH
Batch
C
C Header
C#
C Shell
Cabal
Cassius
Ceylon
Clojure
CMake
COBOL
CoffeeScript
Cogent
ColdFusion
ColdFusion CFScript
Coq
C++
C++ Header
CSS
Crystal
D
Dart
Device Tree
Dockerfile
Elixir
Elm
Emacs Development Environment
Emacs Lisp
Erlang
FEN
Forth
F*
F#
FORTRAN Legacy
FORTRAN Modern
GDScript
GLSL
Go
Groovy
Happy
Handlebars
Haskell
Haxe
HCL
HEX
HTML
Hamlet
Idris
Intel HEX
Isabelle
JAI
Java
JavaScript
JSON
JSX
Julia
Julius
Kotlin
Lean
LESS
LD Script
LISP
Lua
Lucius
Madlang
Makefile
Markdown
Meson
Mint
ModuleDef
Mustache
Nim
Nix
OCaml
Objective C
Objective C++
Org mode
Oz
Pascal
Perl
PHP
Polly
Processing
Prolog
Protocol Buffers
PSL Assertions
PureScript
Python
QCL
QML
R
Racket
Rakefile
Razor
ReStructuredText
Ruby
Ruby HTML
Rust
Sass
Scala
Scons
SRecode Template
Standard ML
Specman e
SPICE Netlists
SQL
SVG
Swift
SystemVerilog
TCL
TeX
Plain Text
TOML
TypeScript
Unreal Script
Ur/Web
Vala
VB6
VBScript
Verilog
Verilog argument files
VHDL
Vim Script
Wolfram
Xaml
XML
Xtend
YAML
Zsh

常见问题 #

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

这可能是由于gcc生成.d文件. 在D用户决定使用其他文件扩展名之前,您始终可以排除.d的文件,使用-e --exclude这样的选项

$ tokei . -e *.d

规范来源 #

这个仓库的规范来源是托管的 GitHub上. 如果您有GitHub帐户,请提出您的问题,并在那里提出请求.

版权和许可 #

(C) Aaron Power和贡献者的2015版权所有

请参阅 CONTRIBUTORS.md 以获取完整的贡献者列表.

Tokei遵循 MIT许可和Apache许可 (版本2.0) 的条款.

看到 许可证APACHE, LICENSE-MIT了解更多信息.