簡體   English   中英

在Notepad ++中使用JSLint

[英]Using JSLint in Notepad++

我已經看到其他文本編輯器使用擴展來允許語法檢查器,如JSLint ,這是否可以使用Notepad ++?

我已經設法使用notepad ++NppExec插件運行兩個lint程序。

NppExec插件通常默認安裝,可以在plugins - > NppExec下找到。 (使用NppExec 0.3 RC1和Notepad ++ 5.1+)。

1)JSLint

首先從http://www.jslint.com下載jslintWSH版本
修改文件的最后部分,如下所示:

(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是一個稍微不那么嚴格的解析器,並且更容易實現。

首先從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 ++中引起了問題,所以我把它關了)

希望這有助於某人,
干杯,
安迪。

您可以嘗試使用JSLint Plugin for Notepad ++:

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

安裝完插件后,您應該去:

插件 - > JSLint - > JSLint選項

並將“選擇JavaScript lint工具:”更改為JSHint

JSHint給出了很多毫無意義的“錯誤”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM