VSCode 观察变量的褪色颜色属性

问题描述 投票:0回答:1

当我从 VSCode 中的代码库(打字稿)添加这个特定的预先存在的变量时,我可以看到一些属性呈褪色,一些属性呈正常颜色。该变量的类型为

any
。我还不知道它的结构。

enter image description here

褪色的是什么意思?

我还观察到,如果我使用

JSON.stringify
打印变量,则只会打印正常的颜色属性。我尝试过递归
JSON.stringify
,但打印出来的结果是一样的。可以在代码中查询褪色的颜色属性,并且它们返回正确的值,例如
error.options

如何打印整个结构?

我用谷歌搜索,但找不到任何答案。

typescript visual-studio-code vscode-debugger watch
1个回答
0
投票

灰色属性是那些不可枚举且不可获取的属性。

通过以下快速实验:

const foo = Object.create(null, {
const b = {a:1,b:2,c:3};
const c = Object.create(b, {
  a: {configurable:true, enumerable:true, writable:true, value:1},
  b: {configurable:true, enumerable:true, writable:false,value:1},
  c: {configurable:true, enumerable:false,writable:true, value:1},
  d: {configurable:true, enumerable:false,writable:false,value:1},
  e: {configurable:false,enumerable:true, writable:true, value:1},
  f: {configurable:false,enumerable:true, writable:false,value:1},
  g: {configurable:false,enumerable:false,writable:true, value:1},
  h: {configurable:false,enumerable:false,writable:false,value:1},
  i: {configurable:true, enumerable:true, get(){return 1;}},
  j: {configurable:true, enumerable:false,get(){return 1;}},
  k: {configurable:false,enumerable:true, get(){return 1;}},
  l: {configurable:false,enumerable:false,get(){return 1;}},
});

c
d
g
h
变暗。

果然,查看源代码,这就是它要检查的内容。 https://github.com/microsoft/vscode-js-debug/blob/a8859b0435a9e8cbfe5a123359827674fa5d9de3/src/adapter/variableStore.ts#L481.

© www.soinside.com 2019 - 2024. All rights reserved.