最近更新的 VS Code + PHP XDebug - 禁用 'auto expand data' arrays/objects
Recently updated VS Code + PHP XDebug - Disable 'auto expand data' arrays/objects
Visual Studio 代码的最近更新(不确定是哪一个,自从去年年底取消更新以来我昨天更新了)代码改变了 PHP 从 XDebug 调试的行为(甚至 PHP DEVSENSE 的工具扩展)现在具有此 'auto-expand-data' 功能,其中数组和对象现在显示它们的内联值 array/object,在 Magento 2 的情况下,这使得调试现在变得非常麻烦。
我应该是没升级!!!
当显示大对象时,VS Code 现在会更频繁地崩溃,因为它现在也想为 Magento 2 对象自动扩展每个私有变量
自扩展特征 'auto-expands' 变量值以来,不再真正清楚哪些是 private/protected/public 值了。
最近添加了哪些设置,我们如何禁用它?
例子
新:
> 0:array(2)
0:"price"
1:"ASC"
> 1:array(2)
0:"name"
1:"ASC"
> 2:array(2)
0:"attr1"
1:"ASC"
> 3:array(2)
0:"attr2"
1:"ASC"
> 4:array(2)
0:"attr3"
1:"ASC"
旧:
> 0:array(2)
> 1:array(2)
> 2:array(2)
> 3:array(2)
显然 'old way'(今天更新 VS Code 之前)更简洁易读,我给出了一个数组示例,因为 Magento 2 对象只会导致 VS Code 崩溃(所以不能显示一个确切的例子)。
It's even worse for objects, viewing (while debugging) any Magento 2 object now spans 1000s of lines, and VS Code will crash almost everytime)
我不需要此功能,只想访问和查看我需要的值 functions/variables:
例如,当我现在从终端获取 $this->getCollection() 时,我会得到 1000 多个不需要的值(扩展了私有内容)。
在调试终端中
// First find out what Collection is
$this->getCollection()
// Now since Collection processed filters, I might want to investigate `getSelect`
$this->getCollection()->getSelect();
// Also investigate 'from'
$this->getSelect()->getPart('from');
如何禁用此功能?
附加信息
TonyG 在评论中也提到了这一点,我忘记提到了(因为我刚刚提供了关于 终端命令视图 的信息) ,但这也发生在我身上。
The Watch area shows correct tree structure. It's the mouse-over on variables in code that is problematic.
VS 代码版本:
Version: 1.64.2 (system setup)
Commit: f80445acd5a3dadef24aa209168452a3d97cc326
Date: 2022-02-09T22:02:28.252Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19043
PHP调试(Xdebug)v1.24.2
Last updated 23/02/2022, 09:00:55
Identifier xdebug.php-debug
服务器上的 XDebug:(Ubuntu 20.04)
Zend Engine v3.3.21, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.21-1+ubuntu20.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v3.0.3, Copyright (c) 2002-2021, by Derick Rethans
auto-expand 问题与 PHP 调试问题有关。
此问题与 PHP 调试 ~v1.24.1 or v1.24.2
有关。感谢@zobo 快速协助解决问题,非常感谢!
解决方案:
Install his new update: VS Code extension PHP Debug v1.24.3
Visual Studio 代码的最近更新(不确定是哪一个,自从去年年底取消更新以来我昨天更新了)代码改变了 PHP 从 XDebug 调试的行为(甚至 PHP DEVSENSE 的工具扩展)现在具有此 'auto-expand-data' 功能,其中数组和对象现在显示它们的内联值 array/object,在 Magento 2 的情况下,这使得调试现在变得非常麻烦。
我应该是没升级!!!
当显示大对象时,VS Code 现在会更频繁地崩溃,因为它现在也想为 Magento 2 对象自动扩展每个私有变量
自扩展特征 'auto-expands' 变量值以来,不再真正清楚哪些是 private/protected/public 值了。
最近添加了哪些设置,我们如何禁用它?
例子
新:
> 0:array(2)
0:"price"
1:"ASC"
> 1:array(2)
0:"name"
1:"ASC"
> 2:array(2)
0:"attr1"
1:"ASC"
> 3:array(2)
0:"attr2"
1:"ASC"
> 4:array(2)
0:"attr3"
1:"ASC"
旧:
> 0:array(2)
> 1:array(2)
> 2:array(2)
> 3:array(2)
显然 'old way'(今天更新 VS Code 之前)更简洁易读,我给出了一个数组示例,因为 Magento 2 对象只会导致 VS Code 崩溃(所以不能显示一个确切的例子)。
It's even worse for objects, viewing (while debugging) any Magento 2 object now spans 1000s of lines, and VS Code will crash almost everytime)
我不需要此功能,只想访问和查看我需要的值 functions/variables:
例如,当我现在从终端获取 $this->getCollection() 时,我会得到 1000 多个不需要的值(扩展了私有内容)。
在调试终端中
// First find out what Collection is
$this->getCollection()
// Now since Collection processed filters, I might want to investigate `getSelect`
$this->getCollection()->getSelect();
// Also investigate 'from'
$this->getSelect()->getPart('from');
如何禁用此功能?
附加信息
TonyG 在评论中也提到了这一点,我忘记提到了(因为我刚刚提供了关于 终端命令视图 的信息) ,但这也发生在我身上。
The Watch area shows correct tree structure. It's the mouse-over on variables in code that is problematic.
VS 代码版本:
Version: 1.64.2 (system setup)
Commit: f80445acd5a3dadef24aa209168452a3d97cc326
Date: 2022-02-09T22:02:28.252Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19043
PHP调试(Xdebug)v1.24.2
Last updated 23/02/2022, 09:00:55
Identifier xdebug.php-debug
服务器上的 XDebug:(Ubuntu 20.04)
Zend Engine v3.3.21, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.21-1+ubuntu20.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v3.0.3, Copyright (c) 2002-2021, by Derick Rethans
auto-expand 问题与 PHP 调试问题有关。
此问题与 PHP 调试 ~v1.24.1 or v1.24.2
有关。感谢@zobo 快速协助解决问题,非常感谢!
解决方案:
Install his new update: VS Code extension PHP Debug
v1.24.3