我正在使用Visual Studio Code 1.16.1和Felix Becker的PHP Debug extension . 我正好连接到XDebug,可以在调试窗格中设置断点和查看变量而不会出现任何问题 .

但是,调试控制台似乎没用,我只能运行超级基本的PHP命令,我似乎无法评估正常的PHP命令或与我的应用程序很好地交互 .

尝试在调试控制台中键入任何PHP语句或表达式时,我始终得到 error evaluating code . 似乎我所能做的就是声明变量,数组和对象 .

我不能声明类,函数,使用控制结构( ifforeach 等) .

Works:

$x = 4
//4

$x
//4

$x = new stdClass();
//stdClass

$x = [];
//array(0)

($x) ? yes : no
// yes

(!$x) ? yes : no
// no

preg_replace('/dog/', 'cat', 'The quick brown fox jumps over the lazy dog.')
// "The quick brown fox jumps over the lazy cat."

request()
//Illuminate\Http\Request (Laravel helper methods work)

Doesn't Work:

echo "yes"
//error evaluating code

if ($x == 4) { echo "yes" }
//error evaluating code

for ($i=0; $i < 5; $i++) { }
//error evaluating code

function foo() {}
//error evaluating code

class SimpleClass {}
//error evaluating code

$var_dump($x)
//null

调试控制台是否应该像真正的REPL一样?我知道PHPStorm的控制台可以评估你抛出的任何PHP,Visual Studio Code也可以这样做吗?还有其他人面临这个问题吗?

谢谢 .

enter image description here