TSLint-Warnungen automatisch korrigieren

73
    [64, 1]: space indentation expected
    [15, 27]: Missing semicolon
    [109, 36]: missing whitespace
    [111, 24]: missing whitespace
    [70, 1]: Consecutive blank lines are forbidden

Ich bekomme immer wieder solche Warnungen von TSLint. Es gibt eine große Anzahl von Warnungen, und es wird sehr schwierig sein, sie manuell zu beheben.

Ich suchte nach einem Weg, mit dem die meisten Warnungen automatisch behoben werden können.

ANKIT HALDAR
quelle
1
Diese Antwort kann nützlich sein: stackoverflow.com/questions/36447910/…
Daniel Eduardo Delgado Diaz

Antworten:

127

Mit der --fixOption TSLint können Sie die meisten Warnungen automatisch korrigieren. Dies könnte in einem allgemeinen Anwendungsfall ungefähr so ​​aussehen:

tslint --fix -c ./config/tslint.json 'src/**/*{.ts,.tsx}'

Beachten Sie, dass dadurch Ihr Quellcode überschrieben wird. Obwohl dies in 99,9% der Fälle sicher ist, empfehle ich den folgenden Workflow:

  1. Übernehmen Sie die Änderungen, die Sie an Ihrem Code vorgenommen haben
  2. Führen Sie TSLint mit dem --fixFlag wie oben aus
  3. Überprüfen Sie schnell die Änderungen, die TSLint vorgenommen hat
  4. Nehmen Sie mit diesen Änderungen ein neues Commit vor oder ändern Sie sie einfach in Ihr vorheriges Commit

Auf diese Weise werden Sie nie von einer falschen Autokorrektur überrascht.

JKillian
quelle
48
Wenn Sie Angular CLI verwenden, wird dies mitng lint --fix
daniel.caspers
1
@ daniel.caspers odernode_modules\.bin\tslint --fix -c ./tslint.json 'src/**/*{.ts,.tsx}'
FindOutIslamNow
20
tslint --fix --project ./tsconfig.json

Dies ist die automatische Behebung aller Fehler im Stammordner

ANKIT HALDAR
quelle
6

Mit @ angle / cli können Sie verwenden ng lint --fix

Spritzen
quelle
3

Wenn Sie IntelliJ Idea oder WebStrom verwenden , können Sie File Watcher unter Einstellungen> Tools mit der folgenden Konfiguration erstellen :

Geben Sie hier die Bildbeschreibung ein

Beim Speichern ( Strg + s ) wird Ihre aktuelle Datei repariert.

Gregor Albert
quelle
2

Wenn Sie Webpack verwenden. Sie können tslint-loader verwenden:

Fügen Sie dies zu den Regeln des Webpack-Moduls hinzu:

{
    test: /\.ts$/,
    loader: 'tslint-loader',
    enforce: 'pre',
    options: {
      fix: true
    }
  }

Lesen Sie hier mehr: tslint-loader

Caal Saal VI
quelle
1

Vielleicht könnte dies jemandem helfen, der beim Speichern nach autoFix sucht!

Wir können tslint-Warnungen machen, um beim Speichern automatisch fixiert zu werden. Gehen Sie dazu zur Datei tslint.json und fügen Sie die folgenden Einstellungen hinzu. [Hinweis: Diese Einstellung funktioniert mit der neuesten TSLint und nicht mit der veralteten].

  "source.fixAll.tslint": true

Gehen Sie nach dem Aktualisieren zu einer beliebigen Datei und versuchen Sie, einige Leerzeichen anzugeben. Die tslint-Warnmeldung wird als "nachfolgendes Leerzeichen" angezeigt. Wenn Sie speichern (Strg + S), wird diese Warnung ausgeblendet. Obwohl es manuell angezeigt wird, versuchen wir normalerweise, die Datei nach der Bearbeitung zu speichern. Bis dahin wird sie automatisch repariert.

Viel Spaß beim Codieren!

Viswa
quelle
1
Tolle! Eine Sache: Sie müssen die Zeile zu settings.jsontslint.json hinzufügen und nicht. Vollständiger Code zum Hinzufügen:"editor.codeActionsOnSave": { "source.fixAll.tslint": true }
Prid