将 typescript 错误与其关联的编译器选项相关联 (tsconfig.json)
Connecting typescript errors to their associated compiler options (tsconfig.json)
如何找出与给定 Typescript 错误关联的编译器选项?
我在 VSCode 中使用 Typescript,Typescript 经常指出问题,例如 initializer provides no value for this binding element
(请注意这是由 Typescript 而非 TSLint 生成的警告)。
在tsconfig.json
中,我可以关闭特定的警告,比如
"compilerOptions": {
"noImplicitAny": false,
"strictPropertyInitialization": false
}
但据我所知,没有办法找出哪个编译器选项与哪个错误相关联。
目前有线索,但无解:
此 SO post、 提供了消息列表,但未提供带有哪个编译器选项的消息 en/disables。
不幸的是,编译器选项的名称并没有模仿错误的措辞,因此您无法通过 tsconfig.json
中的简单智能感知找到错误。
此外,官方文档似乎也没有提供这样的错误到选项的映射:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html , https://www.typescriptlang.org/docs/handbook/compiler-options.html。
所以,只是重申一下这个问题:我怎样才能找出要关闭哪个编译器选项来消除给定的错误?
错误消息和编译器设置之间没有 1:1(或 1:n 或 n:1)对应关系,并且无法使用任何编译器选项关闭绝大多数错误.许多编译器选项改变 行为 的方式意味着您无法可靠地说出使用其他一些选项集会反事实发生的事情。
对于有相应标志的错误信息,错误文本通常会提示
"x" implicitly has type 'any'
▶ noImplicitAny
Unreachable code detected
▶ allowUnreachableCode
Unused label detected
▶ allowUnusedLabels
"x" is possibly "null"
▶ strictNullChecks
Local "x" is unused
▶ noUnusedLocals
等等
如何找出与给定 Typescript 错误关联的编译器选项?
我在 VSCode 中使用 Typescript,Typescript 经常指出问题,例如 initializer provides no value for this binding element
(请注意这是由 Typescript 而非 TSLint 生成的警告)。
在tsconfig.json
中,我可以关闭特定的警告,比如
"compilerOptions": {
"noImplicitAny": false,
"strictPropertyInitialization": false
}
但据我所知,没有办法找出哪个编译器选项与哪个错误相关联。
目前有线索,但无解:
此 SO post、
不幸的是,编译器选项的名称并没有模仿错误的措辞,因此您无法通过 tsconfig.json
中的简单智能感知找到错误。
此外,官方文档似乎也没有提供这样的错误到选项的映射:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html , https://www.typescriptlang.org/docs/handbook/compiler-options.html。
所以,只是重申一下这个问题:我怎样才能找出要关闭哪个编译器选项来消除给定的错误?
错误消息和编译器设置之间没有 1:1(或 1:n 或 n:1)对应关系,并且无法使用任何编译器选项关闭绝大多数错误.许多编译器选项改变 行为 的方式意味着您无法可靠地说出使用其他一些选项集会反事实发生的事情。
对于有相应标志的错误信息,错误文本通常会提示
"x" implicitly has type 'any'
▶noImplicitAny
Unreachable code detected
▶allowUnreachableCode
Unused label detected
▶allowUnusedLabels
"x" is possibly "null"
▶strictNullChecks
Local "x" is unused
▶noUnusedLocals
等等