Personal use only. Please don't install this extension.
It's a collection of tweaks for my own setup. Things may change or break without notice, and I don't offer support.
Personal VS Code addons, packaged as one extension (akilin.vscode-extras).
| Addon |
What it does |
| git-changes-autoclose |
Closes the Git: Changes tabs after a commit leaves the repository clean. |
git-changes-autoclose
After a commit, if the repository has no changes left (staged, unstaged, untracked or merge), every tab whose title starts with Git: is closed.
Those are the multi-diff editors opened by git.viewChanges, git.viewStagedChanges and git.viewUntrackedChanges, titled like Git: Changes (0 files). After a clean commit they're all empty.
- A commit is detected as HEAD moving to another commit, so commits from a terminal count too. So do checkout, pull and reset, if they leave the repository clean.
- Discarding or stashing the last change doesn't move HEAD, so the tab stays open.
- The tab is matched by title, since the API has no type for multi-diff editors. Only the
Git prefix is matched because the rest (Changes) depends on the display language.
- With several repositories open, a clean commit in one closes the
Git: tabs of all of them.
- The Git Changes Autoclose output channel logs each HEAD move, the change counts and the open tab titles.
Install
It's a workspace extension, because git-changes-autoclose needs the built-in Git extension, which runs where the repository is. In an SSH or Dev Container window, install it on the remote side (Install in Dev Container / SSH in the Extensions view).
If the old standalone akilin.git-changes-autoclose extension is installed, uninstall it. Otherwise both will run.