突然,我的記事本++的JSLint插件停止工作。 每當我試圖解析.js文件,它輸出這樣的警告:突然Jslint插件拒絕工作(JSLint只能在JavaScript上操作....)
的JSLint只能於JavaScript,HTML和CSS文件進行操作。
文件名爲main.js,這顯然是一個JavaScript文件。 它拒絕任何文件與.js擴展名。 它定期工作於.css或.html文件,但不在.json ones。
我沒有更改任何擴展名,任何解決此問題的建議?
突然,我的記事本++的JSLint插件停止工作。 每當我試圖解析.js文件,它輸出這樣的警告:突然Jslint插件拒絕工作(JSLint只能在JavaScript上操作....)
的JSLint只能於JavaScript,HTML和CSS文件進行操作。
文件名爲main.js,這顯然是一個JavaScript文件。 它拒絕任何文件與.js擴展名。 它定期工作於.css或.html文件,但不在.json ones。
我沒有更改任何擴展名,任何解決此問題的建議?
這是用於Notepad ++的JSLint插件和最後一個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
)。現在,在最新的記事本++版本是文件類型列表:
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};
綜上所述,JSLint的插件記事本++需要進行修改,以正確識別的JavaScript/JSON文件。如果是一個活躍的項目,解決這個問題的正確方法應該是open an issue,我想。我想你嘗試從菜單中直接分配一種語言作爲解決方法,但它不起作用。
從菜單中指定語言對我有效,謝謝。 – Mike
它工作如果我分配HTML或CSS作爲語言。它不適用於JS和JSON – gerryino
@gerryino,這裏也一樣。 – GaTechThomas
要澄清其他註釋中提到的解決方法,請使用語言菜單將.js文件的語言設置爲CSS。該插件可以根據預期識別並提供JavaScript。
將語言設置爲HTML也似乎有效,但CSS突出顯示更有用IMO。
這適用於Notepad ++ v6.8.6,JSLint v0.8.1.117。
這在JSLint的插件的最新版本解決了,你可以在sourceforge下載並安裝插件的JSLint的最後一個版本的記事本+ +,並手動安裝(見txt文件下載時)
最佳。
第一次安裝它,我得到相同的錯誤信息。 – Olesma
安裝最新更新後發生這種情況。我認爲我在6.8。3,現在我在6.8.6上,所以它可能與版本有關。 – Necreaux
剛剛在記事本6.7.3上安裝了JsLint 0.8.1.117:我沒有收到錯誤信息。 –