π Instant git blame information on hover - lightweight, zero-config, with smart tooltips
Unlike other git blame extensions that clutter your status bar or add inline annotations, Git Blame Hover provides blame information exactly when and where you need it - on hover.
| Git Blame Hover β¨ | Other Extensions π |
|---|---|
| π― Hover-based - Info appears only when needed | π Status bar clutter - Always visible |
| π« Zero UI clutter - No persistent visual elements | π Inline annotations - Text everywhere |
| β‘ Performance optimized - Smart caching & debouncing | π Continuous processing - CPU intensive |
| π¨ Smart tooltips - Rich formatting with emojis | π Plain text - Basic information |
| βοΈ Fully configurable - Show exactly what you want | π Fixed format - Limited customization |
- Non-intrusive: Information appears only when you hover over a line
- Context-aware: Shows relevant details exactly where your cursor is
- Clean workspace: No permanent UI elements cluttering your editor
- Smart debouncing: Prevents excessive git calls during rapid mouse movement
- Intelligent caching: Reuses blame data for better performance
- Cancellation support: Respects VS Code's cancellation tokens
- Visual formatting: Uses emojis and markdown for better readability
- Relative time: Shows "2 hours ago" instead of cryptic timestamps
- Platform detection: Identifies GitHub, GitLab, Bitbucket, Azure Repos
- Error handling: Clear, user-friendly error messages
- Selective display: Choose exactly what information to show
- Custom formatting: Control tooltip appearance and content
- Performance tuning: Adjust hover delays and message lengths
- Quick toggle: Enable/disable with status bar button
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X) - Search for "Git Blame Hover"
- Click Install
- Open any file in a git repository
- Hover over any line of code
- See instant blame info in a beautiful tooltip!
That's it! No configuration required. π
When you hover over line 42:
βββββββββββββββββββββββββββββββββββββββββββ
β π€ Author: John Doe β
β π
Date: 2 hours ago β
β π Message: Fix authentication bug β
β #οΈβ£ Commit: a1b2c3d β
β π Platform: GitHub β
βββββββββββββββββββββββββββββββββββββββββββ
For non-git files:
βββββββββββββββββββββββββββββββββββββββββββ
β β οΈ Error: Not a git repository β
βββββββββββββββββββββββββββββββββββββββββββ
Bottom right corner: [$(git-commit) Blame: On]
Click to toggle On/Off
| Setting | Default | Description |
|---|---|---|
gitBlameHover.enable |
true |
Enable/disable the extension |
gitBlameHover.showRelativeTime |
true |
Show "2 hours ago" vs "1/8/2026" |
gitBlameHover.hoverDelay |
200 |
Delay before tooltip appears (ms) |
| Setting | Default | Description |
|---|---|---|
gitBlameHover.showAuthor |
true |
Show π€ author name |
gitBlameHover.showDate |
true |
Show π commit date |
gitBlameHover.showMessage |
true |
Show π commit message |
gitBlameHover.showCommitId |
true |
Show #οΈβ£ commit hash |
gitBlameHover.showPlatform |
true |
Show π platform info |
gitBlameHover.maxCommitMessageLength |
100 |
Max message length (0 = no limit) |
{
"gitBlameHover.enable": true,
"gitBlameHover.showRelativeTime": true,
"gitBlameHover.hoverDelay": 150,
"gitBlameHover.showAuthor": true,
"gitBlameHover.showDate": true,
"gitBlameHover.showMessage": true,
"gitBlameHover.showCommitId": false,
"gitBlameHover.showPlatform": false,
"gitBlameHover.maxCommitMessageLength": 80
}{
"gitBlameHover.showMessage": false,
"gitBlameHover.showCommitId": false,
"gitBlameHover.showPlatform": false
}{
"gitBlameHover.showRelativeTime": false,
"gitBlameHover.maxCommitMessageLength": 0,
"gitBlameHover.hoverDelay": 100
}{
"gitBlameHover.hoverDelay": 500,
"gitBlameHover.maxCommitMessageLength": 50
}| Command | Keybinding | Description |
|---|---|---|
Git Blame Hover: Toggle Enable/Disable |
None | Toggle extension on/off |
Access via:
- Command Palette (
Ctrl+Shift+P) - Status bar button click
Cause: Git is not installed or not in system PATH Solution:
- Install Git from git-scm.com
- Restart VS Code
- Verify with
git --versionin terminal
Cause: File is not in a git repository
Solution: Initialize git in your folder: git init
Possible causes:
- Extension is disabled - Check status bar or settings
- File is not git-tracked - Add file to git:
git add filename - Hover delay is too high - Reduce
hoverDelaysetting
Solutions:
- Increase
hoverDelayto 300-500ms - Reduce
maxCommitMessageLengthto 50-80 - Disable less important info (platform, commit ID)
- Check extension is enabled in status bar
- Open Developer Tools (
Help > Toggle Developer Tools) - Look for error messages in Console tab
- Try toggling extension off/on
{
"gitBlameHover.hoverDelay": 300,
"gitBlameHover.maxCommitMessageLength": 60,
"gitBlameHover.showPlatform": false
}{
"gitBlameHover.hoverDelay": 500,
"gitBlameHover.showMessage": false,
"gitBlameHover.showPlatform": false
}A: The popular extension shows blame info in the status bar and inline. Git Blame Hover shows info only when you hover, keeping your workspace clean.
A: Yes! Detects GitHub, GitLab, Bitbucket, Azure Repos, and shows "Local/Other" for custom setups.
A: No! It uses smart debouncing and caching. Git commands only run when you actually hover over lines.
A: Yes! This extension doesn't conflict with others since it only uses hover events.
A: Shows "You" as author, "just now" as time, and "Uncommitted changes" as message.
| Platform | Status | URL Format |
|---|---|---|
| π GitHub | β Full support | github.com |
| π¦ GitLab | β Full support | gitlab.com |
| πͺ£ Bitbucket | β Full support | bitbucket.org |
| π΅ Azure Repos | β Full support | dev.azure.com, visualstudio.com |
| π Self-hosted | β Basic support | Shows as "Local/Other" |
- VS Code: Version 1.90.0 or higher
- Git: Must be installed and available in PATH
- Repository: Must be a valid git repository
- Large files: Very large files (>10MB) may have slower git blame performance
- Binary files: No blame information for binary files
- Merge conflicts: Limited info during active merge conflicts
- Shallow clones: May show incomplete history information
- β¨ Added relative time display ("2 hours ago")
- β‘ Implemented hover debouncing for better performance
- π οΈ Improved error messages and handling
- βοΈ Added configurable tooltip format options
- π¨ Enhanced tooltip formatting with emojis
- π Fixed platform detection issues
- π Updated documentation
- π Initial release
- β¨ Basic hover functionality
- π― Status bar toggle
We welcome contributions! Here's how you can help:
Found a bug? Create an issue with:
- Steps to reproduce
- Expected vs actual behavior
- VS Code version & OS
Have an idea? Open a feature request with:
- Detailed description
- Use case examples
- Mockups if applicable
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to the VS Code team for the excellent extension API
- Inspired by the need for cleaner git blame UX
- Community feedback and feature requests
- π Issues: GitHub Issues
Developed by Canarys Automations
If you find this extension helpful, please β star the repository and leave a review on the marketplace!