Невозможно исправить правило eslint в операторах отступа в выражении switch - PullRequest
0 голосов
/ 30 октября 2018

Вот скриншот моего возвышенного текстового окна, показывающего ошибку eslint, генерируемую для оператора switch / case. Я хочу, чтобы имел отступ 4 пробела, как показывает код.

enter image description here

и вот 4 различных попыток разрешить отступ в 4 пробела путем внесения изменений в файл .eslintrc в моем приложении реакции. Я гуглил решение и увидел предложения добавить и switchCase, и indentSwitchCase, но мои правила .eslintrc полностью разделены, а не camelcase, поэтому я добавил все 4 правила, чтобы убрать ошибку из возвышенного текста, но не повезло ... что я делаю не так?!?!

enter image description here

РЕДАКТИРОВАТЬ: это приложение React / MERN, и я использую возвышенный текст в качестве моего редактора. Дайте мне знать, если я могу поделиться чем-нибудь еще из моего файла .eslintrc, чтобы помочь!

РЕДАКТИРОВАТЬ 2: я пробовал это:

"indent": ["error", 4, {SwitchCase: 1}]

... но это недопустимое правило для отступа. Как добавить объект параметра в правило отступа, не получая ошибки?

1 Ответ

0 голосов
/ 30 октября 2018

Я только что увидел, что вы внесли изменения ("РЕДАКТИРОВАТЬ 2") в свой ответ.

В любом случае, я хотел бы посоветовать вам именно этот вариант:

"indent": ["error", 4, { "SwitchCase": 1 }]

Почему вы считаете это " недопустимым правилом для отступа "?

Согласно документам , это правильный способ установить желаемый отступ для операторов switch.

«SwitchCase» (по умолчанию: 0) обеспечивает уровень отступа для предложений case в операторах switch.

Документы также содержат [четыре примера]:

  • Отступ 2 пробелов с SwitchCase, установленным в 0, не будет сдвигать предложения регистра в отношении операторов switch.
  • Отступ 2 пробела с SwitchCase, установленным в 1, будет сдвигать предложения case с 2 пробелами относительно операторов switch.
  • Отступ 2 пробелов с SwitchCase, установленным в 2, будет сдвигать предложения case с 4 пробелами относительно операторов switch.
  • Отступ вкладки с SwitchCase, установленным в 2, будет сдвигать предложения регистров с 2 вкладками относительно операторов switch.

Это всего лишь примеры, тот факт, что целевой объект опции не указан, не означает, что он неверен. И действительно, это кажется правильным: ESLint Demo .

Ваш вариант использования фактически включен в документы версии 2.0.0 (нет привязки для прямой ссылки, извините, если это последний кодовый блок документа):

/*eslint indent: [2, 4, {"SwitchCase": 1}]*/

switch(a){
    case "a":
        break;
    case "b":
        break;
}
...