Walk a line's git history. Select lines, see every commit that ever touched them, step through the changes — one git log -L call, then instant navigation. No hashes, no webviews.
Use
Put the cursor on a line (or select a range) → right-click → Walk Line History (also in the Command Palette).
Pick a commit from the list (subject · relative date · author) → a diff opens showing what that commit did to the file, scrolled to the walked lines.
Navigate:
right-click inside the diff → Older Commit / Newer Commit / List Commits for Current Walk
Alt+[ — older commit, Alt+] — newer commit
← / → buttons on the diff editor tab
click the Line Walk 3/17 status-bar counter to reopen the commit list and jump anywhere
Go deeper: right-click a line inside a walk diff → Walk Line History starts a new walk anchored at that revision.
The Line Walk icon in the Activity Bar lists the commits of the current walk — click a row to jump there, use the ← → and search buttons in its title bar, or ✕ to end the walk. While the view is visible it follows the cursor: put the cursor on any line of a committed file and the commits that touched it are listed by themselves, no clicking — moving to another line replaces the list, so it also drops a walk you were stepping through. The eye icon in its title bar (setting lineWalk.followCursor) toggles this. With nothing walking it offers Walk Line History and How it works buttons; the ? button opens these instructions.
Notes / limits
Line numbers are matched against HEAD (that's how git log -L works) — a walk you start yourself warns when the file has unsaved or uncommitted changes that could shift them; following the cursor stays silent.
Renames are followed: the walk continues across git mv, and each diff shows the file under the path it had at that revision. The commit list marks entries with a different path.
Merge commits whose resolution changed the walked lines are listed, and diffed against their first parent.
Requires git on your PATH.
Why not GitLens?
VS Code already ships a commit graph (Source Control Graph), per-file history (Timeline view), and line blame (git.blame.editorDecoration.enabled). The one thing missing is walking a specific line back through time. That's all this extension does.