Tslint: Unterstützen Sie sonst / fangen Sie in der nächsten Zeile an

Erstellt am 15. Aug. 2013  ·  11Kommentare  ·  Quelle: palantir/tslint

Es sollte möglich sein, die Position von nachgestellten Blockheadern wie else/catch-Anweisungen zu erzwingen:

Aktuell wird dies erwartet:

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

Andernfalls erhalten Sie die Warnung 'anders verlegt'.

Aber wir wollen, dass der nachfolgende Block eine Zeile wie diese gestoßen hat:

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

Oder zum Probieren/Fangen

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

Alle anderen ähnlichen Strukturen.

Wir finden es einfacher zu lesen, da das Schlüsselwort am linken Rand eng ist und die Position der schließenden Klammer eine fast leere Zeile erzwingt, genau wie im Startblock.

Formatting rule Enhancement

Hilfreichster Kommentar

Lassen Sie mich klarstellen:

Ich hätte gerne eine Regel, die überprüft, ob geschweifte Klammern in der nächsten Zeile stehen, und sich beschwert, wenn sie sich in derselben Zeile befinden.

Soweit ich das beurteilen konnte, gibt es keine Möglichkeit, dies zu erzwingen.

Alle 11 Kommentare

Ich kann es mit der Regel oneline umschalten.

Ich denke, es sollte nach einer eigenen Regel aufgeteilt werden: Es ist nicht dasselbe wie die "öffnende Klammer von Oneline, die in derselben Zeile steht wie der davorstehende Ausdruck".

klar, macht Sinn.

alle Prüfungen optional gemacht, behoben durch 5cd203aa3c4b2de96c8a33d8107e9a8444aa4348

Es wäre toll, wenn auch die Zahnspange der nächsten Linie eine Regel wäre. Es ist nicht ideal, es zu lösen, indem man die "oneline"-Regel ignoriert.

Können Sie uns ein Beispiel geben, was Sie meinen, @eirikhm? Wenn Sie möchten, dass sich Ihre geschweiften Klammern in der nächsten Zeile befinden, warum möchten Sie dann die Einzeilenregel überhaupt aktivieren?

Lassen Sie mich klarstellen:

Ich hätte gerne eine Regel, die überprüft, ob geschweifte Klammern in der nächsten Zeile stehen, und sich beschwert, wenn sie sich in derselben Zeile befinden.

Soweit ich das beurteilen konnte, gibt es keine Möglichkeit, dies zu erzwingen.

Gibt es eine Möglichkeit, das Gegenteil von check-else zu erzwingen? Ich möchte folgenden Stil durchsetzen:

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

und beschränken Sie den folgenden Stil:

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

BEARBEITEN - dies kann mit tslint-eslint-rules erreicht werden

Zugegeben, warum fügen Sie nicht das Inverse zum Forcen von Blöcken zu ihrer eigenen Zeile hinzu?

Gibt es eine Möglichkeit, das Gegenteil von check-else zu erzwingen? Ich möchte folgenden Stil durchsetzen:

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

und beschränken Sie den folgenden Stil:

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

Dies ist eine sehr häufige Anforderung - ich habe gerade herausgefunden, dass sie von Tslint nicht unterstützt wird und bin ein bisschen überrascht ... Ich dachte, das wäre genau die Art von Sache, für die Tslint gedacht ist?

@sam-s4s siehe #4534

Aww das ist fast ein bisschen traurig :(lol

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

mrand01 picture mrand01  ·  3Kommentare

denkomanceski picture denkomanceski  ·  3Kommentare

ypresto picture ypresto  ·  3Kommentare

ghost picture ghost  ·  3Kommentare

Ne-Ne picture Ne-Ne  ·  3Kommentare