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

#281045 opened on Dec 3, 2025

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

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