我已经看到其他文本编辑器使用扩展来允许语法检查器,如JSLint,这是否可以使用Notepad ++?
我已经设法使用notepad ++的NppExec插件运行两个lint程序.
NppExec插件通常默认安装,可以在plugins - > NppExec下找到.(使用NppExec 0.3 RC1和Notepad ++ 5.1+).
首先从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)"
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/