修复 ESLint:在 WebStorm 上插入 `·`(prettier/prettier)
Fix ESLint: Insert `·`(prettier/prettier) on WebStorm
对于以下反应代码,我收到以下错误:
当我 运行 ESLint 在我的代码库中使用 --fix
标志时,我收到一条错误消息:
ESLint: A space is required before closing bracket(react/jsx-tag-spacing)
ESLint: Insert `.` (prettier/prettier)
未找到有关此错误的任何文档 - 我该如何解决?
注意:我正在使用 WebStorm - 不确定它是否相关。
要求你插入一个白色的space...你可以在首选项中启用Other/Spaces/In空标签 |编辑|代码风格 | HTML 在代码自动格式化
上添加 spaces
这个问题已经有好几年了,但值得更好的回答和解释
PRETTIER/PRETTIER
Prettier/Prettier
不是错误,正如它所说的那样,它是 Prettier。该规则来自您安装的名为 eslint-plugin-prettier 的插件。插件和 Prettier/Prettier 规则的作用是,它们通过 ESLint 或实际上通过 Prettier/Prettier 规则执行得更漂亮。 ESLint 能够进行 Linting 和格式化代码,这会导致 prettier 出现问题,prettier 也会格式化代码,但确实以一种被描述为“偏见”的方式表达。开发人员通常选择同时使用两者,这样他们就可以利用 linter 和 bias 格式化程序都提供的功能,这超出了本答案的范围。
为了协调 ESLint 和 prettier,"eslint-plugin-prettier" 扩展使用 Prettier/Prettier
规则通过 ESLint 执行 prettier,因此任何问题在使用 prettier 和 linting/fixing 使用 ESLint 格式化后发生,显示为 Prettier/Prettier 报告的错误。这些错误应该被解释为 Prettier 和 ESLint 之间的冲突,或者 Prettier 和另一个 ESLint-Plugin 之间的冲突。一般问题是ESLint和Prettier配置不协调,需要改一下,要么.prettierrc
配置,要么.eslintrc.*
配置
实际错误
如上所述,实际错误不是Prettier/Prettier。 Prettier/ prettier 出现在消息中的原因是因为它是报告错误的规则,但实际错误是读取的部分:
"A space is required before a closing bracket."
错误消息是关于另一个插件添加的规则,这可能导致与更漂亮的规则发生冲突,该规则当时 (4/2020) 处于活动状态,但 the rule was deprecated, in favor of this rule: --jsx-bracket-same-line
实际发生的错误更漂亮地说,我的配置不喜欢 react/jsx 插件规则修复(或格式化)代码的方式。
prettier 在错误消息中抱怨的 React 插件规则是 JSX-tag-spacing
.
仅供参考,这就是您遇到的错误的全部内容。你有几个不同的插件,检查使用框架的代码库,在语言之上,嵌入 HTML。任何类似的情况都需要您微调您的开发环境、linter、调试器和其他任何工具。
对于以下反应代码,我收到以下错误:
当我 运行 ESLint 在我的代码库中使用 --fix
标志时,我收到一条错误消息:
ESLint: A space is required before closing bracket(react/jsx-tag-spacing)
ESLint: Insert `.` (prettier/prettier)
未找到有关此错误的任何文档 - 我该如何解决?
注意:我正在使用 WebStorm - 不确定它是否相关。
要求你插入一个白色的space...你可以在首选项中启用Other/Spaces/In空标签 |编辑|代码风格 | HTML 在代码自动格式化
上添加 spaces这个问题已经有好几年了,但值得更好的回答和解释
PRETTIER/PRETTIER
Prettier/Prettier
不是错误,正如它所说的那样,它是 Prettier。该规则来自您安装的名为 eslint-plugin-prettier 的插件。插件和 Prettier/Prettier 规则的作用是,它们通过 ESLint 或实际上通过 Prettier/Prettier 规则执行得更漂亮。 ESLint 能够进行 Linting 和格式化代码,这会导致 prettier 出现问题,prettier 也会格式化代码,但确实以一种被描述为“偏见”的方式表达。开发人员通常选择同时使用两者,这样他们就可以利用 linter 和 bias 格式化程序都提供的功能,这超出了本答案的范围。
为了协调 ESLint 和 prettier,"eslint-plugin-prettier" 扩展使用 Prettier/Prettier
规则通过 ESLint 执行 prettier,因此任何问题在使用 prettier 和 linting/fixing 使用 ESLint 格式化后发生,显示为 Prettier/Prettier 报告的错误。这些错误应该被解释为 Prettier 和 ESLint 之间的冲突,或者 Prettier 和另一个 ESLint-Plugin 之间的冲突。一般问题是ESLint和Prettier配置不协调,需要改一下,要么.prettierrc
配置,要么.eslintrc.*
配置
实际错误
如上所述,实际错误不是Prettier/Prettier。 Prettier/ prettier 出现在消息中的原因是因为它是报告错误的规则,但实际错误是读取的部分:
"A space is required before a closing bracket."
错误消息是关于另一个插件添加的规则,这可能导致与更漂亮的规则发生冲突,该规则当时 (4/2020) 处于活动状态,但 the rule was deprecated, in favor of this rule: --jsx-bracket-same-line
实际发生的错误更漂亮地说,我的配置不喜欢 react/jsx 插件规则修复(或格式化)代码的方式。
prettier 在错误消息中抱怨的 React 插件规则是 JSX-tag-spacing
.
仅供参考,这就是您遇到的错误的全部内容。你有几个不同的插件,检查使用框架的代码库,在语言之上,嵌入 HTML。任何类似的情况都需要您微调您的开发环境、linter、调试器和其他任何工具。