vscode代理配置不生效主因是请求被系统bypass规则拦截或remote场景未在远程机器正确配置;须用127.0.0.1而非localhost、http://前缀必填、remote需配~/.vscode-server/data/machine/settings.json并重启连接。

VSCode 代理配置不生效,90% 是因为请求压根没发出去——不是地址填错了,而是被系统 bypass 规则拦在本地,或 Remote 场景下根本没配到远程机器上。
http.proxy 必须带 http:// 前缀且用 127.0.0.1
VSCode 不会自动补协议、也不兼容 localhost。填 127.0.0.1:7890 或 localhost:7890 都会被静默忽略。
-
http.proxy值必须是完整 URL 格式:"http://127.0.0.1:7890"✅ - Windows/macOS 默认把
127.0.0.1和localhost加进 bypass 列表,导致 VSCode 发往本机代理的请求直接走直连 → 代理服务根本收不到请求 - 验证是否真通:终端执行
curl -x http://127.0.0.1:7890 https://httpbin.org/ip,能返回 IP 才算代理进程在监听并可中转 HTTPS
Remote-SSH 插件装不上?远程机器上没配 http.proxy
本地 VSCode 的 http.proxy 设置不会透传给远程服务器上的 vscode-server 进程。Remote 场景下插件安装失败,几乎全是这个原因。
- 必须手动修改远程机器上的
~/.vscode-server/data/Machine/settings.json(注意是Machine,不是User或Remote) - 内容示例:
{"http.proxy":"http://192.168.1.100:8080","http.proxyStrictSSL":false} - 改完必须重启 Remote 连接(不是重载窗口),否则
vscode-server不会重新读取该文件 - 别在
~/.bashrc里export HTTP_PROXY—— SSH non-interactive shell 不 source 它,vscode-server也完全不认
证书报错 DEPTH_ZERO_SELF_SIGNED_CERT?关掉 http.proxyStrictSSL
很多本地代理(Clash、Fiddler、mitmproxy)用自签名证书,VSCode 默认拒绝连接,表现为 Marketplace 空白页,或安装时卡住无提示。
- 必须加配置:
"http.proxyStrictSSL": false - 企业中间人代理(Zscaler、Netskope)场景下,这行几乎是必配项
- 只配
http.proxy却没关http.proxyStrictSSL,VSCode 会静默失败,不报具体错误 - 如果代理本身支持正规 CA 证书(如新版 Clash、Surge),可省略此项
环境变量和启动参数不如直接写 settings.json
虽然可以设 HTTP_PROXY 环境变量或用 code --proxy-server="http://127.0.0.1:7890" 启动,但这两者稳定性差、优先级低,还容易被绕过。
-
http.proxy配置项优先级最高,且对插件市场、GitHub 登录、自动更新全部生效 - 修改
settings.json后无需重启 VSCode,刷新扩展视图或重试安装即可生效 - 若代理需认证,格式为
http://user:pass@127.0.0.1:7890,注意特殊字符要 URL 编码(如@→%40)
真正难的不是填对地址,而是确认请求确实发到了代理进程、且代理能正确中转 HTTPS 流量。很多人反复改设置却无效,是因为跳过了 curl -x 验证这一步 —— 它比看 VSCode 日志快得多,也更可信。











