Microsoft/vscode

Built-in git blame editor decorations are not applied when diff editor is opened via third-party extension (e.g. Git Graph / GitLens)

Open

#281,045 opened on Dec 3, 2025

View on GitHub
 (0 comments) (0 reactions) (1 assignee)TypeScript (10,221 forks)batch import
buggithelp wanted

Repository metrics

Stars
 (74,848 stars)
PR merge metrics
 (Avg merge 11h 48m) (1,000 merged PRs in 30d)

Description

Type: Bug

Description / Problem:
The built-in git blame decoration feature (adding line blame info) in VS Code does not work when a diff editor is opened by a third-party extension (such as Git Graph or GitLens). When using VS Code’s own Source Control Graph to open diffs, blame decorations appear and work as expected.

Reproduction steps:

  1. Use VS Code Insiders 1.107.0-insider on Windows (or any recent version).
  2. Ensure "git.blame.editorDecoration.enabled": true.
  3. Use a third-party git / history extension (e.g. Git Graph, GitLens), open commit history, and open a file diff via the extension.
  4. In the diff editor, click on lines on either side of the diff.

Observed behavior:

  • No blame editor decorations (nor blame status-bar item) appear.

Expected behavior:

  • According to the built-in git blame support, blame annotations / decorations should appear in the diff editor, regardless of how the diff was opened (built-in or via extension).

Relevant background & existing issues:

  • Blame-decoration functionality was formally added in the release notes for January 2025 (version 1.97).
  • The feature was tested under the issue Test: Git blame editor decoration/status bar it (#235028), which includes diff-editor use (working tree and staged changes) in its test plan.
  • There is a known bug Git Blame - editor decoration appears incorrectly (#235030) describing that “dirty diff decorations” use a legacy diff algorithm, while the diff editor uses an “advanced diff algorithm,” which in some edge cases leads to mismatched decoration results.
  • However, none of the existing issues explicitly mention diff editors opened via third-party extensions or handle extension-driven diffs.

Why this matters / Use case:
Many developers — myself included — use extensions like Git Graph or GitLens to inspect history and open diffs. If built-in blame decorations only work when diffs are opened via the built-in Source Control Graph, that significantly reduces the utility of blame in real-world workflows.

Request / Ask:

  • Please verify whether the blame-decoration logic in VS Code supports diff editors invoked by third-party extensions.
  • If not, consider updating the logic so that blame decorations are applied in diff editors regardless of how they are opened (built-in or third-party).
  • If there is a limitation or known restriction, please document it so extension authors and users are aware.

Thank you for your continued work on git integration in VS Code!

Version information:

VS Code: 1.107.0-insider (commit fae32c4c21fc40c9caaf480b4f7f28ca077a2be6)  
Git Graph: 1.31.5  
OS: Windows 11
Git: 2.45.1.windows.1  
Settings: git.blame.editorDecoration.enabled = true  
          git.blame.editorDecoration.template = "${authorName}, ${authorDateAgo} • ${subject}"
Item Value
CPUs AMD Ryzen 5 3600XT 6-Core Processor (12 x 3793)
GPU Status 2d_canvas: enableddirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offtrees_in_viz: disabled_offvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabledwebgpu: enabledwebnn: disabled_off
Load (avg) undefined
Memory (System) 63.93GB (41.08GB free)
Process Argv
Screen Reader no
VM 0%
Extension Author (truncated) Version
monokai-charcoal-high-contrast 74t 3.5.0
better-comments aar 3.0.2
calculate aca 2.1.0
format-selection-as-html adr 2.3.0
vscode-javascript-snippet-pack aka 0.1.6
increment-selection alb 0.2.0
Bookmarks ale 13.5.0
json-lines-editor Ano 0.1.0
launch-config Art 0.9.0
jsonyamlkeynavigator b-s 0.4.0
vscode-autohotkey-ahkdoc bhb 0.5.2
unique-lines bib 1.0.0
markdown-footnotes bie 0.1.1
xml2json bui 1.2.5
vscode-better-align cho 1.4.4
npm-intellisense chr 1.4.5
path-intellisense chr 2.10.0
gotoanything Cma 0.4.1
column-jump Cod 0.0.7
codesandbox-projects Cod 0.2.143
vscode-clock Com 0.0.1
xpathtester cre 1.2.0
dakara-foldplus dak 1.5.2
transformer dak 1.12.1
join-lines-into-columns dav 0.0.2
tsservercontrols dav 1.1.0
vscode-quick-select dba 0.2.9
jquerysnippets don 0.0.1
xml Dot 2.5.1
es7-react-js-snippets dsz 4.4.3
gitlens eam 17.7.1
EditorConfig Edi 0.17.4
json-tools eri 1.0.2
prettier-vscode esb 11.0.2
decapsulator fit 1.0.2
shell-format fox 7.2.8
copilot-chat Git 0.34.2025120301
vscode-pull-request-github Git 0.123.2025120304
todo-tree Gru 0.0.226
git-graph-2 han 1.31.5
vscode-settings-cycler hoo 1.0.1
output-colorizer IBM 0.1.2
vscode-jsp-clone J0h 0.0.6
i18next jac 0.7.2
search-ignore-whitespace jak 0.0.1
vscode-edit-csv jan 0.11.8
search-node-modules jas 1.3.0
better-shellscript-syntax jef 1.10.0
vs-docblock jer 1.6.1
tabstronaut jhh 1.4.0
dupchecker jia 0.1.7
select-matches-or-adjust-selection joh 0.10.4
vscode-peacock joh 4.2.2
minifyall jos 2.10.0
vsc-python-indent Kev 1.21.0
conditional-format KMR 1.3.0
labeled-bookmarks koa 1.1.11
wrapSelection kon 0.10.0
expand-region let 0.1.4
vscode-plugin-keyboard-shortcut-eval-custom-javascript-codes Lia 1.0.13
highlight-duplicates Lor 1.1.1
bash-ide-vscode mad 1.43.0
code-beautifier mic 2.3.3
vscode-edits-history mis 0.1.6
shfmt mkh 1.5.1
find-jump mks 1.2.4
workspace-name-identifier mmc 0.0.1
compare-folders mos 0.25.3
format-selection-stub mot 0.0.2
black-formatter ms- 2025.2.0
debugpy ms- 2025.16.0
isort ms- 2025.0.0
python ms- 2025.18.0
vscode-pylance ms- 2025.10.3
vscode-python-envs ms- 1.13.13371014
live-server ms- 0.5.2025091501
powershell ms- 2025.4.0
sublime-keybindings ms- 4.1.10
vscode-commander ms- 0.2.0
vscode-speech ms- 0.16.0
vscode-websearchforcopilot ms- 0.1.2025120301
copy-file-name nem 1.2.0
react-proptypes-intellisense OfH 1.0.3
fix-json oli 0.2.0
terminal-command-keys pet 0.5.0
java red 1.50.0
vscode-commons red 0.0.6
vscode-rsp-ui red 0.24.12
vscode-sort-json ric 1.20.0
LiveServer rit 5.7.9
bash-debug rog 0.3.9
color-manager roy 0.7.5
vscode-paste-and-indent Rub 0.0.8
prettier-plugin-java-vscode Rud 1.0.3
better-pageup-pagedown rus 0.0.1
partial-diff ryu 1.4.3
text-marker ryu 1.11.0
multi-command ryu 1.6.0
sql-snippets sad 0.0.4
json-to-js-object sal 0.0.4
vscode-fqn san 1.0.3
block-travel sas 0.0.2
preview-vscode sea 2.3.12
vscode-sql-beautify sen 0.0.4
docxreader Sha 1.3.0
bash-beautify sha 0.1.1
trailing-spaces sha 0.4.1
markdown-preview-enhanced shd 0.8.20
vscode-fileutils sle 3.10.3
local-tomcat Sne 2.1.1
sonarlint-vscode Son 4.35.1
open-in-browser tec 2.0.0
shellcheck tim 0.38.5
vscode-decompiler tin 0.1.0
duplicate-finder tle 0.0.6
run-in-powershell tob 1.2.0
pdf tom 1.2.2
todo-list Tza 1.6.0
incrementor use 0.1.5
es-quotes vil 0.2.6
vscode-boot-dev-pack vmw 0.2.2
vscode-java-upgrade vsc 1.9.1
console-ninja Wal 1.0.500
chakra-ui-snippets wei 0.0.6
change-case wma 1.0.0
vsc-meta-snippet wmo 0.1.2
bat-formatter wwn 0.0.5
JavaScriptSnippets xab 1.8.0
txt-syntax xsh 0.2.4
markdown-pdf yza 1.5.0
markdown-all-in-one yzh 3.6.3

(10 theme extensions excluded)

Contributor guide