有没有办法从调试器的"变量"窗口复制数据结构?

use*_*627 10 phpstorm

在PhpStorm中调试时,我知道您可以右键单击"变量"窗格中的变量,然后选择上下文菜单项"复制值".有没有办法复制数据结构,如数组或对象?

$_GET = {array} [1]
    someVariable = "Hello this is a value, and it happens to be a string"
    anotherVar   = "What is this string"
Run Code Online (Sandbox Code Playgroud)

如果我右键单击'someVariable'并选择'Copy Value',我将在剪贴板上显示该字符串.

如果我右键单击数组中的行并选择"复制值",我的剪贴板上会显示"[1]".

我真正想要的是当我右键单击数组上的"复制值"并在剪贴板上显示这样的内容时:

'[ 'someVariable' = 'Hello this is a value, and it happens to be a string', 'anotherVar' = 'What is this string ]'
Run Code Online (Sandbox Code Playgroud)

任何想法,或有人需要制作这个插件?;)

cga*_*olo 12

从PhpStorm版本9.0.0开始(2015年7月8日发布):

  • 在PhpStorm中进行调试时,右键单击"变量"窗格中的变量,然后选择上下文菜单项"将值复制为..."以将变量复制为print_r,var_exportjson_encode之一的结果.

在PhpStorm <9.0.0的情况下,我使用了以下技巧(PhpStorm 8.0.2):

  • 在PhpStorm中进行调试时,右键单击"变量"窗格中的变量,然后选择上下文菜单项"评估表达式...".
  • 计算表达式打开与在您的变量"的表情:"字段中.在你的情况下$_GET
  • 在"Expression:"中使用var_export函数包装变量.在你的情况下:var_export($_GET,1).(第二个参数设置为1以返回变量表示而不是输出它)
  • 单击"评估"按钮以在"结果:"文本区域中查看结果.
  • 右键单击结果并选择"复制值"或使用复制快捷方式
  • 请享用!(如果您喜欢不同的输出,也可以使用其他功能,例如print_r($_GET,1))

  • 好的,我设法解决了它.它不适用于xdebug 2.2.5,所以我更新到2.3.2现在它的工作原理! (3认同)
  • 到目前为止,整个过程对我有用,除了当我复制表达式的结果时,我总是复制“无法获得财产”。对此有何建议? (2认同)

Laz*_*One 3

目前不可能。

请观看/投票此票以获取进度通知:http://youtrack.jetbrains.com/issue/WI-5693