[英]Prettier doesn't format based on my eslint config
I have installed Eslint-Prettier extension on VSCode.我已经在 VSCode 上安装了 Eslint-Prettier 扩展。 I already have an.eslintrc.js and my default formatter (Eslint-prettier) doesn't format according to my eslint rules.
我已经有了 an.eslintrc.js 并且我的默认格式化程序 (Eslint-prettier) 没有根据我的 eslint 规则进行格式化。
For example: when i type npm run eslint.例如:当我输入 npm 时运行 eslint。 --fix it deletes all semicolons, but after i hit CTRL + V, prettier adds semi colons again..
--fix 它删除了所有分号,但在我按下 CTRL + V 后,prettier 再次添加了分号..
It was working all good until I format my computer.一切正常,直到我格式化我的电脑。 Can anyone help me?
谁能帮我?
my.eslintrc.js files contents is my.eslintrc.js 文件内容是
module.exports = {
env: {
node: true,
es6: true,
browser: true
},
parserOptions: {
ecmaVersion: 6,
sourceType: "module",
ecmaFeatures: {
jsx: true,
modules: true,
experimentalObjectRestSpread: true
}
},
rules: {
"no-console": "off",
"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off",
// Best Practices
eqeqeq: "error",
"no-invalid-this": "error",
"no-return-assign": "error",
"no-unused-expressions": ["error", { allowTernary: true }],
"no-useless-concat": "error",
"no-useless-return": "error",
// Variable
// 'init-declarations': 'error',
"no-use-before-define": "error",
// Stylistic Issues
"array-bracket-newline": ["error", { multiline: true, minItems: null }],
"array-bracket-spacing": "error",
"brace-style": ["error", "1tbs", { allowSingleLine: true }],
"block-spacing": "error",
"comma-dangle": "error",
"comma-spacing": "error",
"comma-style": "error",
"computed-property-spacing": "error",
"func-call-spacing": "error",
"implicit-arrow-linebreak": ["error", "beside"],
// indent: ['error', 4],
"keyword-spacing": "error",
"multiline-ternary": ["error", "never"],
// 'no-lonely-if': 'error',
"no-mixed-operators": "error",
"no-multiple-empty-lines": ["error", { max: 2, maxEOF: 1 }],
"no-tabs": "error",
"no-unneeded-ternary": "error",
"no-whitespace-before-property": "error",
"nonblock-statement-body-position": "error",
"object-property-newline": [
"error",
{ allowAllPropertiesOnSameLine: true }
],
"quote-props": ["error", "as-needed"],
// quotes: ['error', 'prefer-single'],
semi: ["error", "never"],
"semi-spacing": "error",
"space-before-blocks": "error",
// 'space-before-function-paren': 'error',
"space-in-parens": "error",
"space-infix-ops": "error",
"space-unary-ops": "error",
// ES6
"arrow-spacing": "error",
"no-confusing-arrow": "error",
"no-duplicate-imports": "error",
"no-var": "error",
"object-shorthand": "error",
"prefer-const": "error",
"prefer-template": "error"
}
}
You can see that eslint says no trailing coma, after i right click one of them and fix all auto-fixable problems, problems are gone but after I save the file prettier extension puts them again.你可以看到 eslint 说没有尾随昏迷,在我右键单击其中一个并修复所有可自动修复的问题后,问题就消失了,但在我保存文件后,更漂亮的扩展名又把它们放了。
First, you need to install prettier plugin:首先,您需要安装更漂亮的插件:
npm i eslint eslint-config-prettier eslint-plugin-prettier prettier --save-dev
After that you should specify this plugin in eslint config:之后你应该在 eslint 配置中指定这个插件:
// .eslintrc.js
"plugins": [
....
"prettier"
....
],
"rules": {
...
"prettier/prettier": "error"
...
}
It should be noted, if you use prettier, when it will be better if only prettier will be responsive for styling.应该注意的是,如果你使用 prettier,那么如果只有 prettier 对样式有响应会更好。 That is why i recommend you to remove all
Stylistic Issues
section and move them (with adaptation of course) to .prettierrc.js.这就是为什么我建议您删除所有
Stylistic Issues
部分并将它们(当然需要改编)移至 .prettierrc.js。 Or use community adopted rules, for instance airbnb
:或者使用社区采用的规则,例如
airbnb
:
// .eslintrc.js
"extends": ["airbnb-base", "plugin:prettier/recommended"],
in eslint config, change在 eslint 配置中,更改
extends: ["prettier"],
to到
extends: ['plugin:prettier/recommended'],
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.