我在$PATH
(在Mac上)定义了一个自定义~/.bash_profile
环境变量,如下所示:
PATH="$HOME/.cargo/bin:$PATH:$HOME/bin"
但是,VS Code当然不会运行我的.bash_profile
,因此它没有自定义路径。事实上,如果我切换开发者工具并检查process.env.PATH
,它似乎甚至没有/usr/local/bin
。
如何在VS Code中全局设置$PATH
环境变量?
(我想全局设置,不是按项目或按任务设置,因为我维护了很多小包。)
答案 0 :(得分:18)
如果您只需要在集成终端中设置$PATH
,则可以使用VS Code的terminal.integrated.env.<platform>
变量(在版本1.15中添加),例如
"terminal.integrated.env.osx": {
"PATH": "...:/usr/bin:/bin:..."
}
要查看系统的$PATH
,请在Terminal.app中输入echo "$PATH"
,然后将其复制并粘贴到上面的设置代码段中。
至于在VS Code中让$PATH
可用无处不在的,那么它将会
被调用二进制文件的扩展程序使用,到目前为止我发现的唯一解决方法是:
配置shell(默认为bash)以获得所需的$PATH
。例如,我的~/.bash_profile
包含以下行:
PATH="$PATH:$HOME/bin"
在VS Code中,如果您之前没有这样做,请按⇧⌘P并输入install 'code' command
。
退出VS代码。
单击Dock中或启动板中的图标启动VS Code not ,但打开Terminal.app并键入code
。您的新设置路径将在VS代码中处于活动状态,直到您退出为止。
如果VS代码重新启动,例如由于升级,$PATH
将重置为系统默认值。在这种情况下,请退出VS Code并通过键入code
重新启动它。
答案 1 :(得分:2)
在:
echo "abcdef" > a.txt
echo "12345" >> a.txt
添加到 JSON 文件:
> Preferences: Open Settings (JSON)
为了检查它是否有效,请在您的 VS Code 终端中执行:
"terminal.integrated.env.windows": {
"PATH": "${env:PATH}"
},
答案 2 :(得分:0)
获取代码以加载现有的〜/ .bash_profile是最好的。我认为这里的文档是相关的参考: https://code.visualstudio.com/docs/editor/integrated-terminal#_linux-os-x
通常,$ SHELL是类Unix系统的主要shell,所以你 可能不想改变shell。你可以将参数传递给 shell启动时。
例如,要启用运行bash作为登录shell(运行 .bash_profile),传递
-l
参数(带双引号):
// Linux "terminal.integrated.shellArgs.linux": ["-l"]
// OS X "terminal.integrated.shellArgs.osx": ["-l"]
虽然看起来该设置是我当前的VS Code(OS X)设置的默认设置。集成终端运行我的〜/ .bash_profile而不对配置进行任何更改。也许尝试添加echo Executing .bash_profile...
以测试在代码中打开新终端时它是否正在运行。
答案 3 :(得分:0)
我正在使用ubuntu 18.04。我遇到了类似的问题,定义了环境变量,并且终端知道$ PATH,但是当我尝试使用golang进行调试时,在$ PATH变量中找不到go库。
因此,要解决此问题,我从ubuntu软件中卸载了默认版本,并按照以下说明进行了手动安装:
https://code.visualstudio.com/docs/setup/linux
对我有用。
答案 4 :(得分:0)
在您的〜/ .bash_profile中添加以下内容:
launchctl setenv PATH $HOME/.cargo/bin:$PATH:$HOME/bin
或在需要时运行Bash脚本,例如:
#!/bin/bash
set -Eeuxo pipefail
proj_path=$( cd $( dirname ${BASH_SOURCE[0]} ) && pwd )
launchctl setenv PATH $proj_path/bin:${PATH:-}
答案 5 :(得分:0)
问题是Visual Studio代码。
无论您如何在shell中设置PATH变量,在某些情况下Visual Studio Code都不会继承您的PATH设置。如果您正在使用LaunchBar之类的应用程序启动器来启动Visual Studio Code,则您的PATH变量将不会被继承。
这是系统范围的修补程序:
在/etc/paths.d目录中,使用您的Unix用户名创建一个文件。在该文件中,放置Visual Studio Code需要工作的其他路径。就我而言,这是我的/etc/paths.d文件的内容:
/usr/ucb
/opt/local/bin
/opt/local/sbin
~/go/bin
注意:您的/etc/paths.d文件将在系统范围内处理。由于大多数系统是单用户的,因此对于大多数开发人员而言这不是问题。
答案 6 :(得分:0)
我正在与CMake一起在macOS上使用vscode进行C / C ++开发。
vscode扩展 CMake Tools 允许通过配置属性cmake.configureEnvironment
,cmake.buildEnvironment
和cmake.environment
(分别在CMake配置阶段起作用,构建阶段,以及两者都-see docs)。
然后,您可以通过将以下代码段添加到用户或项目settings.json
中来使用自定义路径扩展系统PATH:
"cmake.environment": {
"PATH": "~/.myTool/bin:${env:PATH}"
},
答案 7 :(得分:0)
在我的案例中(Linux Mint 19.3 Cinnamon,通过snap安装VS代码)的窍门是将我附加的PATH放入〜/ .profile中。由于此文件是在用户会话开始时读取的,因此请不要忘记在编辑此文件后注销/登录或重新启动。
答案 8 :(得分:0)
由于这是“ VS代码路径”的变体形式在Google上搜索量最高的结果,因此我将在此处添加答案。
我正在运行Linux,而我的问题是VS Code找不到构建我的项目所需的一些可执行文件。我从快速启动器(ALT + F2)而不是从终端运行VS Code。我尝试在许多不同的地方修改PATH变量,但似乎无法正确处理。
最后,将正确的PATH放置在〜/ .zshenv内是可行的。这是因为.zshenv是唯一从非交互式Shell命令执行中获取的文件,例如从VS Code内部获取(更详细的解释,请点击https://unix.stackexchange.com/questions/71253/what-should-shouldnt-go-in-zshenv-zshrc-zlogin-zprofile-zlogout)