Home

Awesome

Commit Message Editor

Edit commit messages in a convenient way.

Highlighs

Preview

The factory settings follows the Conventional Commits specification.

Preview

More screenshots

Customizing the commit message form

The easiest way to customizing the commit message form is to use the Configuration Editor. To open the configuration editor, choose the Commit Message Editor: Open Settings Page command from the Command Palette, or click on the gear icon in the top right corner of the Commit Message Editor tab. Here, you can export the current configuration or import another one. The loaded configuration can be saved to the user or the workspace settings.

A JSON schema is created for the portable configuration file format. This means, you can use the VSCode toolset to edit the configuration file manually. Just create a new JSON file with this content and start to edit:

{
  "$schema": "https://bendera.github.io/vscode-commit-message-editor/schemas/config-v1.schema.json"
}

Structure of the portable configuration file

configVersion

Currently: "1". It might change in the future.

staticTemplate

Template for the text view, an array of strings. Every item in the array is a single line.

dynamicTemplate

Template for the form view, an array of strings. Every item in the array is a single line. Form fields (see the next section) can be referenced in the the template with the {token_name} format.

tokens

An array of token objects. It defines the form fields. The table below shows the structure of a token object:

NameTypeDescriptionValid for
labelstringThe label of the form item.all
namestringThe token name in the template.all
valuestringThe value of the boolean token when it is trueboolean
typeenumThe type of the token. Valid values are:<br> text: displayed as a text input<br>boolean: displayed as a checkbox<br>enum: displayed as a dropdown selectorall
descriptionstringA longer text under the form itemall
prefixstringText before the value. It will only be applied if the value is not emptyall
suffixstringText after the value. It will only be applied if the value is not emptyall
multilinebooleanMultiline text inputtext
monospacebooleanUse the monospace editor in the multiline modetext
linesnumberTextarea initial height in linestext
maxLinesnumberTextarea maximum height in linestext
maxLengthnumberMaximum length of the valuetext
maxLineLengthnumberThe position of the vertical ruler when the monospace editor is usedtext
multiplebooleanMultiple optionsenum
separatorstringSeparator character when multiple options were selectedenum
comboboxbooleanIs the selector filterable or notenum
optionsarrayAvailable optionsenum
options[{n}].labelstringThe value of the optionenum
options[{n}].descriptionstringA longer description for the optionenum

Sample configs

You can customize the Gitmoji config with the scripts/gitmoji-config.js script