Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Commit Description AppendNew to Visual Studio Code? Get it now.
Commit Description Append

Commit Description Append

xugugu

|
4 installs
| (0) | Free
自动在Git提交信息中追加自定义文本,支持从分支名提取长数字串的动态功能,适用于多Git仓库工作区
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Commit Description Append

Version License

一个 VS Code 扩展,用于自动在 Git 提交信息中追加自定义文本内容,支持从分支名提取长数字串的动态功能。

✨ 功能特性

🚀 核心功能

  • 自动追加: 在每次 Git 提交时自动追加预设的文本内容
  • 位置控制: 支持在提交信息头部或尾部追加内容
  • 分隔符配置: 支持自定义分隔符(空格、换行等)
  • 动态数字提取: 从分支名中提取长度大于6位的最后一个数字串
  • 智能去重: 避免重复追加相同内容
  • 跨平台支持: 支持 Windows、macOS 和 Linux

🎛️ 便捷控制

  • 一键启用/禁用: 通过命令面板快速控制功能开关
  • 可视化配置: 友好的配置界面,无需手动编辑配置文件
  • 实时生效: 配置更改后立即应用到所有 Git 仓库
  • 完整清理: 支持一键清理所有插件配置和文件

🔧 技术特性

  • 多仓库支持: 自动检测并配置工作区中的所有 Git 仓库
  • Git 钩子管理: 智能管理 prepare-commit-msg 钩子
  • 优先执行: 钩子内容插入到文件开头,确保在其他钩子代码之前执行
  • 兼容性强: 同时支持命令行 Git 和 VS Code 内置 Git 功能
  • 配置监听: 自动监听配置变化并实时更新

📦 安装

  1. 打开 VS Code
  2. 按 Ctrl+Shift+X (Windows/Linux) 或 Cmd+Shift+X (macOS) 打开扩展面板
  3. 搜索 "Commit Description Append"
  4. 点击安装

或者通过命令行安装:

code --install-extension huanghaiying.commit-desc-append

🚀 快速开始

1. 配置插件

按 Ctrl+Shift+P (Windows/Linux) 或 Cmd+Shift+P (macOS) 打开命令面板,输入:

Git: Configure Commit Description Append

2. 设置追加内容

在配置对话框中:

  • 输入要追加的文本内容(如:[自动追加])
  • 选择追加位置(头部或尾部)
  • 选择分隔符(空格、换行等)

3. 启用功能

使用命令:

Git: Enable Commit Description Append

4. 开始使用

现在每次提交时,系统会自动追加您配置的内容!

🎯 使用场景

场景 1: 静态文本追加

配置: 追加文本 = "[自动提交]"
原始提交: fix: 修复用户登录问题
追加后: fix: 修复用户登录问题 [自动提交]

场景 2: 动态数字提取

分支名: feature/task-12345678
配置: 启用动态内容 + 静态文本 = "任务号:"
原始提交: feat: 新增用户管理功能
追加后: feat: 新增用户管理功能 任务号: 12345678

场景 3: 纯动态内容

分支名: bugfix/issue-87654321
配置: 仅启用动态内容,不设置静态文本
原始提交: fix: 修复登录bug
追加后: fix: 修复登录bug 87654321

⚙️ 配置选项

插件提供以下配置选项:

配置项 类型 默认值 描述
commitDescAppend.enabled boolean null 是否启用自动追加功能
commitDescAppend.appendText string null 要追加的文本内容
commitDescAppend.position string null 追加位置(head/tail)
commitDescAppend.separator string null 分隔符
commitDescAppend.useDynamicContent boolean null 是否启用动态内容
commitDescAppend.dynamicPattern string null 动态内容模式

🔧 动态内容支持

插件支持以下动态占位符:

  • {{branch}} - 当前分支名
  • {{date}} - 当前日期
  • {{time}} - 当前时间
  • {{user}} - Git 用户名
  • {{project}} - 项目名称
  • {{branch:prefix}} - 分支名前缀
  • {{branch:suffix}} - 分支名后缀
  • {{branch:lastnum}} - 分支名���的最后一个数字
  • {{branch:regex:pattern}} - 正则表达式提取

📋 命令列表

命令 描述
Git: Enable Commit Description Append 启用自动追加功能
Git: Disable Commit Description Append 禁用自动追加功能
Git: Configure Commit Description Append 配置插件设置
Git: Clean Up Plugin Configuration 清理所有插件配置

🛠️ 技术实现

架构设计

  • ConfigManager: 负责配置管理和持久化
  • GitHookManager: 负责 Git 钩子的安装和管理
  • SimpleDynamicExtractor: 负责动态内容的提取和处理
  • Extension: 主扩展入口,协调各个模块

Git 钩子机制

插件通过在每个 Git 仓库中安装 prepare-commit-msg 钩子来实现自动追加功能,确保与各种 Git 客户端的兼容性。

重要特性:

  • 优先执行: 插件的钩子代码始终插入到钩子文件的开头(shebang之后),确保在其他可能包含 exit 语句的钩子代码之前执行
  • 智能合并: 自动检测并保留现有钩子内容,实现多个钩子的和谐共存
  • 安全清理: 卸载时只移除插件相关的钩子内容,保留其他钩子功能

🔍 故障排除

常见问题

Q: 插件没有生效? A: 请确保:

  1. 插件已启用
  2. 当前目录是 Git 仓库
  3. 配置了追加文本内容

Q: 如何完全卸载插件? A: 使用命令 "Clean Up Plugin Configuration" 清理所有配置,然后卸载扩展。

Q: 支持哪些 Git 客户端? A: 支持所有标准的 Git 客户端,包括命令行 Git、VS Code 内置 Git、SourceTree 等。

🤝 贡献

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

👨‍💻 作者

huanghaiying

  • Email: huanghaiying02@meituan.com
  • GitHub: @huanghaiying

🙏 致谢

感谢所有为这个项目做出贡献的开发者!


如果这个插件对您有帮助,请给个 ⭐️ 支持一下!

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft