Home

Awesome

tokei translate-svg

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

中文 | english


校对 ✅

<!-- doc-templite START generated --> <!-- repo = 'Aaronepower/tokei' --> <!-- commit = 'a9a185e6e9c7d6c472736aadaf8ecc69d202b3c9' --> <!-- time = '2018 8.29' -->
翻译的原文与日期最新更新更多
commit⏰ 2018 8.29last中文翻译
<!-- doc-templite END generated -->

贡献

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

生活

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


Tokei (时计)

Linux build status Windows build status Documentation Donate using Liberapay

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

示例输出

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

asciicast

文档

目录

<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> <!-- END doctoc generated TOC please keep comment here to allow auto update -->

特征

安装

自动

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

基本用法

这是使用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

目前支持的格式

$ tokei ./foo --output json

读取存储格式

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

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

选项

tokei 7.0.1
Aaron P. <theaaronepower@gmail.com> + 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如何定义其他语言.

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了解更多信息.