Skip to content

内联忽略注释

忽略注释为特殊情况提供了逃生舱口,当规则通常是正确的但需要在代码的一个小的、范围明确的部分中抑制时。内联注释覆盖配置文件。

Oxlint 支持行注释(//)和块注释(/* */)。注释必须以下列关键字之一开头。

oxlint-disable

禁用一个或多个规则直到文件末尾,或直到它们被重新启用。

js
// 在文件的其余部分禁用所有 Oxlint 规则
/* oxlint-disable */

// 在此文件中禁用单个规则
/* oxlint-disable no-console */

// 在此文件中禁用多个规则
/* oxlint-disable no-console, typescript/no-floating-promises */

oxlint-enable

启用一个或多个规则直到文件末尾,或直到它们再次被禁用。

js
/* oxlint-enable no-console */

/* oxlint-enable no-console, no-alert */

oxlint-disable-line

在当前行禁用一个或多个规则。

js
console.log("Hello, world!"); // oxlint-disable-line no-console

console.log(x++); // oxlint-disable-line no-console, no-plusplus

oxlint-disable-next-line

在注释的下一行禁用一个或多个规则,然后为后续行重新启用它们。

js
// oxlint-disable-next-line no-console
console.log("Hello, world!"); // 因前面的注释而允许
console.log(x++); // 不允许,因为前面的注释只适用于上一行

// oxlint-disable-next-line no-console, no-plusplus
console.log("Hello, world!"); // 允许

ESLint 兼容性

为兼容现有的 ESLint 代码库,支持将 oxlint 替换为 eslint 的相同关键字,例如 /* eslint-disable */// eslint-disable-next-line

推荐使用 oxlint-* 形式。eslint-* 形式在迁移期间对于 Oxlint 尚不支持的规则很有用。

规则选项无法在内联中更改

忽略注释可以启用或禁用规则,但无法更改规则选项。规则选项属于配置文件。

报告未使用的忽略注释

默认禁用报告未使用的忽略注释。启用后,当某行本不会报告诊断时,Oxlint 会报告如 // oxlint-disable-line 这样的注释。

启用报告:

bash
oxlint --report-unused-disable-directives

指定严重程度:

bash
oxlint --report-unused-disable-directives-severity error

一次只能使用这些选项中的一个。

这也可以在 Oxlint 配置文件中设置:

jsonc
{
  "$schema": "./node_modules/oxlint/configuration_schema.json",
  "options": {
    "reportUnusedDisableDirectives": "error", // 或 "off" 或 "warn"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  options: {
    reportUnusedDisableDirectives: "error", // 或 "off" 或 "warn"
  },
});