Visual studio code 在VS代码中设置全局$PATH环境变量

Visual studio code 在VS代码中设置全局$PATH环境变量,visual-studio-code,Visual Studio Code,我正在我的~/.bash\u配置文件中定义一个自定义$PATH环境变量(在Mac上),如下所示: PATH="$HOME/.cargo/bin:$PATH:$HOME/bin" 但是,VS代码当然不会运行我的.bash\u profile,因此它没有我的自定义路径。事实上,如果我切换开发工具并选中process.env.PATH,它甚至似乎没有/usr/local/bin 如何在VS代码中全局设置$PATH环境变量 (我想全局设置它,而不是每个项目或每个任务,因为我维护了很多小程序包。)让代码

我正在我的
~/.bash\u配置文件中定义一个自定义
$PATH
环境变量(在Mac上),如下所示:

PATH="$HOME/.cargo/bin:$PATH:$HOME/bin"
但是,VS代码当然不会运行我的.bash\u profile,因此它没有我的自定义路径。事实上,如果我切换开发工具并选中
process.env.PATH
,它甚至似乎没有
/usr/local/bin

如何在VS代码中全局设置
$PATH
环境变量


(我想全局设置它,而不是每个项目或每个任务,因为我维护了很多小程序包。)

让代码加载现有的~/.bash_配置文件将是最好的。我认为这里的文档是相关的参考:

通常,$SHELL是类Unix系统上的主SHELL,因此 可能不想更换外壳。您可以将参数传递给 当它被发射的时候

例如,要启用将bash作为登录shell运行(其中 .bash_profile),传入
-l
参数(带双引号):

//Linux“terminal.integrated.shellArgs.Linux”:[“-l”]

//OS X“terminal.integrated.shellArgs.osx”:[“-l”]


尽管如此,该设置似乎是我当前VS代码(OSX)设置的默认设置。集成终端正在运行my ~/.bash_配置文件,配置没有任何更改。也许可以尝试添加
echo Executing.bash_profile…
以测试在代码中打开新终端时它是否正在运行。

如果只需要在集成终端中设置
$PATH
,可以使用VS code的变量(在版本1.15中添加)。按Cmd+Shift+P(或Ctrl+Shift+P)并搜索“首选项:打开设置(JSON)”。然后将以下条目添加到设置文件:

"terminal.integrated.env.osx": {
  "PATH": "...:/usr/bin:/bin:..."
}
(根据需要将
.osx
替换为
.linux
.windows
。)

要查看系统的
$PATH
,请在Terminal.app中键入
echo“$PATH”
,然后将其复制并粘贴到上面的设置片段中


至于让
$PATH
在VS code中的任何位置都可用,以便 对于调用二进制文件的扩展,目前为止我发现的唯一解决方法是:

  • 将shell(默认情况下为bash)配置为具有所需的
    $PATH
    。例如,我的
    ~/.bash_profile
    有以下行:

    PATH="$PATH:$HOME/bin"
    
  • 在VS代码中,按⇧⌘P并键入
    安装“code”命令,如果您以前没有这样做过

  • 退出VS代码

  • 启动VS代码时,不要单击dock或Launchpad中的图标,而是打开Terminal.app并键入Code。您新设置的路径将在VS代码中处于活动状态,直到您退出它

  • 如果VS Code重新启动(例如由于升级),则$PATH将重置为系统默认值。在这种情况下,退出VS Code并通过键入Code重新启动它


  • 我正在使用ubuntu 18.04。我有一个类似的问题,我的环境变量被定义,终端知道$PATH,但是当我尝试用golang调试时,在$PATH变量中找不到go库

    因此,为了解决这个问题,我从ubuntu软件中卸载了默认版本,并按照以下说明手动安装:


    它适合我。

    将以下内容添加到您的~/.bash\u配置文件中:

    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:-}
    

    Visual Studio代码就是问题所在

    无论您如何在shell中设置PATH变量,在某些情况下Visual Studio代码都不会继承您的PATH设置。如果使用像LaunchBar这样的应用程序启动器来启动Visual Studio代码,则不会继承PATH变量

    以下是一个系统范围的修复程序:

    在/etc/path.d目录中,使用您的Unix用户名创建一个文件。在该文件中,放置Visual Studio代码需要使用的其他路径。在我的例子中,这是我的/etc/path.d文件的内容:

    /usr/ucb
    /opt/local/bin
    /opt/local/sbin
    ~/go/bin


    注意:您的/etc/path.d文件将在系统范围内处理。由于大多数系统都是单用户的,这对大多数开发人员来说应该不是问题

    我在macos上使用vscode与CMake一起进行C/C++开发

    vscode扩展CMake工具允许通过配置属性
    CMake.configureEnvironment
    CMake.buildEnvironment
    CMake.environment
    (分别作用于CMake配置阶段、构建阶段和两者-)操作环境变量

    然后,通过将以下代码段添加到用户或项目
    settings.json
    ,可以使用自定义路径扩展系统路径:

    "cmake.environment": {
        "PATH": "~/.myTool/bin:${env:PATH}"
    },
    

    在我的例子中(LinuxMint19.3肉桂,VS通过snap安装的代码)的诀窍是将附加的路径放在~/.profile中。由于此文件是在用户会话开始时读取的,因此编辑此文件后不要忘记注销/登录或重新启动。

    由于这是谷歌搜索“VS Code path”变体的最佳结果,我将在此处添加我的答案

    我正在运行Linux,我的问题是VS代码找不到构建我的项目所需的一些可执行文件。我是从快速启动程序(ALT+F2)运行VS代码,而不是从终端运行。我试着在许多不同的地方修改PATH变量,但似乎都做不好

    最后,将正确的路径放在~/.zshenv中才有效。这是因为.zshenv是唯一一个用于非交互式shell命令执行的文件,如VS代码内部(此处有更详细的解释)

    中的:

    > Preferences: Open Settings (JSON)
    
    添加到JSON文件:

    “terminal.integrated.env.windows”:{
    “路径”:“${env:PATH}”
    },
    

    为了检查它是否工作,请在VS代码终端中执行:

    PowerShell的
    #
    echo$env:PATH
    #狂欢节
    回显“$PATH”
    
    我认为这只运行
    ~/.bash\u配置文件