代码之家  ›  专栏  ›  技术社区  ›  alumb

在记事本中使用jslint++

  •  31
  • alumb  · 技术社区  · 16 年前

    我见过其他文本编辑器使用扩展来允许语法检查,例如 JSLint ,是否可以使用记事本++?

    3 回复  |  直到 11 年前
        1
  •  40
  •   mvladic    14 年前

    您可以尝试记事本+的jslint插件:

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

        2
  •  43
  •   alumb    14 年前

    我已经设法让两个lint程序使用 notepad++ NppExec 插件。

    NPPEXEC插件通常在默认情况下安装,可以在plugins->NPPEXEC下找到。(使用NPPEXEC 0.3 RC1和记事本++5.1+)。

    1)JSLNT

    首先下载 WSH version of jslint http://www.jslint.com .
    修改文件的最后一部分,如下所示:

    (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);
        }
    }());
    

    (Pre-modified version here)
    这会导致jslint输出所有错误,而不仅仅是第一个错误。

    接下来,记事本+的NPPEXEC不允许使用stdin,所以我写了一个 batch file 实际执行命令。
    这还允许我添加一个在所有javascript文件之前插入的配置文件。可以看到选项 here . 批处理文件如下:

    @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 是一个稍微不那么严格的解析器,并且更容易实现。

    首先从中获取Windows版本的副本 http://www.javascriptlint.com/download.htm 解开它。 那么nppexec命令是:

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

    (注意:大多数javascript lint的指令都会说在命令末尾添加了“pauseAtend”,我发现这在记事本++中造成了问题,所以我把它放了下来)

    希望这能帮助别人,
    干杯,
    安迪。

        3
  •  3
  •   SHEePYTaGGeRNeP    11 年前

    安装完插件后,应转到:

    插件->jslint->jslint选项

    并将“选择javascript lint工具:”更改为 杰辛特 .

    JShint给出的“错误”毫无意义。