Git Blame Column
Git Blame Column adds an IDE-style Git blame column to VS Code editors.
Usage
- Open a file inside a Git repository.
- Right-click in the editor, editor tab, or Explorer file and run
Toggle Blame File.
- Hover a blame annotation to inspect summary information.
- Click a blame annotation to open
Show Blame Details.
- Right-click a line number and run
Show Blame Details when you prefer the context menu.
- Use
Copy Commit Hash from the hover, line-number menu, details tree, or command palette to copy the current line commit.
The blame column is rendered with VS Code decorations, so it appears before the line text rather than as a true custom editor gutter. VS Code does not expose a stable API for adding an independent text gutter.
VS Code also does not expose click events for decoration before content. The extension maps a mouse click that lands at the start of a blamed line to Show Blame Details, which matches clicking Show Details in the hover.
The blame column is colorized by commit age. Blame text is small and white; newer changes use a brighter, more prominent blue background, older changes use a darker blue background, and the coloring is applied only to the blame annotation column. Uncommitted lines keep an empty blame label with the newest-line highlight.
Each committed annotation is left-aligned as YYYY-MM-DD author: the date always occupies 10 characters and the author starts after two separating spaces. Blame annotations render slightly smaller than source text.
GitLens
GitLens is optional. When it is installed and gitBlameColumn.useGitLens is enabled, Open with GitLens tries to open the current commit with GitLens. If no compatible GitLens command is available, the extension falls back to its built-in details tree and writes diagnostic details to the Git Blame Column output channel.
Settings
gitBlameColumn.enabledByDefault: enable blame automatically for file-backed editors.
gitBlameColumn.columnWidth: fixed annotation width in characters.
gitBlameColumn.colorizeByAge: colorize the blame annotation column by commit age.
gitBlameColumn.ageColorBase: base color used for blame age coloring. Defaults to blue, #2f81f7.
gitBlameColumn.gitTimeoutSeconds: base timeout for Git commands. Blame uses this value or a larger line-count-based timeout for large files.
gitBlameColumn.useGitLens: enable optional GitLens integration.
Development
Run npm run compile before launching the extension host. Point the included VS Code launch configuration at any local Git repository for manual testing.