在VS Code中设置全局$ PATH环境变量

Jo *_*iss 15 visual-studio-code

$PATH在我的~/.bash_profile(在Mac上)定义了一个自定义环境变量,如下所示:

PATH="$HOME/.cargo/bin:$PATH:$HOME/bin"
Run Code Online (Sandbox Code Playgroud)

但是,VS Code当然不运行我的.bash_profile,所以它没有我的自定义路径.事实上,如果我切换开发人员工具并检查process.env.PATH,它似乎甚至没有/usr/local/bin.

如何$PATH在VS Code中全局设置环境变量?

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

hol*_*ill 34

在:

> Preferences: Open Settings (JSON)
Run Code Online (Sandbox Code Playgroud)

添加到 JSON 文件:

> Preferences: Open Settings (JSON)
Run Code Online (Sandbox Code Playgroud)

->应以,或terminal.integrated.env结尾,具体取决于您的操作系统。.osx.linux.windows


为了检查它是否有效,请在 VS Code 终端中执行:

"terminal.integrated.env.windows": {
    "PATH": "${env:PATH}"
},
Run Code Online (Sandbox Code Playgroud)

  • 你不会相信这对我来说已经痛苦了多久。谢谢,@holzkohlengrill。 (3认同)

Jo *_*iss 26

如果您只需要$PATH在集成终端中设置,则可以使用VS Code的terminal.integrated.env.<platform>变量(在1.15版本中添加),例如

"terminal.integrated.env.osx": {
  "PATH": "...:/usr/bin:/bin:..."
}
Run Code Online (Sandbox Code Playgroud)

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


至于在VS Code中有$PATH可用的地方,以便它可以被调用二进制文件的扩展程序使用,到目前为止我发现的唯一解决方法是:

  1. 配置你的shell(默认情况下为bash)以拥有$PATH你想要的.例如,我~/.bash_profile有以下行:

    PATH="$PATH:$HOME/bin"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在VS Code中,install 'code' command如果您之前没有这样做,请按⇧⌘P并键入.

  3. 退出VS代码.

  4. 不要通过单击Dock或Launchpad中的图标来启动VS Code ,而是打开Terminal.app并键入code.您的新设置路径将在VS代码中处于活动状态,直到您退出为止.

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


joh*_*dka 10

由于这是“VS Code path”变体的顶部 Google 搜索结果,因此我将在此处添加我的答案。

我正在运行 Linux,我的问题是 VS Code 找不到构建我的项目所需的一些可执行文件。我是从快速启动器 (ALT+F2) 运行 VS Code,而不是从终端运行。我尝试在许多不同的地方修改 PATH 变量,但似乎无法正确执行。

最后,将正确的 PATH 放入 ~/.zshenv 中即可。这是因为 .zshenv 是唯一一个从 VS Code 内部获取非交互式 shell 命令执行源的文件(更详细的解释请参见https://unix.stackexchange.com/questions/71253/what-should-shouldnt-go -in-zshenv-zshrc-zlogin-zprofile-zlogout


rus*_*ses 6

Visual Studio Code 是问题所在。

无论您如何在 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 文件将在系统范围内处理。由于大多数系统都是单用户系统,因此对于大多数开发人员来说这应该不是问题。

  • 在 macOS 中,有一个文件 `/etc/paths`,其中包含路径,然后是一个文件夹 `/etc/paths.d`,其中包含由其他应用程序创建的路径(例如,我有一个来自安装 TeX 的应用程序) (2认同)

For*_*For 6

这比上述答案建议的更容易修复。

打开 VSCode 设置(Ctrl + ,)并搜索terminal.defaultProfile.

我更新了我的 Terminal > Integrated > Default Profile: Windows

null它被默认设置为。当我将其更改为 PowerShell 并重新启动终端后,它就获取了我系统的path变量!


小智 5

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

The vscode extension CMake Tools allows to manipulate environment variables via the configuration properties cmake.configureEnvironment, cmake.buildEnvironment and cmake.environment (acting respectively on the CMake configuration phase, the build phase and both - see docs).

Then you can extend your system PATH with custom paths by adding the following snippet to your user or project settings.json:

"cmake.environment": {
    "PATH": "~/.myTool/bin:${env:PATH}"
},
Run Code Online (Sandbox Code Playgroud)