A VS Code extension that automatically converts Git branch names into structured commit messages — and generates branch names from ticket titles.
Example
Branch → Commit Message
| 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 |
Ticket Title → Branch Name
| Ticket Title |
Generated Branch |
ABC-2201 [BE][FB371] Update template mail |
feature/ABC-2201_Update_template_mail |
BUG-567 Fix login issue |
bugfix/BUG-567_Fix_login_issue |
CRT-911 [Urgent] Fix null pointer on checkout |
hotfix/CRT-911_Fix_null_pointer_on_checkout |
Features
Branch → Commit Message
- 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 — icon button in Source Control title bar to format instantly
- Copy command — 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
- Live preview — test your pattern with instant preview in the sidebar
Ticket Title → Branch Name (NEW)
- Generate branch name — paste a ticket title, auto-strips tags like
[BE], [FB371], []
- Prefix picker — choose from built-in prefixes (feature, bugfix, hotfix, fix, add, change, update, remove, clean, upgrade, revert, disable) or add your own
- Custom prefixes — add custom prefixes that are saved and appear in the dropdown next time
- Editable result — generated branch name is editable before copying or creating
- Create Branch — one-click
git checkout -b directly from the sidebar
- Separator choice — underscore
_ or dash -
General
- Sidebar panel — dedicated Activity Bar icon with full control panel (settings, live preview, branch generator)
- Settings integration — quick links to open Preview panel and Reset to Defaults from Settings UI
- Reset to defaults — one-click reset all configuration
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 |
branchCommitFormatter.branchSeparator |
_ |
Separator for generated branch names (_ or -) |
branchCommitFormatter.customPrefixes |
[] |
Custom branch prefixes (auto-saved when using Custom prefix) |
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 |
Branch Commit: Generate Branch Name from Ticket |
Generate a branch name from a ticket title |
Branch Commit: Open Preview & Settings |
Open the full settings and live preview panel |
Branch Commit: Reset Settings to Defaults |
Reset all settings to defaults |
Building from Source
npm install
npm run compile
Package as VSIX
npm run package
Output: branch-commit-formatter-*.vsix
Changelog
1.0.1
- Added Generate Branch Name from Ticket — paste ticket title to generate branch name
- Added Sidebar panel with Activity Bar icon — full control panel with live preview, settings, and branch generator
- Added custom prefixes — user-defined prefixes saved across sessions
- Added Create Branch button — one-click
git checkout -b from sidebar
- Added editable branch name result — tweak generated name before copying or creating
- Added copy icon buttons — cleaner UI for copying results
- Added Live Preview panel with settings editing and reset to defaults
- Added Settings integration — command links in Settings UI
1.0.0
- Initial release
- Auto-fill commit message from branch name
- Format command in Source Control title bar
- Status bar display
- Customizable regex pattern and commit format
Also Available
This extension is also available as a JetBrains IDE plugin (IntelliJ IDEA, PhpStorm, WebStorm, etc.).
License
MIT
| |