突然Jslint插件拒绝工作(JSLint只能在JavaScript上运行....)

时间:2015-11-06 14:11:47

标签: notepad++ jslint

突然,我的记事本++的JSLint插件停止运行。 每当我尝试解析.js文件时,它都会输出此警告:

  

JSLint只能在JavaScript,HTML或CSS文件上运行。

该文件名为 main.js ,它显然是一个javascript文件。 它拒绝使用 .js 扩展名的任何文件。 它定期在 .css .html 文件上运行,但不在 .json 文件上运行。

我没有更改任何扩展名,是否有任何修改此建议的建议?

2 个答案:

答案 0 :(得分:19)

这是Notepad ++的JSLint插件与最后的Notepad ++版本之间的不兼容性。需要修复Notepad ++的JSLint插件,以便在Notepad ++中使用新的文件类型。

如果您选中the JSLint Plugin for Notepad++ source code

    if (type != L_JS && type != L_HTML && type != L_CSS) {
        ::MessageBox(
            g_nppData._nppHandle, 
            TEXT("JSLint can operate only on JavaScript, HTML or CSS files."),
            TEXT("JSLint"),
            MB_OK | MB_ICONINFORMATION
        );
        return;
    }

您还可以在Notepad_plus_msgs.h文件中看到插件中包含的文件类型列表:

enum LangType {L_TXT, L_PHP , L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC,\
           L_HTML, L_XML, L_MAKEFILE, L_PASCAL, L_BATCH, L_INI, L_NFO, L_USER,\
           L_ASP, L_SQL, L_VB, L_JS, L_CSS, L_PERL, L_PYTHON, L_LUA,\
           L_TEX, L_FORTRAN, L_BASH, L_FLASH, L_NSIS, L_TCL, L_LISP, L_SCHEME,\
           L_ASM, L_DIFF, L_PROPS, L_PS, L_RUBY, L_SMALLTALK, L_VHDL, L_KIX, L_AU3,\
           L_CAML, L_ADA, L_VERILOG, L_MATLAB, L_HASKELL, L_INNO, L_SEARCHRESULT,\
           L_CMAKE, L_YAML,\
           // The end of enumated language type, so it should be always at the end
           L_EXTERNAL};

该插件正在尝试确保该文件是受支持的文件类型之一,直到现在还没有。

但最后一个Notepad ++版本包括these changes,它们添加了几个新的文件类型' (L_JSONL_JAVASCRIPT)与此问题相关的问题。现在,最新的Notepad ++版本中的文件类型列表是:

enum LangType {L_TEXT, L_PHP , L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC,\
           L_HTML, L_XML, L_MAKEFILE, L_PASCAL, L_BATCH, L_INI, L_ASCII, L_USER,\
           L_ASP, L_SQL, L_VB, L_JS, L_CSS, L_PERL, L_PYTHON, L_LUA,\
           L_TEX, L_FORTRAN, L_BASH, L_FLASH, L_NSIS, L_TCL, L_LISP, L_SCHEME,\
           L_ASM, L_DIFF, L_PROPS, L_PS, L_RUBY, L_SMALLTALK, L_VHDL, L_KIX, L_AU3,\
           L_CAML, L_ADA, L_VERILOG, L_MATLAB, L_HASKELL, L_INNO, L_SEARCHRESULT,\
           L_CMAKE, L_YAML, L_COBOL, L_GUI4CLI, L_D, L_POWERSHELL, L_R, L_JSP,\
           L_COFFEESCRIPT, L_JSON, L_JAVASCRIPT,\
           // The end of enumated language type, so it should be always at the end
           L_EXTERNAL};

总之,需要修改Notepad ++的JSLint插件以正确识别javascript / json文件。如果是一个活跃的项目,解决这个问题的正确方法应该是open an issue,我猜。我想您尝试直接从菜单中指定一种语言作为解决方法,但它没有用。

答案 1 :(得分:11)

这是在最新版本的JSLint插件中解决的,您可以在sourceforge下载并安装最新版本的Notepad ++ JSLint插件,并手动安装(下载时请参阅txt文件)

最佳。