tokei là một công cụ mã nguồn mở hỗ trợ đa nền tảng, được viết bằng Rust, có khả năng phân tích và thống kê dòng trống, dòng chú thích, dòng mã thực thi. Công cụ này hỗ trợ hơn 200 ngôn ngữ lập trình khác nhau, cho phép quét thư mục đệ quy, loại bỏ các thư mục hoặc phần mở rộng cụ thể, đồng thời xuất kết quả phân loại theo từng ngôn ngữ.
1. Cài đặt (Windows/Linux/macOS)
Windows (3 cách)
1. Scoop (khuyến nghị)
scoop install tokei
2. Chocolatey
choco install tokei
3. Tải thủ công (phiên bản portable, không phụ thuộc)
- Tải file
tokei-x.x.x-x86_64-pc-windows-msvc.ziptừ trang Releases: https://github.com/XAMPPRocky/tokei/releases - Giải nén và thêm đường dẫn chứa
tokei.exevào biến môi trường PATH.
Linux
# Ubuntu/Debian
curl -fsSL https://github.com/XAMPPRocky/tokei/releases/latest/download/tokei-x86_64-unknown-linux-musl.tar.gz | tar xz
sudo install tokei /usr/local/bin
# Arch Linux
sudo pacman -S tokei
# Sử dụng Cargo (cần cài Rust trước)
cargo install tokei
macOS
# Homebrew (khuyến nghị)
brew install tokei
# MacPorts
sudo port install tokei
Kiểm tra cài đặt
tokei --version
2. Cách sử dụng cơ bản (lệnh thường dùng)
1. Phân tích thư mục hiện tại (quét đệ quy)
tokei .
Ví dụ đầu ra:
===============================================================================
Language Files Lines Code Comments Blanks
===============================================================================
C# 256 456789 345678 45678 65433
TypeScript 89 89012 78901 5678 4433
JavaScript 156 67890 56789 6789 4312
Python 45 23456 20123 1567 1766
HTML 78 34567 30123 890 3554
CSS 34 12345 9876 234 2235
JSON 23 4567 4567 0 0
SQL 12 15678 14567 890 221
Markdown 31 2345 2345 0 0
XML 18 6789 5678 456 655
-------------------------------------------------------------------------------
Total 602 616738 470084 59980 86674
===============================================================================
2. Loại trừ thư mục (bắt buộc! ví dụ node_modules, dist)
tokei . --exclude node_modules dist build target .git
3. Chỉ phân tích ngôn ngữ cụ thể
tokei . --type Rust,Python,JavaScript
4. Hiển thị chi tiết theo từng file
tokei src/ --files
5. Xuất định dạng JSON/XML (cho báo cáo)
# JSON
tokei . --output json > analysis.json
# Markdown
tokei . --output markdown > summary.md
6. Chỉ phân tích các file trong Git
tokei --vcs git
3. Vấn đề thường gặp và cách xử lý
- Không dùng cargo install tokei nếu chưa cài Rust: Việc cài đặt sẽ mất nhiều thời gian và yêu cầu môi trường phát triển Rust hoàn chỉnh.
- Mã hóa tiếng Việt trên Windows: Thiết lập biến môi trường trước khi chạy:
$env:TOKEI_ENCODING="UTF-8" - Hiệu suất xử lý chậm: Luôn sử dụng
--excludeđể loại bỏ thư mục nhưnode_modules,vendor,targetnhằm tránh phân tích các thư viện bên thứ ba. - Xem danh sách ngôn ngữ hỗ trợ:
tokei --languages
4. Tổng kết
tokei là công cụ phân tích mã nguồn nhẹ, nhanh, không phụ thuộc với độ chính xác cao. Các lệnh chính chỉ gồm 3 bước: cài đặt → phân tích cơ bản → loại trừ thư mục không cần thiết. Phù hợp cho cả dự án frontend, backend, mobile để đánh giá quy mô mã nguồn, quản lý công nghệ kỹ thuật, và phân tích hiệu suất nhóm phát triển.