VS Code搭配Xdebug调试PHP时变量值显示不全如何解决
问题描述
我正在使用步进调试器调试代码,$x变量中存储了一段JSON字符串,需要复制该变量的完整值,但调试面板仅显示一半内容,无法完成复制。
测试使用的VS Code版本为1.68.1,需要无需借助「将变量值写入文件」这类变通方案的解决方法。
解决方法
不需要额外导出文件,使用VS Code原生功能即可完成完整值复制:
- 右键快捷复制
在左侧运行和调试面板的「变量」列表中找到$x,右键点击变量名,选择菜单中的「复制值」,剪贴板会直接获取变量的完整内容,不受面板显示截断规则影响。 - 控制台命令一键复制
断点触发调试暂停时,切换到「调试控制台」面板,直接输入copy($x)后回车,VS Code会自动将该变量的完整值写入系统剪贴板,直接粘贴即可拿到全量内容。 - 取消输出长度限制后手动复制
如果需要在界面上查看完整内容再复制,可以修改设置解除截断:- 按下快捷键
Ctrl+,(macOS系统按Cmd+,)打开设置页 - 搜索设置项
debug.console.maxStringLength,将默认的数值改为0,该配置项设为0时代表不对调试控制台的字符串输出做长度截断 - 回到调试控制台输入
$x回车,即可看到完整的JSON内容,手动选中复制即可。
- 按下快捷键
如果你使用的是PHP、Python等特定语言的调试扩展,个别扩展会单独设置调试时传输变量的最大长度,若上述操作后仍有截断,找到对应调试扩展的变量返回长度配置项,将数值调大即可。
内容的提问来源于stack exchange,提问作者Black
相关产品推荐
相关产品推荐

