You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Commitizen配置中添加表情符号的推荐方案是什么?

在Commitizen中添加表情符号的推荐方式

鉴于你已经配置了cz-conventional-emoji这个适配器,它本身就是为conventional提交规范搭配表情符号设计的,推荐以下两种方式来配置表情:

1. 直接定制cz-conventional-emoji的默认配置

这个包支持通过package.json的config字段自定义类型对应的表情、描述等,不需要额外编写复杂代码。在package.json中添加如下配置:

{
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-conventional-emoji"
    },
    "cz-conventional-emoji": {
      "types": [
        {
          "emoji": "✨",
          "code": ":sparkles:",
          "description": "新增功能",
          "name": "feat"
        },
        {
          "emoji": "🐛",
          "code": ":bug:",
          "description": "修复Bug",
          "name": "fix"
        },
        {
          "emoji": "📝",
          "code": ":memo:",
          "description": "文档更新",
          "name": "docs"
        }
        // 按需添加或修改更多类型与表情的映射
      ]
    }
  }
}

配置完成后,提交时选择对应的类型,终端生成的提交消息会自动带上匹配的表情符号。

2. 自定义Commitizen适配器(适配高度个性化需求)

如果cz-conventional-emoji的预设不能满足你的定制需求,可以自己编写一个极简的适配器:

  1. 在项目根目录创建cz-custom.js文件,示例内容如下:
module.exports = {
  types: [
    {
      value: "✨ feat",
      name: "✨ feat:     新增功能"
    },
    {
      value: "🐛 fix",
      name: "🐛 fix:      修复Bug"
    },
    {
      value: "📝 docs",
      name: "📝 docs:     文档更新"
    },
    {
      value: "🔧 refactor",
      name: "🔧 refactor: 代码重构"
    }
    // 完全自定义类型、表情和显示名称
  ],
  messages: {
    type: "选择提交类型(带表情):",
    subject: "输入简短描述:",
    confirmCommit: "确认提交此消息吗?"
  },
  // 按需跳过不需要的提问环节
  skipQuestions: ["scope", "body", "breaking", "footer"],
  subjectLimit: 72
};
  1. 修改package.json中的Commitizen配置路径,指向自定义文件:
{
  "config": {
    "commitizen": {
      "path": "./cz-custom.js"
    }
  }
}

可选:配合commitlint验证表情格式

你的commitlint已继承@commitlint/config-conventional,如果要强制提交消息包含表情,可以在commitlint.config.cjs中添加自定义规则:

module.exports = {
  extends: ['@commitlint/config-conventional'],
  rules: {
    // 关闭大小写检查(按需调整)
    'subject-case': [0],
    // 强制提交头部包含表情(匹配emoji字符或:code:格式)
    'header-match': [
      2,
      'always',
      /^(:\w+:|[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F1E0}-\u{1F1FF}])\s\w+:.+/u
    ]
  }
};

内容的提问来源于stack exchange,提问作者meez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 19:32:53