33

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

4

3 に答える 3

44

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

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

1) JSLint

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

(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リント

Javascript lintはパーサーの厳密度がやや低く、実装がはるかに簡単でした。

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

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

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

これが誰かに役立つことを願っています、
乾杯、
アンディ。

于 2009-06-26T00:23:14.520 に答える
41

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

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

于 2010-12-02T17:00:18.327 に答える
4

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

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

「Choose JavaScript lint tool:」をJSHintに変更します。

JSHint は、意味のない「エラー」をほとんど与えません。

于 2014-06-19T12:40:05.310 に答える