如何在 VSCode 中的 launch.json 中使用自定义环境变量

Jul*_*lle 6 environment-variables visual-studio-code

我知道这个问题可能听起来与这个问题类似:How do I addenvironmentvariables to launch.json in VSCode

但我真正想要的是在实际的 launch.json 文件中使用 .env 文件中的变量,而不是在程序中使用它们。

所以我的设置是这样的:

project-root/
  |-- .env
  |-- .vscode/
        |-- launch.json
  |-- src/
        |-- my-plugin/
        |-- my-theme/
  |-- wordpress/
  |-- data/
  |-- docker-compose.yml

Run Code Online (Sandbox Code Playgroud)

在我的 .env 文件中,我有这个:

PLUGIN_SLUG=my-plugin
THEME_SLUG=my-theme
Run Code Online (Sandbox Code Playgroud)

现在,在我的 launch.json 文件中,我真的希望能够使用这样的${THEME_SLUG}和变量:${PLUGIN_SLUG}

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Listen for XDebug",
      "type": "php",
      "request": "launch",
      "port": 9000,
      "pathMappings": {
        "/var/www/html/wp-content/plugins/${PLUGIN_SLUG}": "${workspaceRoot}/src/${PLUGIN_SLUG}",
        "/var/www/html/wp-content/themes/${THEME_SLUG}": "${workspaceRoot}/src/${THEME_SLUG}",
        "/var/www/html": "${workspaceRoot}/wordpress",
      },
    }
  ],
}
Run Code Online (Sandbox Code Playgroud)

知道如何实现这一目标吗?

::编辑::

经过进一步挖掘,我意识到当我在内部全局设置变量时,/etc/profile.d/temp.sh如下所示:

export PLUGIN_SLUG=codeable-plugin
export THEME_SLUG=codeable-theme
Run Code Online (Sandbox Code Playgroud)

退出系统并重新登录后,我可以在任何地方使用这些变量,包括在我的 launch.json 文件中,如下所示:

   "/var/www/html/wp-content/plugins/${env:PLUGIN_SLUG}": "${workspaceRoot}/src/${env:PLUGIN_SLUG}",
   "/var/www/html/wp-content/themes/${env:THEME_SLUG}": "${workspaceRoot}/src/${env:THEME_SLUG}",
Run Code Online (Sandbox Code Playgroud)

虽然这离我想要的更近了一步,但每次切换项目时在全局操作系统配置中手动更新这些变量,然后注销并再次登录,这并不是真正可行的。