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非常快,并且能够在几秒钟内计算数百万行代码。查看11.0.0版本,以了解Tokei的速度与其他人的速度相比。
Tokei是准确的,Tokei正确处理多行评论,嵌套评论,而不是计算字符串中的注释。提供准确的代码统计信息。
Tokei具有大量的语言,支持150多种语言及其各种语言。
Tokei可以以多种格式输出( CBOR , JSON , YAML ),允许Tokei的输出易于存储和重复使用。这些也可以在将上一个运行的统计数据与另一组组合的Tokei中重复使用。
Tokei可在Mac , Linux和Windows上找到。有关如何在平台上获取Tokei的安装说明。
Tokei也是一个库,允许您轻松地将其与其他项目集成在一起。
Tokei带来和没有颜色。将ENV变量NO_COLOR设置为1,它将是黑色和白色。
# Alpine Linux (since 3.13)
apk add tokei
# 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
# NetBSD
pkgin install tokei
# Nix/NixOS
nix-env -i tokei
# OpenSUSE
sudo zypper install tokei
# Void Linux
sudo xbps-install tokei # Homebrew
brew install tokei
# MacPorts
sudo port selfupdate
sudo port install tokei # Winget
winget install XAMPPRocky.tokei
# Scoop
scoop install tokei您可以在“版本”部分下载预构建的二进制文件。
您也可以从源构建和安装(需要最新的稳定生锈编译器。)
cargo install --git https://github.com/XAMPPRocky/tokei.git tokei Tokei有一个配置文件,可让您更改默认行为。该文件可以命名为tokei.toml或.tokeirc 。目前,Tokei在三个不同的地方寻找此文件。当前目录,主目录和您的配置目录。
这是使用Tokei的基本方法。将在./foo和所有子文件夹中报告代码。
$ tokei ./foo要在同一呼叫中的多个文件夹上报告Tokei,只需添加一个逗号或一个空间,然后是另一个路径。
$ tokei ./foo ./bar ./baz$ tokei ./foo, ./bar, ./bazTokei将尊重所有.gitignore和.ignore文件,您可以使用--exclude选项来排除任何其他文件。 --exclude标志具有与.gitignore相同的语义。
$ tokei ./foo --exclude * .rs使用与.gitignore文件相同的语法,也可以在.tokeignore文件中列出排除路径。
默认情况下,tokei按语言名称按字母顺序排列,但是使用--sort tokei也可以按任何列进行排序。
blanks, code, comments, lines
$ tokei ./foo --sort code默认情况下,Tokei仅输出语言的总数,并且使用--files flag tokei也可以输出单个文件统计信息。
$ tokei ./foo --filesTokei通常会输出为终端设计的漂亮人类可读格式。还使用--output选项各种其他格式,这些格式对于将数据带入另一个程序更有用。
注意:此版本的Tokei是没有任何序列化格式的编译,以启用序列化,重新安装Tokei,并使用功能标志。
ALL:
cargo install tokei --features all
CBOR:
cargo install tokei --features cbor
YAML:
cargo install tokei --features yaml当前支持格式
--output json--output yaml--output cbor $ tokei ./foo --output jsonTokei还可以采用先前结果中添加的输出格式,以在其当前运行中。 Tokei可以采取通往文件的路径,将格式作为选项的值或从stdin传递。
$ tokei ./foo --input ./stats.json USAGE:
tokei [FLAGS] [OPTIONS] [--] [input]...
FLAGS:
-f, --files Will print out statistics on individual files.
-h, --help Prints help information
--hidden Count hidden files.
-l, --languages Prints out supported languages and their extensions.
--no-ignore Don't respect ignore files (.gitignore, .ignore, etc.). This implies --no-ignore-parent,
--no-ignore-dot, and --no-ignore-vcs.
--no-ignore-dot Don't respect .ignore and .tokeignore files, including those in parent directories.
--no-ignore-parent Don't respect ignore files (.gitignore, .ignore, etc.) in parent directories.
--no-ignore-vcs Don't respect VCS ignore files (.gitignore, .hgignore, etc.), including those in parent
directories.
-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:
-c, --columns <columns> Sets a strict column width of the output, only available for terminal output.
-e, --exclude <exclude>... Ignore all files & directories matching the pattern.
-i, --input <file_input> Gives statistics from a previous tokei run. Can be given a file path, or "stdin" to
read from stdin.
-o, --output <output> Outputs Tokei in a specific format. Compile with additional features for more format
support. [possible values: cbor, json, yaml]
-s, --sort <sort> Sort languages based on column [possible values: files, lines, blanks, code, comments]
-t, --type <types> Filters output by language type, separated by a comma. i.e. -t=Rust,Markdown
ARGS:
<input>... The path(s) to the file or directory to be counted.
Tokei支持徽章。例如 。
[](https://github.com/XAMPPRocky/tokei).
Tokei的URL方案如下。
https://tokei.rs/b1/{host: values: github|gitlab}/{Repo Owner eg: XAMPPRocky}/{Repo name eg: tokei}
默认情况下,徽章将显示回购的LOC(代码行),您还可以通过使用?category= Query String”指定它显示不同的类别。它可以是code , blanks , files , lines , comments ,示例显示总行:
[](https://github.com/XAMPPRocky/tokei).
在tokei.rs上托管的服务器代码在xampprocky/tokei_rs中
Tokei有一个基于alpine的Docker图像,可通过泥土构建:
earthly +docker构建后,可以使用以下方式运行图像
docker run --rm -v /path/to/analyze:/src tokei .或者,简单地分析当前文件夹(Linux):
docker run --rm -v $( pwd ) :/src tokei . 如果您要添加到Tokei的语言,请随意提出拉动请求。语言是用languages.json定义的。
Abap
ActionScript
Ada
Agda
Alex
Alloy
APL
Asn1
Asp
AspNet
Assembly
AssemblyGAS
ATS
Autoconf
AutoHotKey
Automake
AWK
Bash
Batch
Bazel
Bean
Bicep
Bitbake
BQN
BrightScript
C
Cabal
Cassius
Ceylon
CHeader
Cil
Clojure
ClojureC
ClojureScript
CMake
Cobol
CoffeeScript
Cogent
ColdFusion
ColdFusionScript
Coq
Cpp
CppHeader
Crystal
CSharp
CShell
Css
Cuda
CUE
Cython
D
D2
DAML
Dart
DeviceTree
Dhall
Dockerfile
DotNetResource
DreamMaker
Dust
Ebuild
EdgeDB
Edn
Elisp
Elixir
Elm
Elvish
EmacsDevEnv
Emojicode
Erlang
Factor
FEN
Fish
FlatBuffers
ForgeConfig
Forth
FortranLegacy
FortranModern
FreeMarker
FSharp
Fstar
GDB
GdScript
GdShader
Gherkin
Gleam
Glsl
Go
Graphql
Groovy
Gwion
Hamlet
Handlebars
Happy
Hare
Haskell
Haxe
Hcl
Hex
HiCAD
hledger
Hlsl
HolyC
Html
Hy
Idris
Ini
IntelHex
Isabelle
Jai
Janet
Java
JavaScript
Jq
Json
Jsx
Julia
Julius
Just
KakouneScript
Kotlin
Lean
Less
Lingua Franca
LinkerScript
Liquid
Lisp
LLVM
Logtalk
Lua
Lucius
Madlang
Max
Makefile
Markdown
Mdx
Meson
Mint
Mlatu
ModuleDef
MonkeyC
MoonScript
MsBuild
Mustache
Nim
Nix
NotQuitePerl
NuGetConfig
Nushell
ObjectiveC
ObjectiveCpp
OCaml
Odin
OpenSCAD
OpenQASM
Org
Oz
Pascal
Perl
Perl6
Pest
Phix
Php
Po
Poke
Polly
Pony
PostCss
PowerShell
Processing
Prolog
Protobuf
PRQL
PSL
PureScript
Pyret
Python
Qcl
Qml
R
Racket
Rakefile
Razor
Renpy
ReStructuredText
RON
RPMSpecfile
Ruby
RubyHtml
Rust
Sass
Scala
Scheme
Scons
Sh
ShaderLab
Slang
Sml
Solidity
SpecmanE
Spice
Sql
SRecode
Stata
Stratego
Svelte
Svg
Swift
Swig
SystemVerilog
Slint
Tact
Tcl
Templ
Tex
Text
Thrift
Toml
Tsx
Twig
TypeScript
UMPL
UnrealDeveloperMarkdown
UnrealPlugin
UnrealProject
UnrealScript
UnrealShader
UnrealShaderHeader
UrWeb
UrWebProject
Vala
VB6
VBScript
Velocity
Verilog
VerilogArgsFile
Vhdl
VimScript
VisualBasic
VisualStudioProject
VisualStudioSolution
Vue
WebAssembly
Wolfram
Xaml
XcodeConfig
Xml
XSL
Xtend
Yaml
ZenCode
Zig
ZoKrates
Zsh
这可能是由于gcc生成.d文件。直到DEPOY决定不同的文件扩展名之前,您始终可以使用-e --exclude flag排除.d文件。
$ tokei . -e *.d
此存储库的规范来源托管在GitHub上。如果您有一个GitHub帐户,请提出问题,并在此提取请求。
(c)Xampprocky和贡献者的版权2015
有关贡献者的完整列表,请参见图。
Tokei是根据MIT许可证和Apache许可证(2.0版)的条款分发的。
有关更多信息,请参见许可证,许可-MIT。