为什么我不断收到Delete'cr'[prettier / prettier]?


153

我在Prettier 1.7.2和Eslint 1.7.0中使用vscode。在每个换行符之后,我得到:

[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,
}

如何摆脱这个错误?

Answers:


314

尝试"endOfLine":"auto"在.prettierrc文件中(在对象内部)设置

或设置

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

在eslintrc文件的rules对象中。

如果您使用的是Windows机器,则可以基于您的git配置将“ endOfLine”设置为“ crlf”。


28
更改.eslintrc文件对我有用,但对.prettierrc文件不起作用。不知道为什么或有什么区别(我是OP上所有标签的新手)。

3
我的猜测是,在VS Code中可能需要更漂亮的扩展。prettierrc仅在该情况下有效。
Vah Run

3
在Windows机器上将行序列的结尾从CRLF更改LF为对我
有用-Anup

9
对于像我这样的新手,这就是要做的事情。.eslintrc.json在您的根目录(frontend)中打开。更改后,它将如下所示:{ "extends": ["react-app", "prettier"], "plugins": ["prettier"], "rules": { "prettier/prettier": ["error", { "endOfLine": "auto" }] } }
SimpleGuy

添加到.prettierrc文件对我有用,是的,我也具有扩展名。
伊曼纽尔·尼尼

199

在VSCode上更改此设置。

在此处输入图片说明


14
这将解决问题,但仅在您使用CRLF打开其他源文件之前。以上答案更为有效。
BobHy

这对我有用。我确实尝试了其他方法,包括编辑配置文件,但没有一个起作用。
Amogh Sarpotdar

39

在Windows机器中,我通过在当前项目目录中存在rules.eslintrc.js文件对象中添加以下代码片段来解决此问题。

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

这也适用于我的Mac


无效的json如何工作?
user2541867

5

我正在使用git + vscode + windows + vue,并在阅读eslint文档后:https ://eslint.org/docs/rules/linebreak-style

最后通过以下方法修复它:

添加*.js text eol=lf.gitattributes

然后跑 vue-cli-service lint --fix


3

在副角色文件.eslintrc.json中添加此代码,它将解决此问题

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

  }

2

尝试这个。这个对我有用:

毛线棉绒--fix

要么

npm run lint--修复




0

固定-我的.eslintrc.js看起来像这样:

module.exports = {
  root: true,
  extends: '@react-native-community',
  rules: {'prettier/prettier': ['error', {endOfLine: 'auto'}]},
};

0

在根目录中,打开.editorconfig文件并更改:

end_of_line = lf

end_of_line = auto

这应该为新文件修复它。


0

将此添加到您的.prettierrc文件,然后打开VSCODE

"endOfLine": "auto"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.