我正在使用对javascript使用特定样式指南的项目。例如,if / else语句将如下所示:

if( condition ){
  // Bla bla
}
else {
  // Another bla bla
}

我正在寻找的是一种工具,该工具可以让我根据特定的样式指南检查文件的语法。 JSHint / JSLint不注重样式,Closure Linter不可自定义,Uncrustify会在没有警告的情况下重新格式化文件(并且不正式支持Javascript)。

我可以从该程序获得的最佳输出是Closure Linter的输出,但具有自定义规则。对this similar question的回答都是错误的。

是否存在这样的工具?

最佳答案

如果您仍在寻找答案,可以尝试一个名为jscs的项目。
您可以自定义代码在几乎所有方面的外观以及尚未开发的代码(例如,函数参数间距)。

一切都可以通过.jscsrc文件进行自定义;以下是我使用它的项目之一的示例:

{
    "requireCurlyBraces":                   [ "if", "else", "for", "while", "do", "switch" ],
    "requireSpaceAfterKeywords":            [ "if", "else", "for", "while", "do", "switch" ],
    "disallowSpaceAfterKeywords":           [],
    "requireSpacesInsideObjectBrackets":    "all",
    "disallowSpaceAfterObjectKeys":         true,
    "disallowImplicitTypeConversion":       [],
    "disallowKeywords":                     [ "with" ],
    // ...
}

如果您使用的是Grunt,请随时尝试自己的jscs任务-grunt-jscs-checker

顺便说一句,the jQuery team is using jscs :)

09-17 08:00