Generate a fixed-format git commit message from your template
由自定义模板生成固定格式的 git 提交说明
Run Git Commit Message: Edit from the command palette or click the edit button in the upper right corner of the repository changed message input box
使用命令面板运行 Git 提交说明: 编辑 或点击仓库更改消息输入框右上角的编辑按键
The hover details of the commits in the git graph are as follows. Clicking on the issue link will take you to the configured Jira issue details page
Git 图形中提交的悬浮详细信息如下, 点击问题单链接可以跳转到配置的 Jira 问题详情页面
Run
Git Commit Message: Clearfrom the command palette will clear the changed message input box
从命令面板运行
Git 提交说明: 清除,可以清除更改消息输入框
[PROJECT-1234] perf(scope): summary
detail
BREAKING_CHANGE: breaking change
[PROJECT-1234]: https://jira.sample.com/browse/PROJECT-1234
Reported-by: Reporter <reporter@sample.com>
Reviewed-by: Reviewer <reviewer@sample.com>
Signed-off-by: Signer <signer@sample.com>
perf[PROJECT-1234]scope: summary
detail
BREAKING_CHANGE: breaking change
[PROJECT-1234]: https://jira.sample.com/browse/PROJECT-1234
Reported-by: Reporter <reporter@sample.com>
Reviewed-by: Reviewer <reviewer@sample.com>
Signed-off-by: Signer <signer@sample.com>
[PROJECT-1234] 优化(范围): 摘要
详情
破坏性变更: 破坏性变更
[PROJECT-1234]: https://jira.sample.com/browse/PROJECT-1234
报告人: Reporter <reporter@sample.com>
审阅人: Reviewer <reviewer@sample.com>
提交人: Signer <signer@sample.com>
优化[PROJECT-1234]范围: 摘要
详情
破坏性变更: 破坏性变更
[PROJECT-1234]: https://jira.sample.com/browse/PROJECT-1234
报告人: Reporter <reporter@sample.com>
审阅人: Reviewer <reviewer@sample.com>
提交人: Signer <signer@sample.com>
customTypes: Custom types - 自定义类型jira.enable: Jira enable - Jira 使能jira.prefix: Jira project prefix, only valid when Jira enable is picked - Jira 项目前缀, 仅在 Jira 使能启用时有效jira.url: Jira URL, only valid when Jira enable is picked - Jira URL, 仅在 Jira enable 使能启用时有效language: Commit message language - 提交说明语言reporters: Reporters - 报告人列表reporters[].email: Reporter's email - 报告人邮箱reporters[].name: Reporter's name - 报告人名字reporters[].picked: Picked default - 是否默认勾选
reviewers: Reviewers - 审阅人列表reviewers[].email: Reviewer's email - 审阅人邮箱reviewers[].name: Reviewer's name - 审阅人名字reviewers[].picked: Picked default - 是否默认勾选
signer.email: Signer's email - 提交人邮箱signer.name: Signer's name - 提交人名字
{
"gitCommitMessage.language": "en",
"gitCommitMessage.customTypes": {
"customType": "custom type description"
},
"gitCommitMessage.jira.enable": true,
"gitCommitMessage.jira.prefix": "PROJECT-",
"gitCommitMessage.jira.url": "https://jira.sample.com/browse/",
"gitCommitMessage.reporters": [
{ "name": "Reporter1", "email": "reporter1@sample.com", "picked": true },
{ "name": "Reporter2", "email": "reporter2@sample.com" }
],
"gitCommitMessage.reviewers": [
{ "name": "Reviewer1", "email": "reviewer1@sample.com", "picked": true },
{ "name": "Reviewer2", "email": "reviewer2@sample.com" }
],
"gitCommitMessage.signer.email": "signer@sample.com",
"gitCommitMessage.signer.name": "Signer"
}The template using the Jinja2 template language, implemented by Nunjucks
模板采用 Jinja2 模板语言, 通过 Nunjucks 实现
If you need to customize it, you can configure a text line list. The complete template variable fields that was supported are provided below
如需自定义, 可配置一个文字行列表, 下面提供了已支持的所有模板变量字段
- Input - 输入
type: Type - 类型jira.id: Jira ID - Jira IDscope: Scope - 范围summary: Summary - 摘要detail: Detail - 详情breakingChange: Breaking change - 破坏性变更reporters: Reporters - 报告人列表reporters[].name: Reporter's name - 报告人名字reporters[].email: Reporter's email - 报告人邮箱
reviewers: Reviewers - 审阅人列表reviewers[].name: Reviewer's name - 审阅人名字reviewers[].email: Reviewer's email - 审阅人邮箱
- Setting - 配置
jira.enable: Jira enable - Jira 使能jira.prefix: Jira prefix - Jira 项目前缀jira.url: Jira URL - Jira URLsigner.name: Signer name - 报告人名字signer.email: Signer email - 报告人邮箱
- Text - 文本
BREAKING_CHANGE: Text "BREAKING_CHANGE" - 文本 "破坏性变更"Reporter: Text "Reporter" - 文本 "报告人"Reviewer: Text "Reviewer" - 文本 "审阅人"Signer: Text "Signer" - 文本 "提交人"
{
"gitCommitMessage.template": "custom",
"gitCommitMessage.template.custom": [
"{% if scope %}",
"{% if jira.id %}[{{ jira.prefix }}{{ jira.id }}] {% endif %}{{ type }}({{ scope }}): {{ summary }}",
"{% elif type %}",
"{% if jira.id %}[{{ jira.prefix }}{{ jira.id }}] {% endif %}{{ type }}: {{ summary }}",
"{% else %}",
"{% if jira.id %}[{{ jira.prefix }}{{ jira.id }}] {% endif %}{{ summary }}",
"{% endif %}",
"",
"{{ detail }}",
"",
"{% if breakingChange %}",
"{{ BREAKING_CHANGE }}: {{ breakingChange }}",
"{% endif %}",
"",
"{% if jira.enable and jira.url and jira.id %}",
"[{{ jira.prefix }}{{ jira.id }}]: {{ jira.url }}{{ jira.prefix }}{{ jira.id }}",
"{% endif %}",
"",
"{% for reporter in reporters -%}",
"{{ Reporter }}: {{ reporter.name }} <{{ reporter.email }}>",
"{% endfor %}",
"",
"{% for reviewer in reviewers -%}",
"{{ Reviewer }}: {{ reviewer.name }} <{{ reviewer.email }}>",
"{% endfor %}",
"",
"{% if signer.name or signer.email %}",
"{{ Signer }}: {{ signer.name }} <{{ signer.email }}>",
"{% endif %}"
]
}
