VS 代码调试 - 正在用省略号替换对象值。如何在调试中显示对象值?

VS code debug - is replacing object values with ellipses. How to show object values in debug?

如何让调试控制台显示已排序对象的实际值?

VS Code 调试控制台显示的结果如下,不可展开:

[{…}, {…}, {…}, {…}, {…}, {…}]
No debugger available, can not send 'variables'

这是我用 VS Code 编写的输出排序对象的简单程序。

const items = [
    { name: 'Edward', value: 21 },
    { name: 'Sharpe', value: 37 },
    { name: 'And', value: 45 },
    { name: 'The', value: -12 },
    { name: 'Magnetic', value: 13 },
    { name: 'Zeros', value: 37 }
  ];

// sort by value
items.sort(function (a, b) {
    return a.value - b.value;
  });

// console.log(items);

这是 launch.json 文件:

{
    // 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": []
}

重要提示:此解决方案仅在您使用 Node.js.

时有效

如果你正在使用Node.js,你可以使用built-inutil.inspect()函数。

首先,您必须使用 require() 导入它。

const util = require("util");

然后,您可以调用inspect函数。您需要将对象作为参数传入。

const inspected = util.inspect(obj);
console.log(inspected);

然后,你就可以轻松看到物体而不被凝聚!有关详细信息,请参阅 util.inspect() documentation.


如果您不使用 Node.js,您可以使用 JSON.stringify()。您可以直接使用它,将对象作为参数传递。

const obj = [
  { name: "Edward", value: 21 },
  { name: "Sharpe", value: 37 },
  { name: "And", value: 45 },
  { name: "The", value: -12 },
  { name: "Magnetic", value: 13 },
  { name: "Zeros", value: 37 }
];

console.log(JSON.stringify(obj));

这应该能让您正确地检查它。

Stringify 有效,但我的输出是丑陋的 AF! vscode 这方面真的很烂!