插件更新后弹“Untrusted: Signature”警告是因为VS Code 1.77+默认启用签名强制校验,而远程开发时vscode-server无法访问微软签名服务导致校验失败;唯一稳定解法是修改远端服务器上的.settings.json,添加"extensions.verifySignature": false并完全退出VS Code后重连。

为什么插件更新后总弹“Untrusted: Signature”警告
这不是你装了恶意插件,而是 VS Code 1.77+ 默认启用扩展签名强制校验,而远程开发(SSH/WSL)场景下,vscode-server 无法访问微软签名服务端,导致本地校验失败。它不区分“新装”还是“更新”,只要触发校验流程(比如后台轮询、手动重装、Remote 连接重建),就会卡在签名验证环节并报 [error] Untrusted: Signature。
直接关掉签名验证:改 settings.json 最快生效
别折腾证书或代理——对 Remote 场景无效。唯一稳定解法是让 vscode-server 跳过校验。关键不是改本地 VS Code 设置,而是改远端服务器上的配置文件:
-
C:\Users\{用户名}\.vscode-server\data\Machine\settings.json(Windows) -
/home/{用户名}/.vscode-server/data/Machine/settings.json(Linux/macOS)
如果文件不存在,就手动创建;路径里的 .vscode-server 前面那个点不能漏。加这一行即可:
"extensions.verifySignature": false
保存后,**必须完全退出所有 VS Code 窗口(包括托盘进程)再重连 Remote**,否则旧进程会继续读缓存配置。
只关 verifySignature 不够?还要防插件自检弹窗
关了签名校验后,某些插件(如 GitLens、ESLint)仍可能自己查更新并弹 New release 提示——这和 VS Code 的签名机制无关,是插件代码里写的 vscode.window.showInformationMessage()。
这类弹窗必须单独压制:
- GitLens:设
gitlens.advanced.messages为[] - Live Server:关
liveServer.settings.donotVerifyVersion - ESLint:确认
eslint.packageManager指向真实存在的 npm/yarn/pnpm,否则反复崩溃也会触发类似提示
这些配置都得写进远端的 settings.json,GUI 编辑器有时不同步,尤其用了 Settings Sync 时。
别用 extensions.installVerification = false 替代
这个配置项只影响手动拖 .vsix 安装时的校验,**对自动更新完全无效**。它甚至不在 Remote 场景的默认生效范围内,属于调试用临时开关,用完就得删——长期开着会让插件市场下载的包跳过完整性检查,有安全风险。
真正要动的是 extensions.verifySignature,且必须落在 .vscode-server/data/Machine/settings.json 里。Remote 环境下,VS Code 的插件管理逻辑完全跑在远端,本地设置一概不生效。


















