WebStorm自带的格式化(Ctrl+Alt+L)和 ESLint冲突,经常遇到的是缩进不一致导致的错误,CodeStyle里没办法再做调整的可以通过修改ESlint配置, 添加ignoredNodes,就可以设置eslint忽略这些节点的校验。
// ignoredNodes里面写你要让哪些节点不做校验。
indent: ["error", 2, { "ignoredNodes": ["CallExpression", "Identifier"] }]
以下是所有可以忽略的节点,如果不清楚用哪些的话,可以全部放进去,再用排除法找到你要设置不做校验的节点。参考https://github.com/eslint/eslint/blob/main/lib/rules/indent.js
const KNOWN_NODES = new Set([
"AssignmentExpression",
"AssignmentPattern",
"ArrayExpression",
"ArrayPattern",
"ArrowFunctionExpression",
"AwaitExpression",
"BlockStatement",
"BinaryExpression",
"BreakStatement",
"CallExpression",
"CatchClause",
"ChainExpression",
"ClassBody",
"ClassDeclaration",
"ClassExpression",
"ConditionalExpression",
"ContinueStatement",
"DoWhileStatement",
"DebuggerStatement",
"EmptyStatement",
"ExperimentalRestProperty",
"ExperimentalSpreadProperty",
"ExpressionStatement",
"ForStatement",
"ForInStatement",
"ForOfStatement",
"FunctionDeclaration",
"FunctionExpression",
"Identifier",
"IfStatement",
"Literal",
"LabeledStatement",
"LogicalExpression",
"MemberExpression",
"MetaProperty",
"MethodDefinition",
"NewExpression",
"ObjectExpression",
"ObjectPattern",
"PrivateIdentifier",
"Program",
"Property",
"PropertyDefinition",
"RestElement",
"ReturnStatement",
"SequenceExpression",
"SpreadElement",
"StaticBlock",
"Super",
"SwitchCase",
"SwitchStatement",
"TaggedTemplateExpression",
"TemplateElement",
"TemplateLiteral",
"ThisExpression",
"ThrowStatement",
"TryStatement",
"UnaryExpression",
"UpdateExpression",
"VariableDeclaration",
"VariableDeclarator",
"WhileStatement",
"WithStatement",
"YieldExpression",
"JSXFragment",
"JSXOpeningFragment",
"JSXClosingFragment",
"JSXIdentifier",
"JSXNamespacedName",
"JSXMemberExpression",
"JSXEmptyExpression",
"JSXExpressionContainer",
"JSXElement",
"JSXClosingElement",
"JSXOpeningElement",
"JSXAttribute",
"JSXSpreadAttribute",
"JSXText",
"ExportDefaultDeclaration",
"ExportNamedDeclaration",
"ExportAllDeclaration",
"ExportSpecifier",
"ImportDeclaration",
"ImportSpecifier",
"ImportDefaultSpecifier",
"ImportNamespaceSpecifier",
"ImportExpression"
]);