如何找出哪个编译器选项与给定的打字稿错误相关联?
我在VSCode中使用Typescript,Typescript经常指出问题,例如initializer provides no value for this binding element
(请注意,这是由 Typescript 生成的警告,而不是 TSLint(。
在tsconfig.json
中,我可以关闭特定的警告,例如
"compilerOptions": {
"noImplicitAny": false,
"strictPropertyInitialization": false
}
但据我所知,没有办法找出哪个编译器选项与哪个错误相关联。
到目前为止的线索,但没有解决方案:
这篇SO帖子,Typescript错误代码及其修复的完整列表,提供了消息列表,但没有使用哪个编译器选项en/禁用消息。
不幸的是,编译器选项的名称没有模仿错误的措辞,因此您无法通过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
等