我的 Notepad++ 的JSLint插件突然停止工作。
每当我尝试解析.js文件时,它都会输出以下警告:
该文件名为main.js,显然是一个javascript文件。
它拒绝任何扩展名为.js的文件。
它可以在.css或.html文件上正常运行,但不能在.json文件上运行。
我没有更改任何扩展名,也没有建议解决此问题?
最佳答案
这是用于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_JSON
和L_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,我想。我想您尝试过直接从菜单中分配一种语言作为解决方法,但是它没有用。
关于notepad++ - 突然Jslint插件无法正常工作(JSLint只能在JavaScript上运行...),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33568740/