A VS Code extension that automatically converts Git branch names into structured commit messages.
Example
| Branch Name |
Commit Message |
feature/ABC-1234_Add_function_comment |
[ABC-1234] Add function comment |
bugfix/BUG-567_Fix_login_issue |
[BUG-567] Fix login issue |
hotfix/TCS-1234-Add-function-comment |
[TCS-1234] Add function comment |
PROJ-99_Update_readme |
[PROJ-99] Update readme |
Features
- Auto-fill commit message — when switching branches, if the SCM input box is empty, it is automatically populated from the current branch name
- Format command — "Branch Commit: Format Branch to Commit Message" available in the Command Palette and SCM title menu
- Copy command — "Branch Commit: Copy Formatted Commit Message" to clipboard
- Status bar — shows the formatted commit message in the status bar (click to copy)
- Customizable pattern — configure the regex pattern and output format via Settings
- Enable/disable toggle — turn auto-fill on or off as needed
Installation
From VS Code Marketplace
Search for "Branch Commit Formatter" in the Extensions view (Ctrl+Shift+X / Cmd+Shift+X).
From VSIX
- Download the latest
.vsix from Releases
- In VS Code: Extensions view >
... menu > Install from VSIX...
- Select the
.vsix file
Configuration
Go to Settings (Ctrl+, / Cmd+,) and search for "Branch Commit Formatter":
| Setting |
Default |
Description |
branchCommitFormatter.enabled |
true |
Enable auto-fill commit message from branch name |
branchCommitFormatter.branchPattern |
^(?:.+/)?([A-Za-z]+-\d+)[_-](https://github.com/BranchCommit/branch-commit-formatter-vscode/blob/HEAD/.+)$ |
Regex with groups: (1) ticket ID, (2) description |
branchCommitFormatter.commitFormat |
[{ticket}] {description} |
Output template using {ticket} and {description} |
branchCommitFormatter.replaceSeparators |
true |
Replace underscores and dashes with spaces in description |
branchCommitFormatter.showStatusBarItem |
true |
Show formatted message in the status bar |
Commands
| Command |
Description |
Branch Commit: Format Branch to Commit Message |
Set the SCM input box to the formatted commit message |
Branch Commit: Copy Formatted Commit Message |
Copy the formatted commit message to clipboard |
Building from Source
npm install
npm run compile
Package as VSIX
npm run package
Output: branch-commit-formatter-*.vsix
Also Available
This extension is also available as a JetBrains IDE plugin (IntelliJ IDEA, PhpStorm, WebStorm, etc.).
License
MIT
| |