Dlaczego wciąż otrzymuję komunikat Usuń „cr” [ładniejszy / ładniejszy]?

153

Używam vscode z Prettier 1.7.2 i Eslint 1.7.0. Po każdej nowej linii otrzymuję:

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

To jest plik .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
  }
}

.prettierrcPliku:

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

Jak mogę pozbyć się tego błędu?

bier hier
źródło

Odpowiedzi:

315

Spróbuj ustawić "endOfLine":"auto"w swoim pliku .prettierrc (wewnątrz obiektu)

Albo ustawić

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

wewnątrz obiektu rules w pliku eslintrc.

Jeśli używasz komputera z systemem Windows, endOfLine może być "crlf" w oparciu o konfigurację git.

Vah Run
źródło
28
Zmiana .eslintrcpliku zadziałała dla mnie, ale nie .prettierrcplik. Nie mam pojęcia, dlaczego lub jaka jest różnica (jestem nowy we wszystkich tagach na OP).
Neo
3
Domyślam się, że możesz potrzebować ładniejszego rozszerzenia w kodzie VS. Prettierrc będzie ważny tylko w tym scenariuszu.
Vah Run
3
zmiana sekwencji końca wiersza z CRLFna LFdziałała dla mnie, na komputerze z systemem Windows
Anup
10
Dla nowicjusza takiego jak ja, tak należy to zrobić. Otwórz .eslintrc.jsonprezent w swoim katalogu głównym ( frontend). Po zmianach będzie wyglądać następująco:{ "extends": ["react-app", "prettier"], "plugins": ["prettier"], "rules": { "prettier/prettier": ["error", { "endOfLine": "auto" }] } }
SimpleGuy
Dodanie do pliku .prettierrc działało dla mnie i tak, mam również rozszerzenie.
Emmanuel Neni
200

zmień to ustawienie w VSCode.

wprowadź opis obrazu tutaj

xudong zhang
źródło
14
To rozwiązałoby problem, ale tylko do momentu otwarcia innego pliku źródłowego z CRLF. Powyższa odpowiedź jest bardziej skuteczna.
BobHy
To zadziałało dla mnie. Próbowałem innych podejść, w tym edycji plików konfiguracyjnych, żadne z nich nie działało.
Amogh Sarpotdar
39

Na moim komputerze z systemem Windows rozwiązałem to, dodając poniższy fragment kodu w rulesobiekcie .eslintrc.jspliku obecnym w katalogu mojego bieżącego projektu.

    "prettier/prettier": {
      "error",
      {
        "endOfLine": "auto"
      },
    },

To działało również na moim Macu

Jake
źródło
jak może działać nieprawidłowy json?
user2541867
5

Używam git + vscode + windows + vue, a po przeczytaniu dokumentu eslint: https://eslint.org/docs/rules/linebreak-style

Na koniec napraw to przez:

dodać *.js text eol=lfdo.gitattributes

następnie uruchomić vue-cli-service lint --fix

Waket Zheng
źródło
3

w pliku .eslintrc.json w rolach bocznych dodaj ten kod, rozwiąże ten problem

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

  }
Mohammed_Alreai
źródło
2

Spróbuj tego. Mi to pasuje:

włóczka run lint --fix

lub

npm run lint - --fix

Hakan
źródło
1

Zaktualizowałem do „ładniejszej”: „^ 2.2.0” i błąd zniknął

Roberto LL
źródło
0

Naprawiono - Mój plik .eslintrc.js wygląda tak:

module.exports = {
  root: true,
  extends: '@react-native-community',
  rules: {'prettier/prettier': ['error', {endOfLine: 'auto'}]},
};
Hamza Waleed
źródło
0

W katalogu głównym otwórz plik .editorconfig i zmień:

end_of_line = lf

do

end_of_line = auto

To powinno rozwiązać problem w przypadku nowych plików.

richard cokolwiek
źródło
0

Dodaj to do swojego pliku .prettierrc i otwórz plik VSCODE

"endOfLine": "auto"
Vince
źródło
0

Wszystkie powyższe odpowiedzi są poprawne, ale kiedy używam systemu Windows i wyłączam rozszerzenie Prettier ESLint, rvest.vs-code-prettier-eslint problem zostanie rozwiązany.

AndriyFM
źródło