【问题标题】:Suppress "mixed spaces and tabs" warning in JSHint / JSLint or alternative service?抑制 JSHint / JSLint 或替代服务中的“混合空格和制表符”警告?
【发布时间】:2012-05-04 09:31:56
【问题描述】:

JSHint 和 JSLint 是很棒的工具。

但是,“混合空格和制表符”警告在报告中占主导地位。有没有办法抑制这些警告,或者是否有类似的服务可以抑制空白警告?

【问题讨论】:

  • 我最终解决了这个问题,我编写了一个简单的 JS 脚本来调整代码中的空白,然后将其粘贴到 jshint。
  • 有个窍门,去掉所有的空白(\t,\n,\0,空格)。重建它。它应该可以工作。

标签: javascript jslint jshint


【解决方案1】:

无法使用标志和JSHint maintainer doesn't want to add a flag for this 关闭此警告。

但是,可以根据their number 关闭警告。在这种情况下,你会写:

/* jshint -W099 */

如果您使用的是 JSHint 配置文件,您也可以在此处指定:

{
    "-W099": true, // allowed mixed tabs and spaces
}

或者,有一个custom reporter available 可以关闭此警告。

【讨论】:

  • 是的!感谢您实际回答问题!
  • 我想在 Eclipse 的 JSHint 插件中使用这个选项,但是当我在插件选项框中粘贴 "-W099": true 时它不起作用(显示构建错误说“缺少:属性 id 之后” )。尝试不带引号,然后显示“错误选项:-W099”。你知道我应该如何配置它吗?
  • @MisterSmith 这是一个相对较新的 JSHint 功能,您使用的是最新版本吗?
  • 我正在使用this plugin。根据文档,它使用 JSHint r12。
  • r12 8 个月大,不包括这个。
【解决方案2】:

2014 年的答案:升级 jshint 正如@RobW 前面提到的,jshint no longer complains about mixed spaces and tabs。我已经通过升级到 jshint@2.5.10 并重新整理我的文档对此进行了测试,该文档不再抱怨(我一直使用制表符缩进,但在 SublimeText 中注释掉行会触发此警告)。

sudo npm update -g jshint

【讨论】:

  • 我有最新的,但它确实抱怨
【解决方案3】:
/*jshint smarttabs:true */

请参阅“放松选项”下的 smarttabshttp://www.jshint.com/docs/options/

当后者仅用于对齐时,此选项会抑制有关混合制表符和空格的警告。该技术称为SmartTabs

【讨论】:

  • 你太棒了。但你和你的 78.3K 点已经知道了。
  • 不,我们也尝试过(从阅读文档中看到)。我们应该把这一行放在代码块的顶部,对吧?没有别的吗?
  • 我认为 JSLint 的“容忍混乱的空白”选项对你有用。但是,您会从 JSLint 中得到一些更加固执己见的警告/错误。
  • 我最终解决了这个问题,我编写了一个简单的 JS 脚本来调整代码中的空白,然后将其粘贴到 jshint。谢谢!
  • smarttabs 选项已从 jshint 中删除:github.com/jshint/jshint/commit/…
猜你喜欢
  • 2011-03-28
  • 2015-03-17
  • 2019-02-15
  • 2013-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 2015-05-24
相关资源
最近更新 更多