抑制 JSHint / JSLint 或替代服务中的“混合空格和制表符”警告?
Posted
技术标签:
【中文标题】抑制 JSHint / JSLint 或替代服务中的“混合空格和制表符”警告?【英文标题】:Suppress "mixed spaces and tabs" warning in JSHint / JSLint or alternative service? 【发布时间】:2012-05-04 09:31:56 【问题描述】:JSHint 和 JSLint 是很棒的工具。
但是,“混合空格和制表符”警告在报告中占主导地位。有没有办法抑制这些警告,或者是否有类似的服务可以抑制空白警告?
【问题讨论】:
我最终解决了这个问题,我编写了一个简单的 JS 脚本来调整代码中的空白,然后将其粘贴到 jshint。 有个窍门,去掉所有的空白(\t,\n,\0,空格)。重建它。它应该可以工作。 【参考方案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 */
请参阅“放松选项”下的 smarttabs
。 http://www.jshint.com/docs/options/
当后者仅用于对齐时,此选项会抑制有关混合制表符和空格的警告。该技术称为SmartTabs。
【讨论】:
你太棒了。但你和你的 78.3K 点已经知道了。 不,我们也尝试过(从阅读文档中看到)。我们应该把这一行放在代码块的顶部,对吧?没有别的吗? 我认为 JSLint 的“容忍混乱的空白”选项对你有用。但是,您会从 JSLint 中得到一些更加固执己见的警告/错误。 我最终解决了这个问题,我编写了一个简单的 JS 脚本来调整代码中的空白,然后将其粘贴到 jshint。谢谢!smarttabs
选项已从 jshint 中删除:github.com/jshint/jshint/commit/…以上是关于抑制 JSHint / JSLint 或替代服务中的“混合空格和制表符”警告?的主要内容,如果未能解决你的问题,请参考以下文章
如何告诉 JSLint / JSHint 已经定义了哪些全局变量
syntastic - 显示 jslint 和 jshint 错误