Analyze staged diffs and auto-generate Conventional Commits messages. Works offline with smart heuristics — no API key needed.
Features
Auto-detect Commit Type
Automatically classifies your changes as feat, fix, refactor, docs, test, chore, or ci based on the files and diff content.
Conventional Commits Format
Generates messages in the type(scope): description format, fully compatible with semantic versioning tools like semantic-release and standard-version.
SCM Input Box Integration
The generated message is written directly into VS Code's Source Control input box — just review and commit.
Scope Detection
Automatically infers the scope from changed file paths (e.g., files in src/auth/ → scope auth).
Breaking Change Detection
Scans diffs for breaking change indicators and appends a BREAKING CHANGE footer automatically.
Offline — No API Required
Pure heuristic analysis. No internet connection, no API key, no usage limits.
Usage
Generate Commit Message
- Stage your changes with
git add - Open the Command Palette (
Ctrl+Shift+P/Cmd+Shift+P) - Run Commit Gen: Generate Commit Message
- The message appears in the SCM input box — edit if needed, then commit
Keyboard shortcut: Ctrl+Shift+G, Ctrl+M (or Cmd+Shift+G, Cmd+M on macOS)
You can also click the ✨ sparkle icon in the Source Control panel title bar.
Generate & Commit
Run Commit Gen: Generate & Commit to generate a message, review it in an inline input, and commit in one step.
Configuration
| Setting | Default | Description |
|---|---|---|
commitGen.type |
conventional |
Message format: conventional, angular, simple, custom |
commitGen.includeScope |
true |
Add scope to messages |
commitGen.includeBody |
false |
Add a multi-line body with file/line stats |
commitGen.maxSubjectLength |
72 |
Maximum subject line length |
commitGen.customTemplate |
{type}({scope}): {description} |
Custom template |
commitGen.autoDetectBreaking |
true |
Add BREAKING CHANGE footer when detected |
commitGen.language |
en |
Language for generated messages |
Examples
feat(auth): add login functionality
fix(api): fix issue in userController
refactor(utils): refactor dateHelper
docs(readme): update readme documentation
test(auth): add tests for login
chore(deps): update package.json configuration
Installation
code --install-extension miccho27.git-commit-message-generator
Or search "Git Commit Message Generator" in the VS Code Extensions panel.
License
MIT