问题 如何使jshint缩进选项工作


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

  1. 通过“npm install -g jshint”安装jshint
  2. 编辑〜/ .jshintrc,我的jshintrc看起来像
    {...,“缩进”:4,“白色”:false,...}
  3. 编辑js文件test.js
    /jshint缩进:4/
    var condition,doSth;
    如果(条件)
    doSth(); //预计无效
    
  4. 运行jshint test.js,但缩进检查不起作用。开始行的2个空格可以通过检查。

12149
2018-04-16 01:18


起源



答案:


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

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

我们决定将它标记为2.5.0,因为它是向后的   兼容 - 有一些重大变化。

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

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


15
2018-04-16 03:07



有没有人碰巧知道删除这些选项的理由?它们对于控制样式非常有用。 - leedm777
@dave看 JSHint问题#1358 和 JSHint 3计划。简而言之,JSHint的创建者Anton Kovalyov计划专注于代码分析的其他方面,并认为样式检查应该是另一个工具/附加组件的一部分。我理解需要有一个简明扼要的重点。现在我的问题是该工具将是什么。 JSHint问题中的一些评论表明 JSCS。我打算从那里开始。 - absynce


答案:


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

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

我们决定将它标记为2.5.0,因为它是向后的   兼容 - 有一些重大变化。

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

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


15
2018-04-16 03:07



有没有人碰巧知道删除这些选项的理由?它们对于控制样式非常有用。 - leedm777
@dave看 JSHint问题#1358 和 JSHint 3计划。简而言之,JSHint的创建者Anton Kovalyov计划专注于代码分析的其他方面,并认为样式检查应该是另一个工具/附加组件的一部分。我理解需要有一个简明扼要的重点。现在我的问题是该工具将是什么。 JSHint问题中的一些评论表明 JSCS。我打算从那里开始。 - absynce