我正在开发一个使用javascript特定样式指南的项目。例如,if / else语句如下所示:
if( condition ){
// Bla bla
}
else {
// Another bla bla
}
我正在寻找的工具可以让我根据特定的样式指南检查文件的语法。 JSHint / JSLint不关注样式,Closure Linter无法自定义,Uncrustify会在不发出警告的情况下重新格式化文件(并且不正式支持Javascript)。
我可以通过这个程序获得的最佳输出是来自Closure Linter但具有自定义规则的输出。 this similar question的答案都错了。
这样的工具是否存在?
答案 0 :(得分:9)
如果您仍在寻找答案,可以尝试一个名为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。
BTW,the jQuery team is using jscs:)
答案 1 :(得分:1)
听起来你真的在JavaScript beautifier之后。检查可以通过“在文件上运行并查看它们是否发生变化”来完成,并由版本控制支持。
答案 2 :(得分:0)
没有符合您需求的工具。 JSLint正在应用样式规则Crockford建议(并强制执行),JSHint更灵活,因为您可以选择更适合您的编码风格的规则,但不够灵活,不能强制执行任何类型的风格。
通常,您可以配置编辑器,以便它可以帮助您缩进并按照您希望的代码方式执行换行。并使用linter来注意它的重要性(一些whitespacing规则,如何使用parens ......)。短信的作用更能防范你的语言不能阻止你的愚蠢错误。