Warum bekomme ich immer wieder "cr" löschen [hübscher / hübscher]?


127

Ich verwende vscode mit Prettier 1.7.2 und Eslint 1.7.0. Nach jedem Zeilenumbruch bekomme ich:

[eslint] Delete 'cr' [prettier/prettier]

Dies ist die .eslintrc.json:

{
  "extends": ["airbnb", "plugin:prettier/recommended"],
  "env": {
    "jest": true,
    "browser": true
  },
  "rules": {
    "import/no-extraneous-dependencies": "off",
    "import/prefer-default-export": "off",
    "no-confusing-arrow": "off",
    "linebreak-style": "off",
    "arrow-parens": ["error", "as-needed"],
    "comma-dangle": [
      "error",
      {
        "arrays": "always-multiline",
        "objects": "always-multiline",
        "imports": "always-multiline",
        "exports": "always-multiline",
        "functions": "ignore"
      }
    ],
    "no-plusplus": "off"
  },
  "parser": "babel-eslint",
  "plugins": ["react"],
  "globals": {
    "browser": true,
    "$": true,
    "before": true,
    "document": true
  }
}

Die .prettierrcDatei:

{
  "printWidth": 80,
  "tabWidth": 2,
  "semi": true,
  "singleQuote": true,
  "trailingComma": "es5",
  "bracketSpacing": true,
  "jsxBracketSameLine": false,
}

Wie kann ich diesen Fehler beseitigen?

Antworten:


265

Versuchen Sie, das "endOfLine":"auto"in Ihrer .prettierrc-Datei (innerhalb des Objekts) festzulegen.

Oder setzen

"prettier/prettier": ["error", {
     ..
    "endOfLine":"auto"
     ..
  }],

innerhalb des Regelobjekts der eslintrc-Datei.

Wenn Sie einen Windows-Computer verwenden, kann endOfLine basierend auf Ihrer Git-Konfiguration "crlf" sein.


18
Das Ändern der .eslintrcDatei hat bei mir funktioniert, aber nicht bei der .prettierrcDatei. Keine Ahnung warum oder was der Unterschied ist (ich bin neu in allen Tags im OP).
Neo

3
Ich vermute, dass Sie möglicherweise eine schönere Erweiterung im VS-Code benötigen. Das prettierrc ist nur in diesem Szenario gültig.
Vah Run

2
Ändern der Zeilenende-Sequenz von CRLFauf LFfür mich funktioniert, auf einem Windows-Computer
Anup

4
Für einen Neuling wie mich ist das so. Öffnen Sie das .eslintrc.jsonGeschenk in Ihrem Stammverzeichnis ( frontend). Nach Änderungen sieht es wie folgt aus:{ "extends": ["react-app", "prettier"], "plugins": ["prettier"], "rules": { "prettier/prettier": ["error", { "endOfLine": "auto" }] } }
SimpleGuy

Das Hinzufügen zur .prettierrc-Datei hat bei mir funktioniert und ja, ich habe auch die Erweiterung.
Emmanuel Neni

177

Ändern Sie diese Einstellung in VSCode.

Geben Sie hier die Bildbeschreibung ein


11
Dies würde das Problem beheben, aber nur, bis Sie eine andere Quelldatei mit CRLF geöffnet haben. Die obige Antwort ist effektiver.
BobHy

omg ... das hat mich nach einem Jahr der Frustration gerettet ...
Rotverschiebung

Das hat bei mir funktioniert. Ich habe andere Ansätze ausprobiert, einschließlich der Bearbeitung der Konfigurationsdateien. Keiner von ihnen hat funktioniert.
Amogh Sarpotdar

28

In meinem Windows-Computer habe ich dieses Problem gelöst, indem ich das folgende Codefragment in das rulesObjekt der .eslintrc.jsDatei eingefügt habe, die im Verzeichnis meines aktuellen Projekts vorhanden ist.

    'prettier/prettier': [
      'error',
      {
        endOfLine: 'auto',
      },
    ],

Dies funktionierte auch auf meinem Mac


2
Ich füge diesen Blockcode hinzu. Ich habe für mich im Fenster gearbeitet.
Tien Nguyen

Toll! Dies funktionierte sowohl für Windows als auch für Mac
Kaveen Hyacinth


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.