$env:Windows Powershell和VSCode集成的Powershell的PATH不同

i86rm4rw  于 2023-11-18  发布在  Shell
关注(0)|答案(6)|浏览(201)

我使用的是Windows 10。$env:PATH的结果对于Windows PowerShell和VSCode集成的PowerShell是不同的。我需要VSCode集成的PowerShell具有与Windows PowerShell相同的路径,我应该如何纠正这个问题?

gk7wooem

gk7wooem1#

更改用户环境变量、重新打开终端或重新加载窗口是不够的。
我不得不退出并手动重新打开VS Code。
这是在版本 1.66.2

cvxl0en2

cvxl0en22#

如果你刚刚编辑了PATH,尝试在VSCode中杀死终端并重新打开终端。

41ik7eoe

41ik7eoe3#

对我来说,它是为用户设置环境变量,而不是在Windows 11中的系统。
我通常设置像JAVA_HOME这样的变量,并在我的PATH中引用它们,就像这样的...;%JAVA_HOME%\bin
这在IntelliJ和VS Code中不起作用,因为它们似乎无法访问用户变量。一旦我将它们设置为系统变量,一切都正常。

uubf1zoe

uubf1zoe4#

在VS代码中的windows集成powershell开始给我给予错误这样的任何命令我键入,甚至dir和ls:

> ls : Cannot find drive. A drive with the name '.C' does not exist. At
> line:1 char:1
> + ls dir : Cannot find drive. A drive with the name '.C' does not exist. At line:1 char:1
> + dir
> + ~~~
>     + CategoryInfo          : ObjectNotFound: (.C:String) [], DriveNotFoundException
>     + FullyQualifiedErrorId : DriveNotFound

字符串
根本原因是一个额外的.,它被VS Code附加在PATH中,而不是在正常的环境变量中。
我是通过使用visual studio中另一个gitbash shell的“env”命令来解决的!
解决方案是打开VS Code Setting.json并删除下面包含路径的代码:

> "terminal.integrated.env.linux": {},
> "terminal.integrated.profiles.linux": {
>     "bash": {
>         "path": "bash",
>         "icon": "terminal-bash"
>     },
>     "zsh": {
>         "path": "zsh"
>     },
>     "fish": {
>         "path": "fish"
>     },
>     "tmux": {
>         "path": "tmux",
>         "icon": "terminal-tmux"
>     },
>     "pwsh": {
>         "path": "pwsh",
>         "icon": "terminal-powershell"
>     } }, "terminal.integrated.env.windows": {}, "terminal.integrated.env.osx": {},


保存settings.json并重新启动VS代码后,一切都恢复正常。

kq0g1dla

kq0g1dla5#

我今天遇到了这个问题,在我的settings.json中根本没有terminal.integrated.*条目。虽然在设置页面中搜索,我最终找到了一个Terminal > Integrated > Default Profile: Windows条目,它被设置为null。我将其更改为PowerShell并重新启动VSCode。之后,路径错误消失了。我仍然不确定.C是从哪里来的。在输出我的路径时,我可以看到它是我的$PATH在我的正常路径结束时完全复制的开始部分。它是几乎就像PATH被设置为类似$PATH.$PATH的东西,但我真的不知道为什么。只要我没有看到这个修复的太多负面影响,我会坚持下去。

r3i60tvu

r3i60tvu6#

检查“terminal.integrated.env.windows“的VSCode设置。
在我的例子中,有PATH设置,所以导致Windows PowerShell和VSCode集成PowerShell之间的差异。
1.删除“terminal.integrated.env.windows“中的PATH
1.重新启动VSCode

相关问题