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

VSCode 的代理配置不生效,90% 是因为填了但没走代理——根本原因不是地址写错,而是请求被系统绕过规则拦截,或远程场景下压根没配对位置。
http.proxy 填了却连不上 Marketplace?检查 bypass 规则和协议前缀
VSCode 不继承系统代理,http.proxy 必须显式填写,且格式严格:
-
http.proxy值必须带http://前缀,例如http://127.0.0.1:7890✅;127.0.0.1:7890❌(VSCode 会静默忽略) - 别用
localhost,统一写127.0.0.1(部分版本解析localhost异常) - Windows/macOS 默认将
localhost和127.0.0.1加入 bypass list,导致请求根本不发往代理进程——这是填了也白填的最常见原因 - 验证代理是否真在监听:终端执行
curl -x http://127.0.0.1:7890 https://httpbin.org/ip,能返回 IP 才算通
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} - 该文件只在
vscode-server启动时读取,改完必须重启 Remote 连接(不是重载窗口) - 别在
~/.bashrc里export HTTP_PROXY——SSH non-interactive shell 不 source 它,vscode-server也完全不认
证书错误(DEPTH_ZERO_SELF_SIGNED_CERT)?关掉 http.proxyStrictSSL
很多本地代理(如 Charles、旧版 Fiddler、自建 mitmproxy)用自签名证书,VSCode 默认拒绝连接,表现为 Marketplace 空白页或直接报错:
- 必须加配置:
"http.proxyStrictSSL": false - 企业中间人代理(如 Zscaler、Netskope)场景下,这行几乎是必配项
- 若只配了
http.proxy但没关http.proxyStrictSSL,VSCode 会静默失败,不提示具体原因
不用代理也能加速?改 extensions.gallery.serviceUrl 比配代理更稳
镜像源方式不依赖代理服务稳定性,适合网络策略严格的环境,但必须改对位置并彻底退出进程:
- 编辑用户
settings.json,加入:"extensions.gallery.serviceUrl": "https://vscode.cdn.azure.cn/extensionGallery/extensionGallery/"
- Windows/macOS/Linux 路径不同,但都落在
User目录下(不是product.json) - 改完必须彻底退出 VSCode:Windows 右键任务栏图标选「退出」,macOS 用 Activity Monitor 杀掉所有
Code进程 - 只换
serviceUrl不够,itemUrl也要同步改,否则插件详情页仍加载失败
真正卡住的地方往往不是“怎么填”,而是“填在哪”和“谁在读”。Remote 场景要双端配,镜像源改完不杀干净进程等于白改,http.proxyStrictSSL 关不关直接影响连接是否建立——这些点漏一个,前面全白忙。


















