Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Git HeatmapNew to Visual Studio Code? Get it now.
Git Heatmap

Git Heatmap

Infinite Echo

|
250 installs
| (1) | Free
Visualize local Git activity with a GitHub-style heatmap inside VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Git Heatmap (VS Code Extension)

Git Heatmap surfaces a GitHub-style contribution calendar directly inside Visual Studio Code by scanning local Git repositories. The extension runs fully offline, aggregates commit counts per day, and renders an interactive heatmap so you can review activity without leaving the editor.

Highlights

Main Interface Git Heatmap main interface - GitHub-style contribution calendar

Multiple Color Schemes Multiple color schemes available

Multiple Date Range Options Flexible date range selection: choose from the last month, quarter, half-year, or full year to suit different analysis needs

Status Bar Activity Status bar showing last 7 days of Git activity

  • Local & private: data stays on your machine; no network requests.
  • Multi-repo workspace: auto-discovers repositories (including nested repos).
  • Interactive heatmap: GitHub-style calendar with summary and recent commits.
  • Daily commit details: click any cell to view the newest 200 commits for that day, with the complete daily total and repository info.
  • Export capabilities: save your contribution calendar as SVG or PNG for sharing.
  • Flexible filters: time range (month/quarter/half-year/year), user (current/all/custom email), include merges, date source (author/committer), color schemes.
  • Accessibility: colorblind-friendly palette and internationalization support (English/简体中文).
  • Gamification: achievement notifications to celebrate your coding milestones! 🎉
  • Sticky preferences: your filters are saved and restored; reset anytime via Git Heatmap: Reset Filter Settings.
  • Status bar activity: shows last 7 days (Today/Week); click to open the panel quickly.
  • Performance-first: Git output is streamed, UI payloads are bounded, and the in-memory LRU cache is limited to 8 entries with a 5-minute TTL.

Safe Upgrade in v0.0.7

Versions before v0.0.7 could accumulate generated heatmap results in VS Code extension state, eventually growing beyond 100 MB. On first activation, v0.0.7 automatically removes only the obsolete heatmap_ cache entries before starting background work. Saved filters, achievement progress, and other extension state are preserved.

Generated Git history is no longer persisted in VS Code state. The heatmap retains at most 50 recent commits for display, daily detail requests retain at most 200 commits while reporting the full count, and the status bar uses a dedicated seven-day count query.

Commands

  • Git Heatmap: Show – open the heatmap panel.
  • Git Heatmap: Refresh – trigger a data refresh (opens the panel if closed).
  • Git Heatmap: Select Repositories – placeholder for future custom scope selection.
  • Git Heatmap: Reset Filter Settings – reset filters to defaults.
  • Git Heatmap: Export as SVG – export your contribution calendar as SVG file.
  • Git Heatmap: Export as PNG – export your contribution calendar as PNG image.

Configuration

Filter Panel Flexible filter options - time range, user filtering, advanced settings

VS Code Settings Configuration options in VS Code settings panel

  • gitHeatmap.scanMode (workspace | customPaths) – repository discovery strategy (defaults to workspace).
  • gitHeatmap.customPaths – additional folders to include when scanMode is customPaths.
  • gitHeatmap.metric (commits default) – statistic to visualize.
  • gitHeatmap.colorScheme (github default) – heatmap palette.
  • gitHeatmap.includeMerges (default false) – include merge commits.
  • gitHeatmap.dateSource (committer default) – which date field to aggregate.
  • gitHeatmap.statusBar.enabled (default true) – show last-7-days activity indicator in the status bar.
  • gitHeatmap.statusBar.updateInterval (default 300000 ms) – status bar refresh interval.
  • gitHeatmap.statusBar.displayMode (today | week, default week) – status bar display mode.
  • gitHeatmap.statusBar.showAchievements (default true) – show encouraging notifications when reaching new activity levels.
  • gitHeatmap.language (auto | en | zh-CN, default auto) – UI language preference.

What's New in v0.0.7

  • Automatic storage repair: removes obsolete generated heatmap cache entries during upgrade without deleting user preferences.
  • Bounded data pipeline: streams git log output with concurrency, timeout, cancellation, and field-size limits.
  • Stable memory cache: semantic query keys, single-flight request reuse, and an 8-entry LRU/TTL bound prevent refresh-driven growth.
  • Lightweight status bar: collects only seven days of counts and merges overlapping refreshes.
  • Bounded Webview messages: sends 366 daily cells, 50 recent commits, or 200 selected-day details at most; stale requests cannot overwrite newer results.

What's New in v0.0.5

  • 🎯 Daily Commit Details Panel: Click any heatmap cell to view detailed commit information for that day, including commit messages, authors, and repositories.
  • 📤 Export Functionality: Export your contribution calendar as SVG or PNG files to share your coding journey.
  • 🎨 Colorblind-Friendly Palette: New colorblind color scheme using orange gradients for better accessibility.
  • 🌐 Internationalization: Full support for English and Simplified Chinese (简体中文), with auto-detection based on VS Code language.
  • 🏆 Achievement System: Celebrate your coding milestones with encouraging notifications when you reach new activity levels.
  • 🐛 Bug Fixes: Various stability improvements and performance optimizations.

License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).

This means:

  • ✅ You can freely use, modify, and distribute this software.
  • ✅ If you distribute modified versions, you must also make your source code available under GPL-3.0.
  • ✅ You must retain copyright and license notices.
  • ❌ You cannot distribute modified versions under a proprietary license.

For the full license text, see the LICENSE.md file or visit https://www.gnu.org/licenses/gpl-3.0.html.

Development

  1. Install dependencies: npm install.
  2. Run unit tests: npm test.
  3. Compile: npm run compile (emits JS into out/).
  4. Launch the extension host from VS Code (F5).

Contributing

Contributions are welcome! Please note that any contributions will be licensed under GPL-3.0. By submitting a pull request, you agree to license your contribution under the same terms.

Support

If you encounter any issues or have feature requests, please file them in the GitHub Issues.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft