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.


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.


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



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.


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


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!


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.