Hotdry.

Article

VS Code 1.118 中 git.addAICoAuthor 禁用失效的临时解决方案

深入分析 VS Code 1.118 版本里 git.addAICoAuthor 配置失效的根本原因,并提供经过验证的临时解决方案与配置参数清单。

2026-05-03ai-systems

在 VS Code 1.117 版本发布后,大量开发者发现一个令人困惑的现象:即使在设置中明确将 git.addAICoAuthor 配置为 off,Git 提交仍然会自动添加 Copilot 作为共作者。这一问题在 1.118 版本中仍未得到完全修复,引发了社区的广泛讨论。本文将从技术角度分析这一 bug 的触发机制,并提供切实可行的临时解决方案。

问题现象与触发条件

根据多个开发者反馈和问题报告,git.addAICoAuthor 禁用失效并非在所有场景下都会发生。该问题的触发具有以下特征:

触发条件一:使用内联补全功能。当开发者在编辑代码时使用了 Copilot 的内联建议功能,哪怕只是接受了一个字符的自动补全(比如修正一个拼写错误或添加一个逗号),VS Code 就会将该提交标记为 “AI 参与”,并在提交消息 trailer 中添加 Co-authored-by: Copilot <copilot@github.com>。这意味着即使用户仅仅将 Copilot 作为普通的代码补全工具使用,并未真正依赖其生成核心代码逻辑,也会被自动标记为共作者。

触发条件二:配置优先级冲突。在某些用户的测试中,即使在用户级设置(User Settings)中明确设置了 "git.addAICoAuthor": "off",如果工作区目录中存在 .vscode/settings.json 且未覆盖该配置,或者存在其他扩展修改了该设置,禁用可能不会生效。此外,有用户报告在 1.118 版本中默认值被悄然更改,导致即使全新安装也会默认启用该功能。

触发条件三:扩展干扰。部分第三方 Git 扩展可能会在提交前修改或重置相关配置,导致用户的设置被覆盖。这类扩展通常会在后台监听提交事件,并在提交消息生成阶段注入 AI 共作者信息,即使主配置已经禁用。

根本原因分析

从技术实现层面来看,VS Code 的 Git AI 共作者功能位于 VS Code 内置 Git 扩展的提交处理逻辑中。当用户执行提交操作时,内置 Git 扩展会检查以下条件:首先判断 Copilot 扩展是否已安装且处于活动状态;其次检查当前编辑器会话中是否存在 Copilot 参与代码编辑的记录(通过内联建议采纳、聊天建议采纳等事件);最后根据 git.addAICoAuthor 配置决定是否添加共作者 trailer。

问题出在第二个条件与第三个条件的交互上。在某些版本中,Copilot 扩展与内置 Git 扩展之间的通信可能存在竞态条件,导致 Git 扩展在读取配置之前就已经确定了是否添加共作者。此外,配置变更后需要重启 VS Code 才能完全生效,但这一信息并未在 UI 中明确提示,导致用户修改设置后立即测试发现仍然失效,从而认为存在 bug。

另一个潜在原因是 git.addAICoAuthor 配置项的默认值在 1.117/1.118 发生了变更。从开发者社区的反馈来看,该配置的默认行为从之前的 “关闭” 变更为 “启用”,但变更说明并未在版本更新日志的显眼位置标注,导致许多用户在不知情的情况下被默认添加了共作者。

临时解决方案与配置参数

针对上述问题,以下是经过社区验证的临时解决方案,按推荐优先级排列:

方案一:显式设置用户级配置。 打开命令面板(Ctrl+Shift+P 或 Cmd+Shift+P),输入 “Preferences: Open User Settings (JSON)” 打开用户设置文件,添加或确认以下配置项存在:

{
  "git.addAICoAuthor": "off"
}

此方案应在大多数场景下生效。如果在保存配置后仍然无效,尝试完全关闭 VS Code 并重新打开,以确保配置被正确加载。

方案二:使用工作区级配置覆盖。 如果问题持续存在,可在项目根目录的 .vscode/settings.json 中添加相同配置,以显式覆盖任何可能的扩展或全局设置:

{
  "git.addAICoAuthor": "off"
}

方案三:检查并禁用相关扩展设置。 部分用户反馈即使设置了上述配置,Copilot 扩展本身可能存在独立的相关选项。进入 Copilot 扩展设置,搜索 “Author” 或 “Co-author” 相关选项并确保已禁用。

方案四:使用 Git 钩子回退。 作为终极方案,可在仓库的 .git/hooks/pre-commit 脚本中添加逻辑,自动移除提交消息中的 AI 共作者 trailer。但这种方法较为激进,可能影响正常的工作流程。

监控与验证步骤

在实施上述解决方案后,建议通过以下步骤验证问题是否已解决:首先执行一次包含 Copilot 内联建议补全的代码编辑;然后使用 VS Code 的 Source Control 面板执行提交;最后在终端中执行 git log -1 --format="%B" 查看提交消息,确认不包含 Co-authored-by: Copilot 字样。

如果提交消息中仍然出现 Copilot 共作者信息,建议检查以下位置:VS Code 通知区域是否有关于 AI 功能配置的错误提示;开发者工具控制台(Help > Toggle Developer Tools > Console)中是否存在相关错误日志;以及 extensions 目录中是否存在旧版本 Copilot 扩展残留。

总结与建议

VS Code 1.117/1.118 版本中的 git.addAICoAuthor 禁用失效问题,本质上是配置优先级与功能触发条件之间的交互问题。对于希望完全控制 Git 提交元数据的开发者,建议在升级 VS Code 后主动检查该配置项,并显式设置为所需的值。同时,关注 VS Code 的 Release Notes 中关于 Git 和 Copilot 集成的变更说明,以便及时了解默认行为的调整。

从长期来看,建议社区推动在 UI 中增加更明确的提示,告知用户当前提交将被标记为 AI 参与创作,让用户能够在提交前做出知情选择。


参考资料

ai-systems