常见问题解答
为什么使用 ESLint 进行格式化?
请参考 为什么.
什么是风格规则?
根据 typescript-eslint
的定义,大多数 lint 规则属于两到三类之一
- 逻辑:关注代码逻辑和运行时行为的规则(例如缺少等待或无效的逻辑检查)。
- 风格:关注风格问题的规则,通常不会影响代码的运行时行为。这些规则主要与命名或使用哪些大致等效的语法结构有关(例如函数声明与箭头函数)。
- 格式化:风格规则的一个子集,仅关注琐碎问题(分号、空格等),不会影响代码的运行时行为。这些规则可能与 Prettier 等专用格式化程序冲突。
对于 ESLint Stylistic,我们主要关注从 eslint
和 typescript-eslint
继承的 **格式化** 和 **风格** 规则。我们将维护一些风格规则;但是,并非所有规则都将被包含。它们的包含取决于上游项目是否选择保留它们。当我们进入维护阶段并开发引入实验性规则的基础设施时,我们欢迎社区提出的新规则。有关更多详细信息,请跟踪 项目进度。
ESLint Stylistic 的要求是什么?
由于大多数规则是从 ESLint v8 和 typescript-eslint
v6 迁移过来的,因此我们继承了相同的需求。
- Node.js >=v16.0.0
- ESLint >=v8.40.0
如何在保存时自动格式化?
VS Code
将以下设置添加到您的 .vscode/settings.json
中
jsonc
{
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
}
JetBrains IDEs
- 打开设置对话框 (
Ctrl + Alt + S
) - 转到
Languages & Frameworks -> JavaScript -> Code Quality Tools -> ESLint
- 选中
Run eslint --fix on save
复选框。
参考 JetBrains 文档
代码风格的错误消息(波浪线)很烦人
如果您使用的是 VS Code,您可以在您的 .vscode/settings.json
中使用以下设置覆盖它们。
jsonc
{
"eslint.rules.customizations": [
{
"rule": "@stylistic/*",
"severity": "off"
}
]
}
这告诉 VS Code 不要在您的编辑器中显示错误,但仍然能够自动修复它们。
我该如何迁移?
参考 迁移指南。
我应该什么时候迁移?
也参考 迁移指南。