You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何VS Code终端不使用系统http_proxy?已开启环境继承

解决VS Code终端无法继承Pop OS系统代理的问题

我之前在Ubuntu 20.04系的系统上也碰到过一模一样的问题,明明勾选了Terminal>Integrated:Inherit Env,但VS Code终端就是拿不到系统的http_proxy变量。结合Pop OS的环境特性,给你几个靠谱的排查和解决步骤:

  • 先确认系统代理变量的加载位置
    系统设置里配置的代理,有时候会写入/etc/environment,但如果你是手动在~/.bashrc里加的代理变量,那图形界面启动的VS Code可能拿不到——因为.bashrc只有交互式Shell才会加载,而图形界面启动的程序继承的是登录会话的环境变量。
    你可以先在普通终端里执行:

    echo $http_proxy
    echo $https_proxy
    

    确认值正确后,用这条命令找变量的定义位置:

    grep -r "http_proxy" ~/.bashrc ~/.profile /etc/environment /etc/profile
    

    如果发现变量在~/.bashrc里,建议把它们移到~/.profile或者/etc/environment里,这两个文件是登录时全局加载的,图形界面程序能拿到这些变量。

  • 尝试关闭VS Code的Sandbox机制
    VS Code的Sandbox安全机制有时候会干扰环境变量的继承,你可以试试关闭它:

    1. 按下Ctrl+Shift+P打开命令面板,输入Preferences: Configure Runtime Arguments并回车。
    2. 在打开的argv.json文件里,添加一行:"disableSandbox": true。
    3. 保存文件后重启VS Code,再检查终端的代理变量。
  • 手动给VS Code终端指定代理变量
    如果上面的方法都不行,直接在VS Code设置里硬编码代理变量也是个稳妥的办法:

    1. 按下Ctrl+,打开设置界面,搜索Terminal > Integrated: Env: Linux。
    2. 点击Edit in settings.json,添加类似下面的配置(替换成你实际的代理地址):
      "terminal.integrated.env.linux": {
          "http_proxy": "http://127.0.0.1:8080",
          "https_proxy": "http://127.0.0.1:8080",
          "NO_PROXY": "localhost,127.0.0.1,::1"
      }
      
    3. 保存后重启VS Code,终端里就能拿到代理变量了。

最后别忘了重启VS Code,然后在终端里执行echo $http_proxy验证是否生效。

内容的提问来源于stack exchange,提问作者Yi Zhao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 14:27:49