2013-04-16 75 views
7

我正在使用一個特定的styleguide爲JavaScript的項目。舉例來說,一個if/else語句應該是這樣的:Javascript代碼風格的執行者或檢查器

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

我正在尋找的是一個工具,讓我按照特定的風格指南檢查文件的語法。 JSHint/JSLint不關注風格,Closure Linter不可定製,Uncrustify重新格式化文件而不發出警告(並且不正式支持Javascript)。

我可以用這個程序得到的最好的輸出將是Closure Linter中的一個,但是使用自定義規則。 this similar question的答案都是錯誤的。

這樣的工具是否存在?

+1

我以爲JSLint的主要是關於風格,但在你的例子 – user2264587

回答

8

如果您仍然在尋找答案,您可以嘗試一個名爲jscs的項目。
您可以自定義您的代碼在幾乎任何方面的外觀,以及您尚未開發的代碼(例如函數參數間距)。

所有可通過.jscsrc文件進行定製;下面是使用它我的一個項目的例子:

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

如果你使用的咕嚕,隨意嘗試自己的任務JSCS - 這是grunt-jscs-checker

BTW,the jQuery teamis using jscs :)

+1

這是非常有用的,謝謝不顯示的樣式! –

+0

看看我所做的編輯。也許這是你關心的事情! – gustavohenke

+0

我們可以使用jscs for CoffeeScript文件嗎? – ankakusu

0

沒有適合您的願望的工具。 JSLint正在應用樣式規則Crockford的建議(並強制執行),JSHint更加靈活,因爲您可以選擇更適合您編碼風格的規則,但不夠靈活,無法執行任何類型的樣式。

通常情況下,你配置你的編輯器,這樣它可以幫助你縮進並按照你喜歡你的代碼的方式來執行換行符。並使用linter來注意它的重要性(一些空白規則,如何使用parens ......)。 linter的作用更能防範你的語言無法阻止你的愚蠢錯誤。

1

這聽起來像是你真的在JavaScript beautifier之後。檢查可以通過「通過文件運行並查看它們是否更改」來完成,並由版本控制支持。