Javascript 在记事本中使用JSLint++

Javascript 在记事本中使用JSLint++,javascript,notepad++,jslint,lint,Javascript,Notepad++,Jslint,Lint,我见过其他文本编辑器使用扩展来允许语法检查,例如,这是否可能与Notepad++?我已经设法使用的插件运行了两个lint程序 NppExec插件通常默认安装,可以在plugins->NppExec下找到。使用nppexec0.3rc1和Notepad++5.1+。 1 JSLint 首先从下载。 修改文件的最后一部分,如下所示: (function() { if(!JSLINT(WScript.StdIn.ReadAll(),{passfail:false})) { v

我见过其他文本编辑器使用扩展来允许语法检查,例如,这是否可能与Notepad++?

我已经设法使用的插件运行了两个lint程序

NppExec插件通常默认安装,可以在plugins->NppExec下找到。使用nppexec0.3rc1和Notepad++5.1+。

1 JSLint 首先从下载。 修改文件的最后一部分,如下所示:

(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 forin:true*/
确保这条线的末端没有回程车厢。如果有回程车厢,则所有线路计数将减少1

最后,我在NppExec中输入的命令是:

"C:\Program Files\jslint\jslint.bat" "$(FULL_CURRENT_PATH)" 
2皮棉 是一个稍微不那么严格的解析器,并且更容易实现

首先从中获取windows版本的副本并将其解压缩。 那么NppExec命令是:

"C:\Program Files\JavascriptLint\jsl.exe" -conf "C:\Program Files\JavascriptLint\jsl.default.conf" -process "$(FULL_CURRENT_PATH)"
注意:Javascript Lint的大多数指令都会说在命令末尾添加pauseatend,我发现这会在Notepad++中导致问题,所以我将其取消

希望这对别人有帮助, 干杯
Andy.

您可以尝试使用记事本++的JSLint插件:


安装插件后,应转到:

插件->JSLint->JSLint选项

并将ChooseJavaScriptLint工具更改为JSHint


JSHint提供了很多没有意义的错误。

感谢您提供Javascript Lint参考。与JSLint相比,我更喜欢它,但大多数人倾向于忽略它。按照您对JSLint和notepad++的说明,它成功了。谢谢。Javascript lint下载链接已断开。这是:谢谢。对我来说,没有安装NppExec插件。我做了Plugins->Plugin Manager->Available并点击了NppExec来安装它。对于javascript lint,别忘了添加NppExec控制台输出过滤器“%ABSFILE%%LINE%:*”+1。您只需将一个DLL下载到Notepad++插件目录中即可安装它。通过一个漂亮的选项对话框,您可以定制JSLint选项,包括更改将输出的最大错误数,立即获得JSLint。我真的很快就起床了,而且跑起来的时间比我读报纸所花的时间要少。更不用说对它描述的JS、配置和批处理文件进行编辑了。这比我的解决方案要好得多。FWIW,你不必再手动安装它了,你只需从可用插件列表中选择它即可。我喜欢记事本++的插件管理器!不幸的是,这个插件似乎被最新版本的JSLint给出未知异常错误对话框和JSHint给出无效的JSLint脚本破坏了!错误对话框。也许我做错了什么?太糟糕了,这只适用于32位NPP:。这不是答案,而是以下代码:函数{if!JSLINTWScript.StdIn.ReadAll,{passfail:false}{var e;forvar 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*$/,$1;}WScript.Quit1;};在记事本++控制台上告诉我:>第79行的Lint字符8:停止,>无法继续。39%已扫描。>C:\Program Files\JSLint\JSLint.js4637,17>Microsoft JScript运行时错误:>“line”为null或不是