alu*_*umb 31 javascript lint jslint notepad++
我已经看到其他文本编辑器使用扩展来允许语法检查器,如JSLint,这是否可以使用Notepad ++?
alu*_*umb 43
我已经设法使用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);
}
}());
Run Code Online (Sandbox Code Playgroud)
(此处的预修改版本)
这会导致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"
Run Code Online (Sandbox Code Playgroud)
您可能需要根据放置jslint.js文件的位置来修改路径.该conf.txt文件看起来是这样的:
/*jslint forin:true*/
Run Code Online (Sandbox Code Playgroud)
确保此行末尾没有返回托架.如果有回程车,则所有行数都将减1.
最后,我输入NppExec的命令是:
"C:\Program Files\jslint\jslint.bat" "$(FULL_CURRENT_PATH)"
Run Code Online (Sandbox Code Playgroud)
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)"
Run Code Online (Sandbox Code Playgroud)
(注意:Javascript Lint的大多数说明都会在命令末尾添加"pauseatend",我发现这在Notepad ++中引起了问题,所以我把它关了)
希望这有助于某人,
干杯,
安迪.
mvl*_*dic 40
您可以尝试使用JSLint Plugin for Notepad ++:
https://sourceforge.net/projects/jslintnpp/
归档时间: |
|
查看次数: |
27192 次 |
最近记录: |