在JSHint/JSLint或替代服务中禁止"混合空格和制表符"警告?

Cra*_*lot 43 javascript jslint jshint

JSHint和JSLint是很棒的工具.

然而,"混合空间和标签"警告在报告中占主导地位.有没有办法抑制这些警告,还是有类似的服务允许空格警告被抑制?

Wil*_*hes 59

使用标志关闭此警告是不可能的,并且JSHint维护者不希望为此添加标志.

但是,可以根据其编号关闭警告.在这种情况下,你写道:

/* jshint -W099 */
Run Code Online (Sandbox Code Playgroud)

如果您正在使用JSHint配置文件,那么您也可以在其中指定:

{
    "-W099": true, // allowed mixed tabs and spaces
}
Run Code Online (Sandbox Code Playgroud)

或者,有一个自定义记者可以关闭此警告.

  • 是! 谢谢你真的回答了这个问题! (6认同)

Mat*_*all 44

/*jshint smarttabs:true */
Run Code Online (Sandbox Code Playgroud)

请参阅smarttabs"放松选项"下的内容.http://www.jshint.com/docs/options/

当后者仅用于alignmnent时,此选项会禁止有关混合制表符和空格的警告.该技术称为SmartTabs.

  • `smarttabs`选项已从jshint中删除:https://github.com/jshint/jshint/commit/4035fef1af4ef426e9dc99918ca3aac0ce44b784 (6认同)
  • 你太棒了.但是你和你的78.3K分已经知道了. (3认同)
  • 我最终通过编写一个简单的JS脚本来解决它,以便在将代码粘贴到jshint之前调整代码中的空白区域.谢谢! (2认同)

mik*_*ana 5

对2014的回答:升级jshint正如前面提到的@ RobW,jshint 不再抱怨混合空格和制表符.我已经通过升级到jshint@2.5.10并重新linting我的文档进行了测试,该文档不再抱怨(我一直使用制表符缩进,但在SublimeText中注释掉行会触发此警告).

sudo npm update -g jshint
Run Code Online (Sandbox Code Playgroud)