web-dev-qa-db-ja.com

Notepad ++でのJSLintの使用

他のテキストエディターが拡張機能を使用して JSLint などの構文チェッカーを許可するのを見てきましたが、これはNotepad ++で可能ですか?

31
alumb

Notepad ++用のJSLintプラグインを試すことができます。

https://sourceforge.net/projects/jslintnpp/

40
mvladic

notepad ++NppExec プラグインを使用して、2つのlintプログラムを実行できました。

NppExecプラグインは通常デフォルトでインストールされ、プラグイン-> NppExecの下にあります。 (NppExec 0.3 RC1およびNotepad ++ 5.1+を使用)。

1)JSLint

最初に jslintのWSHバージョンhttp://www.jslint.com からダウンロードします。
ファイルの最後の部分を次のように変更します。

(function() {
    if(!JSLINT(WScript.StdIn.ReadAll(),{passfail:false})) {
        var e;
        for(var i in JSLINT.errors) {
            e=JSLINT.errors[i];
            WScript.StdOut.WriteLine('Lint at line '+(e.line+1)+' character '+(e.character+1)+': '+e.reason);
            WScript.StdOut.WriteLine('    '+(e.evidence||'').replace(/^\s*(\S*(\s+\S+)*)\s*$/,"$1"));
        }
        WScript.Quit(1);
    }
}());

(ここに変更前のバージョン)
これにより、JSLintは最初のエラーだけでなく、すべてのエラーを出力します。

次に、Notepad ++のNppExecではStdInの使用が許可されていないため、実際にコマンドを実行するために バッチファイル を作成しました。
これにより、すべてのjavascriptファイルの前に挿入される構成ファイルを追加することもできました。オプションを見ることができます ここ 。バッチファイルは次のようになります。

@copy /b "C:\Program Files\jslint\conf.txt"+%1 "C:\Program Files\jslint\lastoutput.txt" > temp.txt
@cscript /Nologo "C:\Program Files\jslint\jslint.js" < "C:\Program Files\jslint\lastoutput.txt"

Jslint.jsファイルを配置する場所によっては、パスを変更する必要がある場合があります。 conf.txt ファイルは次のようになります。

/*jslint forin:true*/

この行の最後に改行がないことを確認してください。改行がある場合は、すべての行カウントが1つずれます。

最後に、NppExecに入力したコマンドは次のとおりです。

"C:\Program Files\jslint\jslint.bat" "$(FULL_CURRENT_PATH)" 


2)Javascript Lint

Javascript lint は、厳密性がやや低いパーサーであり、実装がはるかに簡単でした。

まず、Windowsバージョンのコピーを http://www.javascriptlint.com/download.htm から取得し、解凍します。その場合、NppExecコマンドは次のとおりです。

"C:\Program Files\JavascriptLint\jsl.exe" -conf "C:\Program Files\JavascriptLint\jsl.default.conf" -process "$(FULL_CURRENT_PATH)"

(注:Javascript Lintのほとんどの手順では、コマンドの最後に「pauseatend」を追加するように指示されています。これによりNotepad ++で問題が発生することがわかったため、省略しました)

これが誰かを助けることを願っています、
乾杯、
アンディ。

43
alumb

プラグインをインストールしたら、次の場所に移動します。

プラグイン-> JSLint-> JSLintオプション

「ChooseJavaScriptlinttool:」をJSHintに変更します。

JSHintは、意味のない「エラー」を大幅に減らします。

3
SHEePYTaGGeRNeP