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

这两个选项只能同时使用其中一个。