all notepad++ jslint

notepad++ - all - jslint npm



De repente, el complemento Jslint se niega a funcionar(JSLint solo puede funcionar con JavaScript...) (3)

De repente, el plugin JSLint de mi notepad ++ dejó de funcionar. Cada vez que intento analizar un archivo .js, muestra esta advertencia:

JSLint solo puede funcionar con archivos JavaScript, HTML o CSS.

El archivo se llama main.js , y obviamente es un archivo javascript. Se rechaza cualquier archivo con extensión .js . Funciona regularmente en archivos .css o .html , pero no en archivos .json .

No cambié ninguna extensión, ¿alguna sugerencia para arreglar esto?


Esta es una incompatibilidad entre el complemento JSLint para Notepad ++ y las últimas versiones de Notepad ++. El complemento JSLint para Notepad ++ debe corregirse para que funcione correctamente con los nuevos tipos de archivos en Notepad ++.

Si marca el código fuente de JSLint Plugin for Notepad ++ :

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

También puede ver en el archivo Notepad_plus_msgs.h la lista de tipos de archivos incluida en el complemento:

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

El complemento está intentando garantizar que el archivo sea uno de los tipos de archivo admitidos, lo cual estaba bien hasta ahora.

Pero las últimas versiones de Notepad ++ incluyen estos cambios que agregan un par de ''tipos de archivos'' nuevos ( L_JSON y L_JAVASCRIPT ) que están relacionados con este problema. Ahora la lista de tipos de archivos en las últimas versiones de Notepad ++ son:

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

En resumen, el complemento JSLint para Notepad ++ debe modificarse para identificar correctamente los archivos javascript / json. Si es un proyecto activo, la forma correcta de resolver esto debería ser abrir un problema , supongo. Supongo que trató de asignar directamente un idioma del menú como solución alternativa, pero no funcionó.


Esto se resuelve en la última versión de JSLint Plugin, puede descargar e instalar la última versión de JSLint Plugin para Notepad ++ en sourceforge , e instalarla manualmente (consulte el archivo txt cuando se descargue)

Mejor.


Para aclarar la solución alternativa mencionada en otros comentarios, use el menú Idioma para establecer el idioma del archivo .js en CSS. El complemento reconoce y colorea el javascript como se espera.

La configuración del idioma a HTML también parece funcionar, pero el resaltado de CSS es más útil que la OMI.

Esto funciona con Notepad ++ v6.8.6, JSLint v0.8.1.117.