如何使jshint缩进选项工作

smi*_*ang 11 javascript node.js jshint

jslint可以通过运行'jslint --indent 4 test.js'检查缩进,但我不能在jshint中使用它.我按照以下步骤进行操作.

  1. 通过"npm install -g jshint"安装jshint
  2. 编辑〜/ .jshintrc,我的jshintrc看起来像
    {..., "indent":4, "white":false, ...}
  3. 编辑js文件test.js
    /jshint indent:4/
    var condition, doSth;
    if (condition)
    doSth(); // expected to be invalid
    
  4. 运行jshint test.js,但缩进检查不起作用.开始行的2个空格可以通过检查.

smi*_*ang 15

这是一个版本问题.我使用2.5.0而2.4工作.

看看https://github.com/jshint/jshint/releases/tag/2.5.0:

我们决定将它标记为2.5.0因为 - 虽然它向后兼容 - 但有一些重大变化.

删除了以下选项:nomen,onevar,passfail,white,gcl,smarttabs,trailing.除此之外,缩进不再提供有关缩进级别的警告.您仍然可以使用它来设置标签宽度,但它仅用于其他警告中的字符位置.如果你的配置或文件中有这些选项,JSHint不会出错; 它会简单地忽略它们.

感谢我们的贡献者,我们在解析器中修复了很多错误.我们还通过添加对模板文字的基本支持来改进我们的ES6支持.

  • @dave参见[JSHint issue#1358](https://github.com/jshint/jshint/issues/1358#issuecomment-39587645)和[JSHint 3计划](http://www.jshint.com/blog/jshint -3-计划/).简而言之,JSHint的创建者Anton Kovalyov计划专注于代码分析的其他方面,并认为样式检查应该是另一个工具/附加组件的一部分.我理解需要有一个简洁的焦点.现在我的问题是该工具将是什么.JSHint问题中的一些评论建议[JSCS](https://github.com/mdevils/node-jscs).我打算从那里开始. (6认同)
  • 有没有人碰巧知道删除这些选项的理由?它们对于控制样式非常有用. (4认同)