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.
- 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 |
Overview Dashboard |
Contributors Panel |
Code Frequency |
Repository Treemap |
- 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
- Commits over time chart (weekly/monthly granularity)
- Lines added and deleted per contributor
- Interactive time range slider with activity preview
- Per-contributor sparkline charts
- Stacked bar chart showing additions/deletions over time
- Summary cards with total additions, deletions, and net change
- Weekly or monthly granularity toggle
- 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
Configure exclude patterns, generated file patterns, binary extensions, max commits to analyze, and default color mode.
- Open VS Code
- Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
- Search for "Repo Stats"
- Click Install
- Download the
.vsixfile from Releases - In VS Code, open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
- Run
Extensions: Install from VSIX... - Select the downloaded file
- 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
This extension uses scc for accurate lines-of-code counting. It's a fast, accurate code counter that supports 200+ languages.
- If
sccis 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)
| 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.
- 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
Contributions are welcome! Please see the GitHub repository for:
- Issue tracker
- Development setup instructions
- Contribution guidelines
# 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 packageFirst 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
Initial release with Overview, Contributors, Code Frequency, Treemap, and Settings panels.
Enjoy! If you find this extension useful, please consider leaving a review or starring the repository.



