Skip to content

vivaxy/vscode-conventional-commits

Repository files navigation

VSCode Conventional Commits

Marketplace Version Installs Downloads Rating Financial Contributors on Open Collective

Conventional Commits for VSCode.

Features

This extension helps you to fill in commit message according to Conventional Commits.

Usage

Demo

You can access VSCode Conventional Commits in two ways:

  1. Command + Shift + P or Ctrl + Shift + P, enter Conventional Commits, and press Enter.
  2. Click the icon on the Source Control menu. See the image below.

Icon on the Source Control menu

Extension Configuration

name description default
conventionalCommits.autoCommit Control whether the extension should commit files after: forming the message or closing the editor tab.
When #git.enableSmartCommit# enabled and #git.smartCommitChanges# was set to all, It allows to commit all changes when there are no staged changes.
And set #git.postCommitCommand# to sync to run git.sync after commit.
true
conventionalCommits.emojiFormat Specify which format will be shown in the gitmoji. code
conventionalCommits.gitmoji Control whether the extension should prompt for a gitmoji. true
conventionalCommits.lineBreak Specify which word will be treated as line breaks in the body.
Blank means no line breaks.
""
conventionalCommits.promptBody Control whether the extension should prompt for the body section. true
conventionalCommits.promptFooter Control whether the extension should prompt for the footer section. true
conventionalCommits.promptCI Control whether the extension should prompt for skipping CI run. false
conventionalCommits.promptScopes Control whether the extension should prompt for the scope section. true
conventionalCommits.scopes Specify available selections in the scope section. []
conventionalCommits.showEditor Control whether the extension should show the commit message as a text document in a separate tab. false
conventionalCommits.showNewVersionNotes Control whether the extension should show the new version notes. true
conventionalCommits.silentAutoCommit Control that auto commit should be silent, without focusing source control panel. false
conventionalCommits.editor.keepAfterSave Control whether the extension should keep the editor tab open after saving the commit message. false
conventionalCommits.storeScopesGlobally Control whether the extension should store the defined scopes within your user settings. Uncheck to store in workspace settings. false

Commit Workflow

The recommended workflow automatically add, commit and push files by default.

If you want the extension to only fill in the message, disable autoCommit configuration.

The Recommended Workflow

  1. Active the extension.
  2. Type messages.

The extension will automatically add the changed files, perform the commit and push the commit to remote.

How To Configure autoCommit

  1. Enable Settings > conventionalCommits.autoCommit configuration of the extension. The extension enables Settings > conventionalCommits.autoCommit by default.
  2. Enable Settings > git.enableSmartCommit and set Settings > git.smartCommitChanges to all to commit all changes when there are no staged changes.
  3. Set Settings > git.postCommitCommand to sync to run git.sync after commit.
  • body-full-stop
  • body-leading-blank
  • body-max-length
  • body-max-line-length
  • body-min-length
  • footer-leading-blank
  • footer-max-length
  • footer-max-line-length
  • footer-min-length
  • header-case
  • header-full-stop
  • header-max-length
  • header-min-length
  • references-empty
  • scope-enum
  • scope-case
  • scope-empty
  • scope-max-length
  • scope-min-length
  • subject-case
  • subject-empty
  • subject-full-stop
  • subject-max-length
  • subject-min-length
  • type-enum
  • type-case
  • type-empty
  • type-max-length
  • type-min-length
  • signed-off-by

FAQ

Q: How do I add a line break in messages?

A: Set lineBreak configuration to \n. When you're typing, enter \n as a line break.

image

Or \\n in JSON format.

image

Q: How do I resolve repo not found error?

A: See issue discussion #15.

Q: How do I use commitlint in showEditor mode?

A: The extension - vscode-commitlint will helpful!

Troubleshooting

  1. Switch to the VSCode OUTPUT tab, select Conventional Commits.
  2. Copy all the output. Before sharing it, make sure you have removed all private information.

Debug instruction

Contribution

  1. The vscode task needs to install the extension - vscode-tsl-problem-matcher.
  2. The effect of code changes needs to reactivate the extension. Just restart the task.

Team Members

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

Related Projects