Awesome
tokei
「 Tokei是一个显示代码信息的统计程序 」
校对 ✅
<!-- doc-templite START generated --> <!-- repo = 'Aaronepower/tokei' --> <!-- commit = 'a9a185e6e9c7d6c472736aadaf8ecc69d202b3c9' --> <!-- time = '2018 8.29' -->翻译的原文 | 与日期 | 最新更新 | 更多 |
---|---|---|---|
commit | ⏰ 2018 8.29 | 中文翻译 |
贡献
欢迎 👏 勘误/校对/更新贡献 😊 具体贡献请看
生活
If help, buy me coffee —— 营养跟不上了,给我来瓶营养快线吧! 💰
Tokei (时计)
Tokei是一个显示代码信息的统计程序. Tokei将显示文件数,和这些文件中的总行数以及按语言分组的代码,注释和空格.
示例输出
这是tokei在自己的目录上运行
文档
目录
<!-- 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 -->特征
-
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. <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.
徽章
[![](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了解更多信息.