如何在 VSCode 调试模式下显示整个值

在 Go 中调试时,我一直无法查看变量的全部值。当我单击一个相当长的值时,它会向我显示... +# 更多。但我找不到查看其余价值的方法。即使在手表模式下,它也会做同样的事情,即使当我点击复制值时,它也会复制 ...+# 更多。下面是一个例子。有人知道如何查看 +114 的其余部分吗?

“一些非常长的字符串..+114 更多”



jeck猫
浏览 540回答 3
3回答

四季花海

我的 Go 编程需要这个答案。答案与 Tobias 提供的答案略有不同(也许我有一个更新版本的调试器)。以下是如何更改在调试器中可以看到的字符串长度:设置你的 go 程序进行调试(为 vs 代码安装 go 扩展)在您的工作区中,将有一个 .vscode 目录。其中有一个名为launch.json 的文件。如果一个不存在,那么当您即将启动调试器时,您可以创建一个。编辑 launch.json 文件。它将有一个简单的 JSON conf。扩展该 JSON,使其看起来像这样(我将最大长度扩展到 400):{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [    {        "name": "Launch Package",        "type": "go",        "request": "launch",        "mode": "debug",        "program": "${workspaceFolder}",        "apiVersion": 2,        "dlvLoadConfig": {            "followPointers": true,            "maxVariableRecurse": 1,            "maxStringLen": 400,            "maxArrayValues": 64,            "maxStructFields": -1        }    }    ]}

梦里花落0921

你可以在 vscode settings.json 中配置 delve。有一个名为“maxStringLen”的参数,您可以将其设置为更高的值。我不建议将值设置为高。如果将 maxStringLen、maxArrayValues 等设置为高,调试器会变得非常慢。因此,如果您使用这些 delve 设置进行操作并且您的调试器变慢,最好再次选择较低的值。这是一个显示 maxStringLen 和其他一些可能值的示例:"go.delveConfig": {    "useApiV1": false,    "dlvLoadConfig": {        "followPointers": true,        "maxVariableRecurse": 3,        "maxStringLen": 400,        "maxArrayValues": 400,        "maxStructFields": -1    }}

子衿沉夜

我能够使用我的应用程序的本机记录器将长变量结果转储到终端。此示例适用于python应用程序,但我确信其他语言也有不同的风格。我的记录器已经在应用程序中设置好了,所以这很简单。在调试控制台中,我输入:logging.warning(f"{my_very_long_var}")...我得到了整个结果作为终端选项卡中的日志条目,没有任何毫无价值的...我进入调试控制台。注意:我的记录器没有立即转储它......我必须在看到输出之前从断点恢复。这可能是典型的日志记录。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go