Я использую vscode с Prettier 1.7.2 и Eslint 1.7.0. После каждой новой строки я получаю:
[eslint] Delete 'cr' [prettier/prettier]
Это .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
}
}
Файл .prettierrc:
{
"printWidth": 80,
"tabWidth": 2,
"semi": true,
"singleQuote": true,
"trailingComma": "es5",
"bracketSpacing": true,
"jsxBracketSameLine": false,
}
Как мне избавиться от этой ошибки?
Зачем вы расширяете "plugin:prettier/recommended"?





Попробуйте установить "endOfLine":"auto" в вашем файле .prettierrc (внутри объекта)
Или установить
'prettier/prettier': [
'error',
{
'endOfLine': 'auto',
}
]
внутри объекта правил файла eslintrc.
Если вы используете Windows-машину, endOfLine может быть "crlf" в зависимости от вашей конфигурации git.
У меня сработало изменение файла .eslintrc, но не файла .prettierrc. Не знаю, почему или в чем разница (я новичок во всех тегах OP).
Я предполагаю, что вам может понадобиться расширение Prettier в VS Code. Prettierrc будет действителен только в этом сценарии.
изменение последовательности конца строки с CRLF на LF сработало для меня на машине с Windows
Для такого новичка, как я, это должно быть сделано именно так. Откройте .eslintrc.json, находящийся в вашем корневом каталоге (frontend). После изменений он будет выглядеть следующим образом: { "extends": ["react-app", "prettier"], "plugins": ["prettier"], "rules": { "prettier/prettier": ["error", { "endOfLine": "auto" }] } }
Добавление в файл .prettierrc сработало для меня, и да, у меня тоже есть расширение.
Добавление этого к моему .elintrc сработало. Я до сих пор не понимаю, почему были затронуты только оригинальные (я почти уверен) файлы с create-react-app. Файлы, которые я добавил в проект, казалось, обрабатывались правильно без этого мода. Странно, по крайней мере, для меня.
Примечание: блок prettier/prettier входит в раздел rules файла .eslintrc.js.
обновление .prettierrc.js с помощью endOfLine: 'auto' у меня работало на windows + vs code. Обновление .eslintrc.js не помогло
К вашему сведению: требуется перезагрузка, чтобы изменения вступили в силу в VSCode.
Как я могу добавить это правило в мои локальные настройки vscode, чтобы мне не приходилось обновлять уже зафиксированный eslintrc?
изменение .prettierrc.js действительно сработало. но чтобы увидеть эффект, попытался удалить новую строку внутри кода и сохранить ее для автоматического форматирования, чтобы позаботиться о
Мне пришлось включить более красивое расширение vscode в Windows и добавить в .eslintrc.js ?
Примечание. Хотя можно передать параметры Prettier через файл конфигурации ESLint, это не рекомендуется, потому что расширения редактора, такие как prettier-atom и prettier-vscode, будут читать .prettierrc, но не будут читать настройки из ESLint, что может привести к к противоречивому опыту. github.com/prettier/eslint-plugin-prettier#options
измените этот параметр на VSCode.
Это решит проблему, но только до тех пор, пока вы не откроете другой исходный файл с помощью CRLF. Вышеуказанный ответ более эффективен.
Это сработало для меня. Я пробовал другие подходы, включая редактирование файлов конфигурации, ни один из них не работал.
Это спасло мне день. Я использую VS Code с окном. Это может быть связано с той же фиксацией из другой системы
Ракетостроение!
Лучшее решение! Следуйте этому подходу и избегайте редактирования файлов конфигурации, в этом нет необходимости.
Помимо изменения CRLF на LF в VSCode, git может выполнять автоматическое преобразование под капотом. Если вы выбрали checkout Windows-style при установке, он преобразует исходный код, который вы клонируете, в CRLF. Так что переустановка git и выбор checkout as-is, commit Unix-style исправят это.
Это лучшее решение, так как моя команда использует Mac, я использую Windows, которым нужно адаптироваться к конфигурации команды, поэтому мне не нужно возиться с файлом конфигурации
работал отлично.
Я использую git + vscode + windows + vue, а после прочтения документа eslint: https://eslint.org/docs/rules/linebreak-style
Наконец исправьте это:
добавить *.js text eol=lf в .gitattributes
затем запустите vue-cli-service lint --fix
На моем компьютере с Windows я решил это, добавив приведенный ниже фрагмент кода в объект rules файла .eslintrc.js, находящийся в каталоге моего текущего проекта.
"prettier/prettier": [
"error",
{
"endOfLine": "auto"
},
],
Это сработало и на моем Mac
@brijs что ты имеешь в виду?
Я знаю, что это старый, но я только что столкнулся с проблемой в моей команде (некоторые Mac, некоторые Linux, некоторые окна, все vscode).
Решением было установить строку, заканчивающуюся настройками vscode:
.vscode/settings.json
{
"files.eol": "\n",
}
https://qvault.io/2020/06/18/how-to-get-consistent-line-breaks-in-vs-code-lf-vs-crlf/
Я перешел на "красивее": "^ 2.2.0", и ошибка исчезла
в файле .eslintrc.json в побочных ролях добавьте этот код, он решит эту проблему
"rules": {
"prettier/prettier": ["error",{
"endOfLine": "auto"}
]
}
Попробуй это. Меня устраивает:
yarn run lint --fix
или
npm run lint -- --fix
это может помочь npm run lint -- --fix
@ Cláudio попробуйте этот eslint --ext js, jsx, ts, tsx src --quiet --fix> lint.log
Исправлено - Мой .eslintrc.js выглядит так:
module.exports = {
root: true,
extends: '@react-native-community',
rules: {'prettier/prettier': ['error', {endOfLine: 'auto'}]},
};
Огромное спасибо! У меня хорошо работало, даже когда я менял LF и CRLF.
В корне откройте файл .editorconfig и измените:
end_of_line = lf
к
end_of_line = auto
Это должно исправить это для новых файлов.
Добавьте это в свой файл .prettierrc и откройте VSCODE
"endOfLine": "auto"
Все ответы выше верны, но когда я использую Windows и отключить расширение Prettier ESLintrvest.vs-code-prettier-eslint, проблема будет исправлена.
Измените тип файла с tsx -> ts, jsx -> js
Вы можете получить эту ошибку, если работаете с файлом .tsx или .jsx и просто экспортируете стили и т. д., А не jsx. В этом случае ошибка решается изменением типа файла на .ts или .js.
Для меня сработало:
npm update prettier
npm run lint -- --fix
Изменять файлы .eslintrc и .prettierrc не пришлось!
prettier был обновлен на моей машине, но запуск npm run lint - --fix устранил проблему.
У меня это работает с nestjs и windows, спасибо!
Не стоит игнорировать правило линтера. Просто исправьте это автоматически
npm install -g prettier
prettier -w .\webpack.config.js # or other file
Исправлено: в моем eslintrc.js некоторые правила выглядят так:
rules: {
'prettier/prettier': ['error', { "endOfLine": "auto"}, { usePrettierrc: true }], // Use our .prettierrc file as source
'react/react-in-jsx-scope': 'off',
'react/prop-types': 'off',
'simple-import-sort/imports': 'error',
"simple-import-sort/exports": "error"
}
В моем случае я использую ОС Windows и код git поддерживает Mac и конвертирую в CRLF
выполните команду ниже в командной строке, чтобы остановить преобразование файлов в CRLF:

git config --global core.autocrlf input
Снова проверьте код, снова откройте Visual Studio Code и снова запустите свои скрипты. У меня это сработало.
Я перепробовал все здесь, и мне нужно было управлять расширением конфигурации красивее с помощью расширений значков> красивее> маленький движок> настройки расширений> Prettier: End Of Line> установить на авто.
После добавления этих двух строк в мой settings.json
"eslint.run": "onSave",
"editor.formatOnSave": true,
Я смог использовать конфигурацию ниже внутри правила .eslintrc.js.
"prettier/prettier": ["error", {
"endOfLine":"auto"
}],
git config --global core.autocrlf false
После глобальной настройки вам нужно снова вытащить код.
Виновник - git, свойство конфигурации core.autocrlf.
По историческим причинам разрывы строк в текстовом файле на windows и linux различаются.
Windows При переносе строки возврат каретки используется одновременно с CR(carriage-return character) и переносом строки LF(linefeed character)Mac и Linux используют только символ новой строки LFMac использует возврат каретки CRСледовательно, возникнут проблемы несовместимости при создании и использовании текстовых файлов в разных системах.
Когда я клонирую код на Windows, autocrlf по умолчанию имеет значение истинный, а затем каждая строка файла автоматически конвертируется в CRLF. Если вы не вносите никаких изменений в файл, eslint удалит CR с помощью pre-commit, поскольку git автоматически конвертирует CRLF в LF.
https://developpaper.com/solution-to-delete-%E2%90%8Deslint-prettier-prettier-error/
проект, с которым я столкнулся с проблемой, был разработан на macos, чем установка его на Windows привела к вышеупомянутой ошибке. это решение, которое я нашел разумным, решило проблему. изменение кода не потребовалось, и проект выполняется без ошибок.
У меня это сработало ... Репозиторий command + repull.
Если приведенный выше код не работает, попробуйте эти два шага.
1. в файле .eslintrc.json внутри объекта правил добавьте этот код, он решит эту проблему
"prettier/prettier": ["error",{
"endOfLine": "auto"}
]
2 Изменить сервер разработчика - исправление
npm run dev
К
npm run dev --fix
ИЛИ
npm run lint -- --fix
yarn run lint -- --fix
ты имеешь ввиду внутри объекта правил? если это так, пожалуйста, исправьте это
Проверьте правую часть строки состояния VS Code внизу, где отображается такая информация, как строка и столбец, пробелы, кодировка текста (UTF-8 и т. д.). Вы должны увидеть отображение статуса Select End Of Line Sequence (LF или CRLF), которое вы можете щелкнуть, чтобы изменить. Убедитесь, что вы не изменили это вручную на что-то, что противоречит тому, что вы хотите, чтобы Prettier использовал.
У меня была такая же проблема в моем приложении nest js. Добавление приведенного ниже кода в .eslintrc.jsrules и последующий запуск yarn run lint --fix устранили проблему.
'prettier/prettier': [
'error',
{
endOfLine: 'auto',
},
],
а мои правила .eslintrc.js выглядят примерно так ..
rules: {
'@typescript-eslint/interface-name-prefix': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'prettier/prettier': [
'error',
{
endOfLine: 'auto',
},
],
},
Добавьте это правило ниже в файл .eslintrc и затем перезапустите свой проект.
rules: {
'prettier/prettier': ['error', { "endOfLine": "auto"}, { usePrettierrc: true }],
}
Решение
1. Отключите настройку автоконвертации git.
git --global config core.autocrlf false
2. Удалите старые данные из кеша.
git rm --cached -r .
3. Сбросить файлы git
git reset --hard
git config --global core.autocrlf false
Это работа для меня
шаг 1 React js root directory найти файл .eslintrc
Шаг 2 найти в .eslintrc
"prettier/prettier": [
2,
{
"printWidth": 100,
"singleQuote": true,
"trailingComma": "none",
"tabWidth": 2
}
]
заменить
"prettier/prettier": [
"error",
{
"endOfLine": "auto"
}
]
сохранить файл, а затем запустить
npm start
отредактируйте файл .eslintrc.json и обновите значение "красивее / красивее", показанное ниже.
Я столкнулся с той же проблемой и исправил, используя следующие изменения.
"prettier/prettier": [
"error", {
"singleQuote": true,
"parser": "flow"
}
],
В файл .eslintrc добавьте следующее:
extends: ['prettier'] и plugins: ['prettier']
rules: {'prettier/prettier': ['error', {endOfLine: 'auto'}]}
В .prettierrc удалите это:
endOfLine: 'auto'Меня устраивает.
Взгляните на свой файл .eslintrc.js. удаление
'plugin:prettier/recommended'из массива extends должно решить проблему.