http.proxy配置无效主因是格式错误或被系统bypass规则拦截:必须用"http://127.0.0.1:7890"完整格式(禁用localhost和https://前缀),且需验证代理通路(curl -x http://127.0.0.1:7890 https://httpbin.org/ip);Remote-SSH场景须在远程~/.vscode-server/data/Machine/settings.json中单独配置并重连。

http.proxy 配置后仍不生效?检查格式和 bypass 规则
VSCode 的 http.proxy 不继承系统代理,也不读取 HTTP_PROXY 环境变量,填错格式就会静默失效。最常见错误是:127.0.0.1:7890 缺协议头、localhost:7890 被系统 bypass 规则拦截、或用了 https:// 前缀(HTTP 代理端口通常不支持 HTTPS 协议)。
必须用带协议的完整地址:http://127.0.0.1:7890✅;同时确认代理工具(Clash/Surge)已开启「System Proxy」且监听在该地址端口。Windows/macOS 默认把 localhost 和 127.0.0.1 加入 bypass 列表,VSCode 请求直接走直连——验证方式是在终端执行:curl -x http://127.0.0.1:7890 https://httpbin.org/ip,返回真实出口 IP 才算通。
- 代理运行在局域网另一台机器(如
192.168.1.100:8080)时,需确保其开启局域网访问(Clash 配置allow-lan: true) - 密码含
@或:时,必须 URL 编码,例如pass@word→pass%40word -
http.proxyStrictSSL设为false是为了绕过自签名证书(如 Charles、企业中间人代理),否则会报DEPTH_ZERO_SELF_SIGNED_CERT
插件市场卡在“正在加载”?必须配对 serviceUrl 和 cacheUrl
VSCode 1.83+ 版本起,只改 extensions.gallery.serviceUrl 没用,它会忽略整个配置——必须同时设置 extensions.gallery.cacheUrl,且两者域名一致、结尾不带 /。
例如清华镜像源正确写法是:
"extensions.gallery.serviceUrl": "https://mirrors.tuna.tsinghua.edu.cn/vscode/extensions", "extensions.gallery.cacheUrl": "https://mirrors.tuna.tsinghua.edu.cn/vscode/extensions/cache"
常见错误包括:serviceUrl 末尾多加了 / 导致拼出 //publishers 404;两个 URL 域名不一致(比如混用 vscode.cdn.azure.cn 和 marketplace.visualstudio.com.cn);或把配置写在工作区 settings.json 里,而 VSCode 只读用户级设置。
- 配置后务必彻底退出 VSCode 进程(任务管理器杀掉所有
code.exe或Code Helper),再重启 - 验证是否生效:按
Ctrl+Shift+P→Developer: Toggle Developer Tools→ Console 标签页,搜索插件时观察请求 URL 是否已变成镜像域名 - 命令行安装(
code --install-extension)不读settings.json,需临时设环境变量:VSCODE_EXTENSIONS_MSA_URL=https://vscode.cdn.azure.cn code --install-extension ...
Remote-SSH 插件装不了?代理没配到远程机器上
本地 VSCode 的 http.proxy 对 Remote-SSH 场景完全无效——插件安装请求是从远程服务器上的 vscode-server 进程发起的,和你本地网络无关。
必须在远程机器上单独配置代理,路径是:~/.vscode-server/data/Machine/settings.json(注意是 Machine,不是 User 或 Remote)。内容只需最小集:
{"http.proxy":"http://192.168.1.100:7890","http.proxyStrictSSL": false}
改完必须断开并重连 SSH 连接,因为 vscode-server 只在启动时读取该文件;热重载或 reload window 不生效。
- 别在远程机的
~/.bashrc里export HTTP_PROXY:SSH non-interactive shell 不 source 它,vscode-server也完全不认 - 如果远程机本身能直连 marketplace,但你本地不能,说明问题不在远程配置,而是本地 DNS 劫持或国产安全软件拦截 HTTPS 流量(如火绒、360)
- 某些插件(如
ms-python.python)额外拉取的语言服务器二进制包,不走 gallery 协议,镜像源对其无效,只能靠代理或离线下载
安装器本身下载慢?代理对 VSCode 安装过程完全无效
VSCode 安装程序(如 VSCodeSetup-x64-1.88.0.exe)是独立 Electron 打包应用,不读 http.proxy、不读环境变量、也不继承系统代理。填了代理对安装器下载速度毫无帮助。
唯一有效方法是手动替换下载链接中的 CDN 域名:把原始链接里的 az764295.vo.msecnd.net 替换为微软官方运营的国内镜像 vscode.cdn.azure.cn,保持路径不变即可。例如:
https://az764295.vo.msecnd.net/stable/xxx/VSCodeSetup-x64-1.88.0.exe → https://vscode.cdn.azure.cn/stable/xxx/VSCodeSetup-x64-1.88.0.exe
这个镜像由微软 Azure 官方提供,SHA256 校验值与源站一致,安全可靠。安装完成后,再配置插件市场的代理或镜像源。
- 别指望 hosts 或 DNS 解析优化——CDN 节点不可达时,DNS 正确也没用
- 安装器下载卡住时,不要反复重试,先复制链接手动替换再下载,效率提升最直接
- 自动更新插件失败?那不是
settings.json的事,得去改 VSCode 安装目录下的product.json,它硬编码了 gallery 地址


















