Git Commit Message Generator
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.
Generates messages in the type(scope): description format, fully compatible with semantic versioning tools like semantic-release and standard-version.
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