Repository navigation
FAQ
A VS Code extension that provides a structured form for writing Git commit messages, with live preview, smart suggestions, AI drafting, and custom templates.
Yes, it's open-source under the MIT license.
VS Code ^1.85.0 or higher.
- Ensure you have a Git repository open
- The built-in Git extension (
vscode.git) must be active - Try reopening VS Code
- Make sure GitHub Copilot Chat is installed and signed in
- Stage some changes (
git add) before clicking the button - Check that you have an active internet connection
You need to stage changes first. Run git add on the files you want to commit.
- You must have a workspace folder open
- Workspace templates are saved to
.vscode/commit-templates/in the repository root
- Make sure you have at least one commit
- No other Git operations should be in progress (e.g., merge, rebase)
- Scopes are stored in workspace settings
- Add them manually via Settings UI or click Save in the Scope field
- Check that
autoGitmojiistruein settings - The template must define a
gitmojitoken with descriptions matching type labels
- User settings:
~/.config/Code/User/settings.json - Workspace settings:
.vscode/settings.jsonin your repository
Yes, use a .commit-message-editor.json file at the repository root. See Configuration.
Yes, use the Config Editor (⚙ Template) or manually create a JSON file in .vscode/commit-templates/.
No, built-in templates are read-only. Use Duplicate to create an editable copy.
Save it as a workspace template (.vscode/commit-templates/) or export it as JSON and commit it to the repository.
Loads the last commit's message into the form and allows you to amend it after confirmation.
Reverts the Source Control input box to the value it had before the last Insert.
Writes the current message to .gitmessage and runs git config commit.template .gitmessage, making it available for git commit from the terminal.
It's a mode where you write the entire commit message in a single large textarea instead of using the structured form. You can switch between Form and Free‑form using the tabs.
Use the Command Palette (Git Commit Message Editor: Open as Git Editor (COMMIT_EDITMSG)) or set scmTitleCommand to "openAsGitEditor" to make it the default SCM action.
This was fixed in version 1.7.0 by using a proper FileSystemProvider. If you're still experiencing issues, make sure you're using the latest version.
Set gitCommitMessageEditor.language to "en", "fa", or "auto" (to follow VS Code's display language).
These are clickable chips that appear above the Type and Scope fields, showing the most commonly used values from your recent commit history (last 50 commits). They are enabled by default but can be disabled via rememberFrequentTypes and rememberFrequentScopes.
Yes! For example, you can write Resolves #10, resolves #123, resolves octo-org/octo-repo#100 in the Resolves field. The editor will preserve each keyword and format the issues correctly.
That's the complete wiki content. You can add these pages to your repository's wiki by:
- Going to
https://github.com/idmdakhi/GitCommitMessageEditor-vsce/wiki - Clicking "Create the first page" or "New Page"
- Copying and pasting each section as a separate page
Recommended page structure:
| Page | Content |
|---|---|
| Home | Introduction + Quick Links |
| Installation | Installation instructions |
| User-Guide | Full user guide |
| Configuration | Settings + Repo config |
| Templates | Template management + JSON structure |
| Development | Building from source |
| FAQ | Frequently asked questions |
This project is licensed under the MIT License – see the LICENSE file for details.
Contributions are welcome!
- Report bugs or request features via GitHub Issues
- Submit pull requests to the main repository
Please make sure your code passes the existing TypeScript checks and follows the project's code style.
- Maintainer: Mohammad Amanalikhani
- GitHub: idmdakhi
- Email: md.akhi.ir@gmail.com
For quick questions, you can also open a discussion in the GitHub Discussions (if enabled) or create an issue.
This extension was built using the following open-source tools and libraries:
- TypeScript – type-safe JavaScript
- esbuild – fast bundler
- VS Code API – extension framework
-
YAML – for parsing
.commit-message-editor.yamlfiles
Special thanks to the developers of the original three extensions that inspired this project:
- phoihos for the IntelliSense concepts
- Bandra for the configurable form approach
- (Add any other relevant contributors here)
Current version: 1.0.0
See the CHANGELOG for release history.