Repo Stats

Visualize your repository statistics directly in VS Code with interactive dashboards, charts, and treemaps. Get insights into contributor activity, code frequency, and codebase structure at a glance.
Usage
- Open a folder containing a Git repository
- Run the command Repo Stats: Show Dashboard from the Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
- Or click the Repo Stats button in the status bar
Results are cached based on the current Git HEAD, so subsequent opens are instant.
| Command |
Description |
Repo Stats: Show Dashboard |
Open the statistics dashboard |
Repo Stats: Refresh |
Clear cache and re-analyze |
Screenshots
Overview Dashboard
|
Contributors Panel
|
Code Frequency
|
Repository Treemap
|
Features
Overview Dashboard
- Total files, lines of code, and language distribution
- Donut charts for LOC by language and files by type
- Largest files in the codebase (excluding generated)
- Generated file and binary file detection
Contributors Dashboard
- Commits over time chart (weekly/monthly granularity)
- Lines added and deleted per contributor
- Interactive time range slider with activity preview
- Per-contributor sparkline charts
Code Frequency
- Stacked bar chart showing additions/deletions over time
- Summary cards with total additions, deletions, and net change
- Weekly or monthly granularity toggle
Repository Treemap
- WizTree-inspired design with nested hierarchy and vignette shading
- Color modes: By language (GitHub Linguist colors) or by file age (heat map)
- Size modes: Lines of code, file size in bytes, or file count
- Adjustable nesting depth (1-10 levels)
- Smart filtering: Presets for All, No Binary, Code Only, or custom language selection
- Rich interactions: Click to drill down, double-click to open files, right-click context menu
- Keyboard navigation: Escape to clear selection, Backspace to go up
Settings Panel
Configure exclude patterns, generated file patterns, binary extensions, max commits to analyze, and default color mode.
Installation
From VS Code Marketplace
- Open VS Code
- Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
- Search for "Repo Stats"
- Click Install
From VSIX
- Download the
.vsix file from Releases
- In VS Code, open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
- Run
Extensions: Install from VSIX...
- Select the downloaded file
Requirements
- VS Code 1.85.0 or higher
- Git must be installed and available in PATH
- scc (Sloc Cloc and Code) - automatically downloaded if not found in PATH
About scc
This extension uses scc for accurate lines-of-code counting. It's a fast, accurate code counter that supports 200+ languages.
- If
scc is in your PATH, the extension uses it directly
- If not found, the extension automatically downloads the appropriate binary for your platform
- Supported platforms: Windows (x64, arm64), macOS (x64, arm64), Linux (x64, arm64)
Extension Settings
| Setting |
Default |
Description |
repoStats.excludePatterns |
[] |
Additional directories to exclude beyond .gitignore |
repoStats.maxCommitsToAnalyze |
10000 |
Maximum commits to analyze (for performance) |
repoStats.defaultColorMode |
"language" |
Default treemap color mode (language or age) |
repoStats.showEmptyTimePeriods |
true |
Show weeks/months with no activity in charts |
repoStats.generatedPatterns |
See below |
Glob patterns to identify generated files |
repoStats.binaryExtensions |
See below |
File extensions considered as binary |
Default Generated Patterns
[
"**/generated/**", "**/gen/**", "**/__generated__/**",
"**/dist/**", "**/build/**", "**/*.generated.*",
"**/*.min.js", "**/*.min.css", "**/package-lock.json", "..."
]
Default Binary Extensions
[".png", ".jpg", ".gif", ".mp4", ".mp3", ".ttf", ".woff2", ".zip", ".exe", ".pdf", "..."]
Repo Stats is designed to handle large repositories efficiently:
- Caching: Results cached by Git HEAD SHA - instant reload if no new commits
- Progress reporting: Visual feedback during analysis
- Commit limits: Configurable maximum commits to analyze
- Canvas rendering: Treemap uses HTML5 Canvas for smooth performance with 50K+ files
For very large repositories, consider reducing maxCommitsToAnalyze or adding exclude patterns for large vendored directories.
Known Issues
- Large monorepos: First analysis may take longer; subsequent loads are cached
- Submodules: Automatically detected and excluded from analysis
- Binary files: Shown in treemap with 0 LOC; use "Size (Bytes)" mode to see their actual size
Contributing
Contributions are welcome! Please see the GitHub repository for:
- Issue tracker
- Development setup instructions
- Contribution guidelines
Development
# Clone and install
git clone https://github.com/guwidoe/vscode-repo-stats.git
cd vscode-repo-stats
npm install && cd webview-ui && npm install && cd ..
# Build / Watch / Test / Package
npm run build
npm run watch
npm run test
npm run package
Release Notes
1.0.0
First stable release!
- Show Empty Time Periods: Charts now display weeks/months with no activity by default, showing the true timeline with gaps. Toggle in Settings to hide empty periods.
- Improved Chart Zoom: Removed ability to zoom out beyond 100% for better UX
- Full feature set: Overview, Contributors, Code Frequency, Treemap, and Settings panels
- Auto-download scc: Binary automatically downloaded if not in PATH
- Smart caching: Results cached by Git HEAD SHA
0.0.1
Initial release with Overview, Contributors, Code Frequency, Treemap, and Settings panels.
License
MIT
Enjoy! If you find this extension useful, please consider leaving a review or starring the repository.