analyzing-code

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

tokei: Code Statistics Analysis

tokei:代码统计分析

Always invoke tokei skill for code statistics - do not execute bash commands directly.
Use tokei for fast, accurate code statistics across multiple languages and projects.
如需统计代码数据,请始终调用tokei技能——不要直接执行bash命令。
使用tokei可快速、精准地统计多语言、多项目的代码数据。

Default Strategy

默认策略

Invoke tokei skill for analyzing code statistics by language. Use when understanding project composition, measuring change impact before refactoring, or generating CI/CD metrics.
Common workflow: tokei skill → other skills (fd, jq, yq) for filtering or tokei skill after refactoring to measure impact.
调用tokei技能按语言分析代码统计数据。适用于了解项目构成、重构前衡量变更影响或生成CI/CD指标的场景。
常见工作流:tokei技能 → 其他技能(fd、jq、yq)用于筛选,或重构后调用tokei技能衡量变更影响。

Key Options

核心选项

Basic Output Control

基础输出控制

  • -f/--files
    show individual file statistics
  • -l/--languages
    list supported languages and extensions
  • -v/--verbose
    show unknown file extensions (1-3)
  • -V/--version
    show version information
  • --hidden
    include hidden files
  • -c/--columns N
    set strict column width
  • -f/--files
    显示单个文件的统计数据
  • -l/--languages
    列出支持的语言及文件扩展名
  • -v/--verbose
    显示未知文件扩展名(1-3级)
  • -V/--version
    显示版本信息
  • --hidden
    包含隐藏文件
  • -c/--columns N
    设置固定列宽

Filtering & Exclusion

筛选与排除

  • -t/--type TYPES
    filter by language types (comma-separated)
  • -e/--exclude PATTERNS
    exclude files/dirs (gitignore syntax)
  • --no-ignore
    don't respect ignore files
    • --no-ignore-dot
      don't respect .ignore/.tokeignore
    • --no-ignore-vcs
      don't respect VCS ignore files
    • --no-ignore-parent
      don't respect parent ignore files
  • -t/--type TYPES
    按语言类型筛选(多类型用逗号分隔)
  • -e/--exclude PATTERNS
    排除指定文件/目录(采用gitignore语法)
  • --no-ignore
    忽略所有忽略文件
    • --no-ignore-dot
      忽略.ignore/.tokeignore文件
    • --no-ignore-vcs
      忽略版本控制系统的忽略文件
    • --no-ignore-parent
      忽略父目录的忽略文件

Output Formats

输出格式

  • -o/--output FORMAT
    output format (json|yaml|cbor)
    • Requires compilation with features:
      cargo install tokei --features all
  • -i/--input FILE
    read from previous tokei run or stdin
  • -o/--output FORMAT
    指定输出格式(json|yaml|cbor)
    • 需编译对应特性:
      cargo install tokei --features all
  • -i/--input FILE
    从之前的tokei运行结果或标准输入读取数据

Sorting Options

排序选项

  • -s/--sort COLUMN
    sort by column
    • Possible values:
      files|lines|blanks|code|comments
  • -s/--sort COLUMN
    按指定列排序
    • 可选列:
      files|lines|blanks|code|comments

When to Use

使用场景

  • Project Analysis: Get comprehensive code statistics for entire codebase
  • Language Breakdown: Understand project composition by language
  • CI/CD Integration: Export metrics for build processes
  • Code Auditing: Identify file types and their distributions
  • Performance Monitoring: Track code growth over time
  • 项目分析:获取整个代码库的全面代码统计数据
  • 语言分布分析:按语言维度了解项目构成
  • CI/CD集成:导出指标用于构建流程
  • 代码审计:识别文件类型及其分布情况
  • 性能监控:跟踪代码随时间的增长情况

Core Principles

核心特性

  1. Speed: Optimized to count millions of lines in seconds
  2. Accuracy: Correctly handles nested comments, multi-line strings
  3. Language Coverage: Supports 150+ programming languages
  4. Flexibility: Multiple output formats for integration
  1. 速度快:经过优化,可在数秒内完成数百万行代码的统计
  2. 精度高:可正确处理嵌套注释、多行字符串
  3. 语言覆盖广:支持150+种编程语言
  4. 灵活性强:支持多种输出格式以适配集成需求

Detailed Reference

详细参考文档

For comprehensive usage patterns, output formats, language filtering, and integration examples, load tokei guide when needing:
  • Advanced language filtering and exclusion
  • JSON/YAML output processing
  • CI/CD integration patterns
  • Docker usage examples
  • Performance tuning for large codebases
The guide includes:
  • Basic usage and output control options
  • Language filtering and exclusion patterns
  • Output format configuration (JSON, YAML, CBOR)
  • Performance tips for large codebases
  • Docker usage and CI/CD integration
  • Configuration files and environment variables
如需了解完整的使用模式、输出格式、语言筛选及集成示例,可加载tokei指南,适用于以下场景:
  • 高级语言筛选与排除配置
  • JSON/YAML输出结果处理
  • CI/CD集成模式
  • Docker使用示例
  • 大型代码库的性能调优
该指南包含以下内容:
  • 基础用法与输出控制选项
  • 语言筛选与排除规则
  • 输出格式配置(JSON、YAML、CBOR)
  • 大型代码库的性能优化技巧
  • Docker使用与CI/CD集成方案
  • 配置文件与环境变量说明

Skill Combinations

技能组合

For Discovery Phase

发现阶段

  • fd → tokei: Analyze specific file types or directories
  • extracting-code-structure → tokei: Get statistics for specific code components
  • git diff → tokei: Analyze changed files statistics
  • fd → tokei:分析特定文件类型或目录的代码数据
  • extracting-code-structure → tokei:获取特定代码组件的统计数据
  • git diff → tokei:分析变更文件的统计数据

For Analysis Phase

分析阶段

  • tokei → jq/yq: Parse statistics output for reports
  • tokei → fzf: Interactive selection from language breakdown
  • tokei → bat: View statistics with formatted output
  • tokei → jq/yq:解析统计输出以生成报告
  • tokei → fzf:基于语言分布进行交互式选择
  • tokei → bat:查看格式化后的统计输出

For Refactoring Phase

重构阶段

  • tokei → replacing-text: Update configuration based on code statistics
  • analyzing-code-structure → tokei: Measure impact of structural changes
  • tokei → searching-text: Find files contributing to specific language statistics
  • tokei → replacing-text:根据代码统计数据更新配置
  • analyzing-code-structure → tokei:衡量代码结构变更的影响
  • tokei → searching-text:查找对特定语言统计数据有贡献的文件

Multi-Skill Workflows

多技能工作流

  • tokei → fd → searching-text → analyzing-code-structure: Statistics-driven refactoring pipeline
  • tokei → jq → fzf: Interactive language-based file selection
  • git workflow: git diff → tokei → fd → bat (analyze changes, select files, preview)
  • tokei → fd → searching-text → analyzing-code-structure:基于统计数据的重构流程
  • tokei → jq → fzf:基于语言的交互式文件选择
  • Git工作流:git diff → tokei → fd → bat(分析变更、选择文件、预览内容)

Integration Examples

集成示例

bash
undefined
bash
undefined

Get language breakdown and filter for top languages

Get language breakdown and filter for top languages

tokei -o json | jq '.data | to_entries | sort_by(.value.stats.code) | reverse | .[0:5] | .[].key'
tokei -o json | jq '.data | to_entries | sort_by(.value.stats.code) | reverse | .[0:5] | .[].key'

Analyze changes after refactoring

Analyze changes after refactoring

git diff --name-only | xargs tokei --files
git diff --name-only | xargs tokei --files

Find and analyze specific components

Find and analyze specific components

fd -e py src/components | xargs tokei -t Python
undefined
fd -e py src/components | xargs tokei -t Python
undefined