Công cụ đếm dòng mã nguồn hiệu quả

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.zip từ trang Releases: https://github.com/XAMPPRocky/tokei/releases
  • Giải nén và thêm đường dẫn chứa tokei.exe và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ý

  1. 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.
  2. 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"
    
  3. Hiệu suất xử lý chậm: Luôn sử dụng --exclude để loại bỏ thư mục như node_modules, vendor, target nhằm tránh phân tích các thư viện bên thứ ba.
  4. 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.

Thẻ: tokei code-analysis Rust source-code development-tools

Đăng vào ngày 10 tháng 6 lúc 18:44