Linux系统下VSCode环境变量如何控制、重置或修改?
Ubuntu环境下VSCode保留旧环境变量的解决方法
问题根因
从Ubuntu收藏夹栏启动的应用,父进程为桌面会话管理器,启动时不会读取~/.profile等用户专属shell配置;同时VSCode的会话持久化机制会缓存上一次运行时的环境变量,即使重启系统也可能保留旧值。
可行解决方案
修改启动项强制加载用户配置
编辑VSCode的桌面启动文件,用户级路径为~/.local/share/applications/code.desktop,全局路径为/usr/share/applications/code.desktop,将其中的Exec字段修改为:
执行Exec=bash -l -c "code %F"update-desktop-database更新桌面启动项缓存后,重新启动VSCode即可继承用户shell的完整环境变量。清空VSCode缓存后从shell启动
首先完全终止所有VSCode进程:
删除VSCode的会话缓存目录:killall -9 code
随后直接从已验证环境变量正常的shell窗口执行rm -rf ~/.config/Code/Saved\ Session/code命令启动VSCode,此时VSCode会直接继承当前shell的环境变量,不会读取旧缓存。直接在VSCode中配置固定环境变量
打开VSCode的settings.json配置文件,添加如下配置统一覆盖内置终端的环境变量:
如果需要修改VSCode直接运行应用的环境,在对应项目的"terminal.integrated.env.linux": { "http_proxy": "", "https_proxy": "", "no_proxy": "" }.vscode/launch.json中添加env字段,把需要清除的代理变量设为空即可。
内容的提问来源于stack exchange,提问作者David M. Karr
相关产品推荐
相关产品推荐

