Instantly see every file changed on your current git branch — committed, staged, unstaged, and untracked — without leaving VS Code.
Features
Branch-scoped file list — shows only files that differ from where your branch diverged, not all modified files in the repo
All change types included — committed, staged, unstaged, and untracked files in one view
Pick your compare branch — pick any local/remote branch from a picklist (sorted by recent activity) or type one in; the view header always shows what you're comparing against
Folder tree view by default — toggle between a folder tree and a flat file list
Native file icons — uses your active icon theme (Material Icons, VSCode Icons, etc.)
Status badges — each file is labeled M (modified), A (added), D (deleted), R (renamed)
Hide deleted files — toggle deleted files on or off when you don't need them
Click to open — click any file to open it directly (not a diff)
Active file highlighting — automatically reveals and selects the file you're editing, just like the Explorer
Drag out — drag a file from the list onto the editor area to open it, or onto a chat panel to attach it
Right-click context menu — Open to the Side, Reveal in Explorer, Reveal in Finder, Copy Path, Copy Relative Path, Copy File Name
Live updates — refreshes automatically when you stage, commit, save, or switch branches
Smart base detection — auto-detects your upstream branch; falls back to main, then master, then develop
How It Works
My Branch finds the merge base between your current branch and its upstream (the commit where the branch diverged), then combines:
git diff <merge-base>..HEAD — committed changes on your branch
git diff --cached — staged changes
git diff — unstaged changes
git ls-files --others — untracked files
Files that were added and then deleted on the branch (net zero) are excluded automatically.
Usage
Open any git repository in VS Code. The My Branch tab appears in the activity bar.
Action
How
Pick the branch to compare against
Branch icon in the view title bar — choose from the list or type a branch name
Toggle flat / tree view
Buttons in the view title bar (tree is the default)
Right-click → Rename... / Delete (delete asks for confirmation and moves the file to the trash)
Configuration
Setting
Default
Description
myBranch.upstream
""
Override the upstream branch used for merge-base calculation (e.g. origin/develop). Leave empty for auto-detection. Overridden by the branch picked via the view title bar, which is remembered per workspace.
Example — if your team branches off develop instead of main:
"myBranch.upstream": "origin/develop"
Requirements
VS Code 1.93.0 or higher
Git installed and available on your PATH
Development
git clone https://github.com/FredrikBurlin/my-branch
cd my-branch
npm install
npm run compile
# Press F5 to launch the Extension Development Host