Tslint: Поддержка else / catch на следующей строке

Созданный на 15 авг. 2013  ·  11Комментарии  ·  Источник: palantir/tslint

Должна быть возможность принудительно установить положение конечных заголовков блоков, например, в операторах else / catch:

В настоящее время ожидается:

if (myVar) {
    //...
} else {
    //...
}

В противном случае вы получите предупреждение «Неуместное другое».

Но мы хотим, чтобы конечный блок выдавил такую ​​строку:

if (myVar) {
    //...
}
else {
    //...
}

Или попробовать / поймать

try {
    //..
}
catch (e) {
    //..
}
finally {
    //..
}

Все остальные подобные конструкции.

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

Formatting rule Enhancement

Самый полезный комментарий

Позвольте мне уточнить:

Мне нужно правило, которое проверяет, находятся ли фигурные скобки на следующей строке, и что оно жалуется, если они находятся на той же строке.

Насколько я могу судить, нет никакого способа добиться этого.

Все 11 Комментарий

Я могу переключить его с помощью правила oneline .

Я думаю, что его следует разделить по собственному правилу: это не то же самое, что «открывающая скобка oneline должна находиться на той же строке, что и предшествующее ей выражение».

конечно, имеет смысл.

сделал все проверки необязательными, исправлено 5cd203aa3c4b2de96c8a33d8107e9a8444aa4348

Было бы здорово, если бы фигурные скобки тоже были правилом. Решение этой проблемы путем игнорирования правила «одной линии» - не идеальный вариант.

Можете ли вы привести пример того, что вы имеете в виду, @eirikhm? Если вы хотите, чтобы фигурные скобки были на следующей строке, зачем вообще нужно включать однострочное правило?

Позвольте мне уточнить:

Мне нужно правило, которое проверяет, находятся ли фигурные скобки на следующей строке, и что оно жалуется, если они находятся на той же строке.

Насколько я могу судить, нет никакого способа добиться этого.

Есть ли способ применить противоположное check-else ? Я хочу применить следующий стиль:

if (expr) {
    // code
}
else {
    // code
}

и ограничить следующий стиль:

if (expr) {
    // code
} else {
    // code
}

РЕДАКТИРОВАТЬ - это можно сделать с помощью tslint-eslint-rules

Согласен, почему бы не добавить инверсию для принудительного включения блоков в их собственную строку?

Есть ли способ применить противоположное check-else ? Я хочу применить следующий стиль:

if (expr) {
    // code
}
else {
    // code
}

и ограничить следующий стиль:

if (expr) {
    // code
} else {
    // code
}

Это очень распространенное требование - я только что узнал, что оно не поддерживается в tslint, и немного удивлен ... Я думал, что это именно то, для чего предназначен tslint?

@ sam-s4s см. № 4534

Ой, это почти грустно :( смеется)

Была ли эта страница полезной?
0 / 5 - 0 рейтинги