Подключение ошибок машинописного текста к соответствующим параметрам компилятора (tsconfig. json) - PullRequest
0 голосов
/ 21 января 2020

Как узнать, какая опция компилятора связана с данной ошибкой Typescript?

Я использую Typescript в VSCode, и Typescript часто указывает на проблемы, такие как initializer provides no value for this binding element

(Обратите внимание, что это предупреждение, генерируемое Typescript, а не TSLint).

В tsconfig.json я могу отключить определенные c предупреждения, такие как

"compilerOptions": {
  "noImplicitAny": false,
  "strictPropertyInitialization": false
}

Но, насколько я могу судить, нет способа узнать, какая опция компилятора связано с какой ошибкой.

Подсказки, но пока нет решения:

Эта статья SO, Полный список кодов ошибок Typescript и их исправлений , содержит список сообщения, но не с какой опцией компилятора en / отключает сообщение.

И, к сожалению, имена параметров компилятора не имитируют c формулировку ошибок, поэтому вы не можете найти ошибку с помощью простого intellisense в пределах tsconfig.json.

Кроме того, официальные документы, по-видимому, не предоставляют такое сопоставление ошибок с опциями: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html, https://www.typescriptlang.org/docs/handbook/compiler-options.html.

Итак, просто для повторения вопроса: как я могу узнать, какую опцию компилятора отключить, чтобы заглушить данную ошибку?

1 Ответ

0 голосов
/ 23 января 2020

Между сообщениями об ошибках и настройками компилятора нет соответствия 1: 1 (или 1: n или n: 1), и подавляющее большинство ошибок не может быть отключено с помощью какой-либо опции компилятора. Многие параметры компилятора изменяют поведение таким образом, что это означает, что вы не можете надежно сказать, что произошло бы контрфактически с некоторым другим набором параметров.

Для сообщений об ошибках, которые имеют соответствующий флаг текст ошибки обычно намекает на это

  • "x" implicitly has type 'any'noImplicitAny
  • Unreachable code detectedallowUnreachableCode
  • Unused label detectedallowUnusedLabels
  • "x" is possibly "null"strictNullChecks
  • Local "x" is unusednoUnusedLocals

et c

...