Случайно включил некоторую проверку ошибок, не может отменить

#javascript #typescript #visual-studio-code #eslint

#javascript #typescript #visual-studio-code #eslint

Вопрос:

Я присваиваю переменной объект ошибки и добавляю к нему некоторые пользовательские свойства.

Проверка ошибок VS Code выделила новое свойство, сообщив, что оно не является частью объекта Error, что верно, но оно все равно работает.

Итак, я нажал «быстрое исправление» и случайно нажал на опцию, но понятия не имею, что это было.

Подсветка ошибок исчезла, но теперь, если я добавлю другие пользовательские свойства, все они будут проверены на соответствие тому же типу, что и первое пользовательское свойство.

например, первым пользовательским свойством было число, если я добавлю строку, теперь оно выделяет, что оно не относится к типу number .

какую настройку я включил и как мне ее отключить?

Комментарии:

1. Ну, это было, особенно потому, что я не мог вспомнить, что я нажал. Теперь чувствуешь себя лучше?

Ответ №1:

Если я объявлю Error.mycustom = 1 , что VS-код предлагает два исправления:

  • Объявить свойство «пользовательским»
  • Добавьте подпись индекса для свойства ‘custom’

Оба, похоже, изменяют ErrorConstructor интерфейс. Первый вариант просто добавляет mycustom: number к нему a, а второй добавляет [x: string]: number . Чтобы найти модификацию, щелкните правой кнопкой мыши Error и выберите «Перейти к определению». Затем вам просто нужно найти ErrorConstructor интерфейс в этом файле (обычно непосредственно под определением Error ) и удалить пользовательское объявление.

Комментарии:

1. Потрясающее спасибо! Сначала я не мог его найти, так как искал в глобальном определении TS, но я нашел его скрытым в /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/lib.es5.d.ts