You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode中ESLint单行禁用规则失效,该如何解决?

问题分析与解决

你遇到的问题核心是单行ESLint禁用注释的语法错误,再加上TSLint和ESLint共存可能带来的干扰,我们一步步拆解解决:

1. 修复单行禁用多规则的语法

你当前的注释写法是:

// eslint-disable-next-line global-require no-global-assign

这里的关键错误是:多个需要禁用的规则之间没有用逗号分隔,ESLint无法识别这是两个独立的规则。正确的写法应该是用逗号分隔规则名:

if (!Intl) { 
  // eslint-disable-next-line global-require, no-global-assign
  Intl = require('intl') 
}

规则名之间的逗号前后可以加空格(也可以不加,ESLint都能识别),但必须用逗号来区分多个规则。

2. 排除TSLint的干扰

因为你同时安装了TSLint和ESLint,有可能当前执行代码检查的是TSLint而非ESLint,导致你的ESLint禁用注释不起作用。可以做以下验证:

  • 暂时在VSCode插件面板禁用TSLint,重启编辑器后再运行代码检查
  • 直接用命令行执行ESLint检查:npx eslint 你的文件名.js(替换成实际文件名)
    如果命令行检查不再报错,说明之前是TSLint在生效。这里建议你统一使用ESLint——毕竟TSLint已经停止维护,社区也普遍迁移到ESLint了。

3. 额外验证点

  • 确认你的ESLint配置文件(比如.eslintrc.js/.eslintrc.json)中确实启用了global-require和no-global-assign这两个规则,否则禁用注释本身就没有意义。
  • 确保禁用注释写在被禁用代码的上一行,你的代码位置是对的,但语法错误导致ESLint无法识别。

内容的提问来源于stack exchange,提问作者Sooraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:59:01