如何配置Windows系统下的VS Code使其记住代理设置?
解决VS Code代理设置不生效的问题
我完全懂这种反复折腾代理却没效果的烦躁!咱们一步步排查,让VS Code乖乖记住你的代理设置:
1. 先确认配置文件的正确性与优先级
- 首先,别搞混了用户设置和工作区设置:VS Code的工作区设置会覆盖全局的用户设置。按
Ctrl+,(Windows/Linux)或Cmd+,(Mac)打开设置面板,搜索http.proxy,确保你修改的是「用户设置」(全局生效),而不是某个项目的工作区设置。 - 你的代理URL格式看起来没问题,但如果密码里有特殊字符(比如
@、#、&),一定要用URL编码替换——比如@换成%40,#换成%23,不然VS Code会解析失败。 - 别忘了同步设置
https.proxy!VS Code大部分请求都是HTTPS的,只设http.proxy肯定不够:"http.proxy": "http://frustratedusername:password@pesky.proxy.com:8080/", "https.proxy": "http://frustratedusername:password@pesky.proxy.com:8080/" - 如果你的代理证书不是官方信任的,再加一行禁用严格SSL检查:
"http.proxyStrictSSL": false
2. 环境变量要「生效后再启动VS Code」
- 如果你设置了系统环境变量
http_proxy和https_proxy,必须先设置变量,再重启VS Code——不然它读不到新的配置。 - Windows用户注意:环境变量分「用户变量」和「系统变量」,建议设系统变量,然后重启电脑(至少要把所有终端和VS Code窗口全关掉再重新打开)。
- 可以在VS Code的终端里验证变量是否生效:
# Windows cmd echo %http_proxy% # PowerShell/Linux/Mac echo $env:http_proxy
3. 清缓存+彻底重启VS Code
有时候VS Code会缓存旧的代理配置,完全关闭所有VS Code窗口(包括后台进程),再重新打开试试。如果还是不行,手动清除缓存文件夹:
- Windows:删除
%APPDATA%\Code\Cache和%APPDATA%\Code\CachedData - Mac:删除
~/Library/Application Support/Code/Cache和~/Library/Application Support/Code/CachedData - Linux:删除
~/.config/Code/Cache和~/.config/Code/CachedData
4. 先确认代理本身能用
别光折腾VS Code,先在终端用curl测试代理是否正常工作:
# 测试HTTP代理 curl -x http://frustratedusername:password@pesky.proxy.com:8080/ http://example.com # 测试HTTPS代理 curl -x http://frustratedusername:password@pesky.proxy.com:8080/ https://example.com
如果curl都连不上,那问题出在代理本身,不是VS Code的设置。
5. 特殊场景的额外方案
- 如果你在公司网络,可能有PAC自动配置脚本,可以试试设置:
"http.proxyPacUrl": "http://your.company.pac" - 禁用VS Code的自动代理检测,强制用你手动设置的配置:
"http.proxySupport": "override"
内容的提问来源于stack exchange,提问作者amedina




