如何在Visual Studio Code中的launch.json中扩展$ PATH?

Ali*_*iuk 6 debugging visual-studio-code

我有一些shell脚本,我想在Visual Studio Code调试期间按名称从代码中执行。我需要扩展$ PATH环境变量以使其发生。目前,我在launch.json中关注json。

{
      "name": "Debug-Linux",
      "type": "go",
      "request": "launch",
      "mode": "debug",
      "remotePath": "",
      "port": 2345,
      "host": "127.0.0.1",
      "program": "${fileDirname}",
      "env": {
        "PATH": "$PATH:$(pwd)/../bin/" 
      },
      "showLog": true
}
Run Code Online (Sandbox Code Playgroud)

我也试过了

"env": {
      "PATH": "${env.PATH}:$(pwd)/../bin/" 
},
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用。如何在Visual Studio Code中的launch.json中扩展$ PATH环境变量?

小智 7

Windows平台上,我发现Visual Studio Code似乎区分大小写。如果变量名的拼写与计算机上的拼写不一致,则Visual Studio Code将忽略launch.json中的变量。

例如,要正确设置path拼写时的环境变量Path,您需要将以下内容添加到launch.json中。

"env": {
      "Path": "${env:Path};${workspaceFolder}\\node_modules\\.bin" 
},
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见Visual Studio代码文档中的Launch.json属性变量替换。此处在“ 变量替换”下提到了有关变量框的内容:

注意:请确保匹配环境变量名称的大小写,例如Windows上的$ {env:Path}。

这很奇怪,因为Windows对环境变量的名称不区分大小写

  • 这对我有用,但 vscode 抱怨不允许使用 env 属性,所以我将其更改为: `"environment": [{"name": "Path", "value": "${env:Path};${工作区文件夹}\\node_modules\\.bin"}],` (2认同)

ale*_*ete 5

根据文档,您应该使用${env:PATH}而不是${env.PATH}.


小智 2

我最终放弃了这项工作,但我所做的解决方法是在调试会话之前粘贴 DOS 命令以在终端中设置路径。就像是:

set PATH=C:\Python27\Lib\site-packages\pywin32_system32;%PATH%
Run Code Online (Sandbox Code Playgroud)

有点难看,但至少它让我可以工作。我将其作为注释添加到我的 launch.json 中,以便随时可用。不完全确定这是否可以干净地转移到您的 Linux 环境,但值得一试(当然,对您正在使用的 shell 进行适当的语法更改)。