Visual Studio 代码 - 没有 运行 程序(或

Visual Studio Code - Cannot set env without running a program (or

我看到了这个不寻常的错误。它刚刚开始出现,它阻止我调试我的 WSL Web 解决方案。

我是 运行 一个 php wordpress 站点,使用 Visual Studio 代码并使用 XDebug 对其进行调试。我的 launch.json 中有以下内容,我知道它昨天有效并且现在已经正常工作了一段时间。

当我尝试调试时,我收到一条弹出消息,内容如下

我以前从未见过此消息,也无法在网上看到任何相关信息。

我的 launch.json 如下所示

"version": "0.2.0",
"configurations": [
    {
        "name":"Listen for XDebug",
        "type":"php",
        "request":"launch",
        "port":9003,
        "pathMappings": {
            "server path": "${workspaceRoot}" 
        },
        "xdebugSettings": {
            "max_data": 10000,
            //"show_hidden": 1,
            "max_children": 250,
            "max_depth": 10
        },
        "env": {
            "XDEBUG_MODE": "debug",
            "XDEBUG_TRIGGER": "VSCODE"
        }
    }
]

'server path'是项目在服务器上的路径。

我一开始以为这个端口可能被其他东西占用了,但事实并非如此。

我已经尝试重新启动 Apache2,重新加载 PHP7.3-fpm 并关闭我的计算机,希望问题自行解决,但似乎没有任何效果。

还有其他人遇到过这个问题吗?

似乎突然之间,由于某种原因 env 不被识别,VSC 不再喜欢它。在 launch.json 中将其替换为 enivornment(根据建议的评论 GrafiCode)解决了问题。

根据评论中的@burito,env 已重命名为 `environment.

关于发生这种情况的原因,我唯一的猜测是我的根目录中有一个 .env 文件,该文件可能会覆盖启动,因此当我启动解决方案时,它命中了 .env 文件,发现解决方案不是 运行...从而抛出错误/ pop-up.

php-debug 在这里开发。

我添加这个错误是因为人们不明白如果不启动 program/script 调试适配器就不能影响 Xdebug 所在的环境 运行。有效地在你的 launch.json env 什么都不做。

回顾变化,我应该先引入警告...

澄清一下,env 并未重命名为 enivornment

  1. Open plugins and click gear icon for "PHP Debug" Extension
  2. 从下拉菜单中,select“安装另一个版本”
  3. Click to select "1.25.0" from the menu
  4. Click "Reload Required" to restart VS Code