跳至内容

常见问题解答

为什么使用 ESLint 进行格式化?

请参考 为什么.

什么是风格规则?

根据 typescript-eslint 的定义,大多数 lint 规则属于两到三类之一


  • 逻辑:关注代码逻辑和运行时行为的规则(例如缺少等待或无效的逻辑检查)。
  • 风格:关注风格问题的规则,通常不会影响代码的运行时行为。这些规则主要与命名或使用哪些大致等效的语法结构有关(例如函数声明与箭头函数)。
    • 格式化:风格规则的一个子集,仅关注琐碎问题(分号、空格等),不会影响代码的运行时行为。这些规则可能与 Prettier 等专用格式化程序冲突。

对于 ESLint Stylistic,我们主要关注从 eslinttypescript-eslint 继承的 **格式化** 和 **风格** 规则。我们将维护一些风格规则;但是,并非所有规则都将被包含。它们的包含取决于上游项目是否选择保留它们。当我们进入维护阶段并开发引入实验性规则的基础设施时,我们欢迎社区提出的新规则。有关更多详细信息,请跟踪 项目进度

ESLint Stylistic 的要求是什么?

由于大多数规则是从 ESLint v8 和 typescript-eslint v6 迁移过来的,因此我们继承了相同的需求。

  • Node.js >=v16.0.0
  • ESLint >=v8.40.0

如何在保存时自动格式化?

VS Code

安装 VS Code ESLint 扩展

将以下设置添加到您的 .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 不要在您的编辑器中显示错误,但仍然能够自动修复它们。

我该如何迁移?

参考 迁移指南

我应该什么时候迁移?

也参考 迁移指南