GitBlms is a VS Code extension that brings a GoLand-style inline Git blame experience into the editor.
- Repository: https://github.com/gee-coder/git-blms.git
- Issues: https://github.com/gee-coder/git-blms/issues
- GoLand-inspired left-side blame column with stable layout
- Age-based color buckets that make new and old code easy to scan at a glance
- Hover details for author, commit time, hash, and summary
git blame --contents -support for unsaved editor content- Dedicated configurable style for uncommitted lines
- Optional current-author highlight color that keeps age buckets but uses your own accent palette
- Built-in Chinese and English runtime text, plus a custom extension icon
- Gutter color indicators that show on each wrapped line for visual continuity with word wrap enabled
- Dynamic username width with configurable maximum annotation width
- Stable left-side blame column that shows date and author per line
- Bucketed age colors that emphasize visual contrast instead of a simple alpha fade
- Gutter color indicators that show on each wrapped line for visual continuity with word wrap enabled
- Hover-only commit details on the blame area to avoid blocking the code editor
- Large-file guardrails and blame caching to reduce performance cost
- Configurable maximum annotation width for compact blame layout
- Install the extension from the packaged
.vsixfile or your release artifact. - Open a Git-managed workspace in VS Code.
- Run
Git: Toggle Inline Git Blamefrom the command palette.
Default keybinding:
- Windows / Linux:
Ctrl+Alt+B - macOS:
Cmd+Alt+B
Git: Toggle Inline Git BlameGit: Show Inline Git BlameGit: Hide Inline Git BlameGit: Open Commit Details
| Setting | Default | Description |
|---|---|---|
git-blms.enabled |
false |
Enables inline blame annotations globally |
git-blms.colorScheme |
"blue" |
Annotation palette: blue, green, purple |
git-blms.dateFormat |
"absolute" |
relative or absolute timestamp display |
git-blms.maxLineCount |
5000 |
Skip blame rendering for very large files |
git-blms.cacheTimeout |
60000 |
Blame cache lifetime in milliseconds |
git-blms.maxAnnotationWidth |
22 |
Maximum total width of the annotation (time + separator + username). Time uses 10 display width, separator uses 2. Username uses the remaining space dynamically. |
git-blms.uncommittedColor |
"#2ea043" |
Color for uncommitted lines. Use hex to get a picker or inline preview in Settings |
git-blms.highlightCurrentAuthor |
false |
Highlights lines authored by the current Git user with a separate accent color |
git-blms.currentAuthorColor |
"#d97706" |
Accent color for current-user committed lines. Use hex to get a picker or inline preview in Settings |
git-blms.language |
"auto" |
UI language: auto, zh-CN, en |
VS Code decorations can render a stable info column before code and provide hover details, but they cannot fully reproduce GoLand's clickable gutter text. Easy Git therefore takes the closest practical approach:
- A fixed blame column before code
- Time-bucketed colors with stronger contrast
- Commit actions through hover links and the command palette
npm install
npm run compile
npm testPress F5 to launch the extension development host.
The repo includes a PowerShell helper script for Open VSX publishing:
npm run package:vsix
npm run publish:openvsxIf you need to create the publisher namespace first:
npm run publish:openvsx:namespaceThe script reads the token from OPENVSX_TOKEN or OVSX_PAT, and it also supports passing -Token manually to ./scripts/publish-openvsx.ps1.
The repository includes an automated Open VSX workflow at .github/workflows/publish-openvsx.yml.
- Trigger: pushing a tag like
v1.0.1 - Manual trigger: GitHub Actions
workflow_dispatch - Required secret:
OPENVSX_TOKEN
Once OPENVSX_TOKEN is configured in the repository secrets, pushing a new version tag will automatically lint, test, package, and publish the extension to Open VSX.
