VS Code extension that adds extra Git actions for branch management, commit operations, file export, and editor context menu integration.
Features
Copy Branch Name
Copies the current branch name to clipboard.
Location: Status bar copy button (next to branch name)
Delete Branches
Deletes local branches matching a keyword. Optionally deletes matching remote branches as well.
Location: Command Palette → Git: Delete Branches..., or Source Control menu
- Enter a keyword (e.g.
release-)
- Choose whether to also delete remote branches
- Review the list of matched branches
- Confirm to delete
The current branch is always skipped. All matched branches are force-deleted (-D).
Delete Outdated Branches
Lists and deletes local branches whose remote tracking branch is gone.
Location: Command Palette → Git: Delete Outdated Branches..., or Source Control menu
- The extension scans
git branch -vv for branches with remote marked as gone
- A multi-select list shows the candidates (branches not fully merged are marked with a warning icon)
- Select branches to delete and confirm
- Fully merged branches are deleted with
-d
- Unmerged branches are deleted with
-D
Squash Commits
Squash multiple recent commits into one.
Location: Command Palette → Git: Squash Commits..., or Source Control menu
- Select a target commit from recent history — it and all commits above it up to HEAD will be squashed
- Edit the commit message (pre-filled with deduplicated messages from all squashed commits)
- Confirm to squash
Export Changed Files
Exports all files changed between two commits.
Location: Command Palette → Git: Export Changed Files..., or Source Control menu
- Select an older commit from recent history
- Select a newer commit
- Configure:
- File extensions: filter by extension (e.g.
vue ts js), leave empty for all files
- Output directory: where to export
- Export as zip: pack into a zip archive, or copy as a directory tree
- The output is named
{project}-{oldestHash}-{newestHash}.zip (or directory)
Right-click in the editor to access the Git submenu with the following actions:
- Stage Changes — stage the current file (shown when file has unstaged modifications)
- Unstage Changes — unstage the current file (shown when file has staged changes)
- Discard Changes — discard working tree changes for the current file
- Open Changes — open the diff view for the current file
- Compare with Branch... — compare the current file with its version on another branch
- Show File History — view the commit history of the current file in a side panel, click any commit to see its diff against the previous version
Requirements
- VS Code 1.85+
- Git installed and available in PATH
Install
From VSIX file:
code --install-extension git-menu-ext-1.0.0.vsix
Or in VS Code: Extensions → ... → Install from VSIX...
From Marketplace:
Search 'Git Menu Ext' in VS Code [Extensions] view.
Build
Requires Node.js 18+.
npm install
npm run compile
npx vsce package --allow-missing-repository
Output: git-menu-ext-*.vsix