我們如何快速統計代碼行數?
大家好,我是了不起。
今天給大家介紹一個特別好用的工具——tokei ,這是是一個用 Rust 編寫的開源工具,用于統計代碼工程中的代碼行數、注釋、空行數和文件數等信息。
它支持非常多的編程語言,并以漂亮的 CLI 表格或多種格式輸出。
一、Tokei 是什么?
Tokei 是類似 cloc 的代碼統計工具,可以快速統計一個項目中:
- 總行數
- 空行數
- 注釋行數
- 代碼行數
- 每種語言的占比
官網 GitHub 地址:https://github.com/XAMPPRocky/tokei
?? 二、安裝方式
? 1. 用 Cargo 安裝(推薦)
cargo install tokei
? 2. Mac(使用 Homebrew)
brew install tokei
? 3. Windows(使用 Scoop)
scoop install tokei
? 4. Linux(用包管理器或 cargo)
例如:
sudo apt install tokei # Ubuntu/Debian(如果源中有)
三、基本用法
? 1. 統計當前目錄
tokei
輸出示例:
===============================================================================
Language Files Lines Code Comments Blanks
===============================================================================
JSON 1 191 191 0 0
TOML 1 12 11 0 1
-------------------------------------------------------------------------------
Rust 4 83 76 0 7
|- Markdown 1 2 0 2 0
(Total) 85 76 2 7
===============================================================================
Total 6 286 278 0 8
===============================================================================
2. 統計指定文件/目錄
tokei src/ lib.rs
四、常用參數詳解
參數 | 說明 |
| 顯示每個文件的詳細統計 |
| 排除指定文件或目錄(支持通配符) |
| 只統計指定路徑 |
| 只統計某種語言(如 |
`--output json | toml |
`--sort code | lines |
| 忽略 |
| 包括隱藏文件和目錄(如 |
五、進階示例
1. 排除某些目錄(比如 target)
tokei --exclude target,node_modules,tests
2. 輸出為 JSON(用于腳本分析)
tokei --output json > stats.json
3. 只查看 Rust 和 Python 的代碼統計
tokei --type Rust --type Python
4. 顯示每個文件的統計詳情
tokei --files
六、和其他工具對比
工具 | 特點 |
| Perl 寫的,廣泛使用,跨平臺 |
| Rust 寫的,性能更快,格式更豐富 |
| Go 寫的,支持多核并行,速度最快 |
七、tokei 支持的語言
tokei 支持超過 150 種編程語言,包括但不限于:
- Rust
- C/C++
- Java
- Python
- Go
- JavaScript / TypeScript
- Markdown / HTML / CSS
- Bash / Shell / PowerShell
- YAML / TOML / JSON