控制台与VSCode中os.environ不一致,如何让VSCode读取系统环境变量?
解决VSCode无法读取Windows系统环境变量的问题
核心原因
Windows系统中,环境变量的变更只会传递给新启动的进程。如果VSCode是在你设置环境变量之前打开的,它会一直使用启动时的旧环境变量快照,自然读不到新添加的MY_ENV_VAR。
解决步骤
完全重启VSCode
直接关闭VSCode窗口还不够,要打开任务管理器,找到所有Code.exe进程并结束,再重新启动VSCode。新启动的进程会加载最新的系统环境变量。从控制台启动VSCode(强制继承环境变量)
打开设置环境变量后新启动的命令提示符/PowerShell(先输入echo %MY_ENV_VAR%确认能读到test),然后执行code命令启动VSCode。这种方式下,VSCode会完全继承控制台的环境变量,必然能读取到MY_ENV_VAR。检查VSCode终端的环境变量配置
打开VSCode设置(快捷键Ctrl+,),搜索terminal.integrated.env.windows,查看是否存在自定义的MY_ENV_VAR配置项。如果有,删除该项,让终端继承系统环境变量。极端情况:重启电脑
极少数情况下,系统环境变量的全局刷新需要重启电脑才能生效,尝试重启后再打开VSCode测试。
内容的提问来源于stack exchange,提问作者Xoriun
相关产品推荐
相关产品推荐

