解决更改系统环境变量后在vs code不生效的问题
解决更改系统环境变量后在vs code不生效的问题
尝试过的方法:
- 重启电脑
- 重启vs code
- 点击设置,终端,windows 的settings.json配置http.proxy
- 这些全部没有解决问题。
最终发现可以的两个方法
- 用管理员权限运行vs code(但是体验不好,有可能会弹出确认框,看你的设置)
- 通过在powershell 中输入code $PROFILE打开powershell配置文件并更改
- 通过更改.vscode/settings.json文件。输入以下内容(没有文件请自行创建)
-
{ "terminal.integrated.env.windows": { "http_proxy": "http://127.0.0.1:xxx", "https_proxy": "http://127.0.0.1:xxxx" } }
代理地址自行更改。改完之后重启vs code,再打开,生效了。
注意,Microsoft.PowerShell_profile.ps1
这个文件的设置会覆盖.vscode/settings.json文件设置。
终于解决了这个玄学问题。如果有人可以告诉我原理,请不吝赐教。
后续:
原理大概是这样的。
vs code在打开一个终端时,配置执行顺序如下:
- 读取系统环境变量
- 读取用户的设置(vs code全局设置中的)settings.json
- 读取本工作区的设置settings.json
- 打开powershell(打开powershell之前,会读取
Microsoft.PowerShell_profile.ps1
)
因此,全局settings.json变量值会被工作区settings.json覆盖,工作区的会被Microsoft.PowerShell_profile.ps1
覆盖。
ps:打开设置快捷键:ctrl+,
ps:工作区有两种模式,一种是文件夹模式,一种多文件夹模式。
评论
其他文章