VS Code Extensions
Git Commit Messages for Varcli

Git Commit Messages for Varcli

by varcli

根据 Git 变更生成规范的中文提交信息,支持本地规则、OpenAI 及常见 AI 服务,并自动填入 VS Code Source Control。

Downloads

5

Rating

(0)

Version

0.2.0

Last updated

Aug 09, 2026

根据 Git 变更生成规范的中文提交信息,支持本地规则、OpenAI 及常见 AI 服务,并自动填入 VS Code Source Control。

界面预览

Source Control 生成按钮

Source Control 中的提交信息生成按钮

功能

  • 默认只分析已暂存(staged)的变更,避免提交信息包含未提交代码。
  • 默认生成 <emoji> <type>(<scope>): <subject>,自动规范 type 与 Emoji 的搭配。
  • typesubject 必填,scope 和正文可选。
  • 推荐通过配置命令将 API Key 保存在 VS Code SecretStorage;也支持在设置页直接填写。
  • 默认使用离线本地规则引擎,无需配置即可生成;也可切换 AI 服务获得更精确的语义总结。
  • AI 请求失败时默认自动回退到本地生成,不中断提交流程。
  • 支持多工作区 Git 仓库、首次提交、未跟踪文件和请求超时。
  • 对提示词注入做基础隔离:diff 被明确标记为不可信数据。

支持的服务

服务 协议 默认地址
本地规则引擎 离线规则 无需网络
OpenAI OpenAI Chat Completions https://api.openai.com/v1
Anthropic Messages API https://api.anthropic.com/v1
Google Gemini generateContent https://generativelanguage.googleapis.com/v1beta
DeepSeek OpenAI-compatible https://api.deepseek.com/v1
通义千问 Qwen OpenAI-compatible DashScope compatible-mode
Moonshot / Kimi OpenAI-compatible https://api.moonshot.cn/v1
智谱 GLM OpenAI-compatible BigModel v4
硅基流动 OpenAI-compatible https://api.siliconflow.cn/v1
Ollama OpenAI-compatible http://127.0.0.1:11434/v1
自定义服务 OpenAI-compatible 用户配置

OpenAI-compatible 服务需要实现 POST {baseUrl}/chat/completions

使用

  1. 在 Source Control 中暂存本次需要提交的文件。
  2. 点击 Source Control 标题栏的闪光图标,或运行 智能生成提交信息
  3. 检查自动填入的提交信息后再提交。

插件默认使用本地规则生成。如需 AI 语义分析,可运行 智能提交:选择服务并配置 API Key

API Key 只会发往所选服务的 API 地址。代码 diff 会发送给模型服务,请根据仓库的数据安全要求选择本地模型或合规服务。

输出示例

✨ feat(auth): 新增用户登录校验

🐛 fix(api): 修复请求超时后的重试逻辑

📝 docs: 更新插件配置说明

开启正文后:

♻️ refactor(provider): 统一模型服务请求流程

- 抽取通用请求参数与错误处理
- 保留各厂商的响应格式适配

配置项

设置页将配置拆分为“Git 提交信息”和“Git 提交信息 › AI 服务”两个分组:

AI 服务配置页面

常规生成设置:

  • smartGitCommit.changeScopestaged(默认)或 all
  • smartGitCommit.language:提交信息语言,默认 zh-CN(简体中文);auto 跟随 VS Code。
  • smartGitCommit.includeBody:是否生成正文。
  • smartGitCommit.useEmoji:是否在 type 前添加匹配的 Emoji,默认开启。
  • smartGitCommit.maxDiffCharacters:发送给服务的最大 diff 字符数。
  • smartGitCommit.customInstructions:团队提交规范等附加要求。

AI 服务设置:

  • smartGitCommit.provider:本地规则引擎或 AI 服务商。
  • smartGitCommit.apiKey:当前 AI 服务的 API Key;设置页中为明文,推荐使用配置命令安全保存。
  • smartGitCommit.model:覆盖服务商默认模型 ID。
  • smartGitCommit.baseUrl:覆盖 API 地址;自定义服务必须设置。
  • smartGitCommit.maxOutputTokens:AI 响应的最大 Token 数。
  • smartGitCommit.requestTimeoutSeconds:AI 请求超时时间。
  • smartGitCommit.fallbackToLocal:AI 请求失败时是否自动改用本地生成,默认开启。

推荐运行 智能提交:选择服务并配置 API Key,将密钥保存在 VS Code SecretStorage。直接填写 smartGitCommit.apiKey 更方便,但会以明文保存在本机设置中。

开发

npm install
npm run check
npm test
npm run build

F5 启动 Extension Development Host。产物位于 dist/extension.js

发布 GitHub Release

  1. 更新 package.json 中的版本号并推送代码。
  2. 打开 GitHub Actions,选择“发布 GitHub Release”。
  3. 点击“Run workflow”手动触发。

工作流会执行检查、测试和 VSIX 打包,然后创建 v{version} Release 并上传安装包。

Related extensions