Cómo hacer JSLint en Vim

6 minutos de lectura

avatar de usuario
ben lemasurier

Paso mis días en vim, actualmente escribo mucho JavaScript. He estado tratando de encontrar una manera de integrar JSLint o algo similar en vim para mejorar mi codificación. ¿Alguien ha conseguido hacer algo así?

Intenté esto: Comprobación de sintaxis de Javascript desde Vimdesafortunadamente la salida es muy cruda.

La mejor práctica de la OMI es:

  1. Instalar Complemento Syntastic Vim – El mejor verificador de sintaxis para muchos idiomas, además se integra con Vim’s lista de ubicaciones (==arreglo rapido) ventana.
  1. Elija una de las dos opciones a continuación:

JSLint

  1. Instalar jsl (JSLint ejecutable) usando su administrador de paquetes favorito (Ubuntu’s apt-getMac’s casa brewetc.).

Impulsado por la comunidad jshint.com (mejor que JSLint)

  1. Instalar nodo.js usando su administrador de paquetes favorito.
  2. Instalar Administrador de paquetes de nodos: ‘rizo https://npmjs.org/install.sh | ella EDITAR: npm ES PARTE DE node.js AHORA
  3. Instalar jshint globalmente: ‘npm install jshint -g’
  4. Pon tu jshint configuración archivo en su $HOGAR directorio: ‘~/.jshintrc’
  5. Sobrescribir sintástico‘s syntax_checkers/javascript.vim archivo con ÉsteEDITAR: YA NO ES NECESARIO CON LA VERSIÓN SINTÁSTICA MÁS NUEVA.

¡Disfrutar! 🙂

  • Estoy probando esto ahora mismo. Intenté clonar Syntastic y usar el comando “rake install” y luego reemplacé el archivo javascrip.vim con el suyo. Todavía no puedo entender cómo usarlo, :SyntasticEnable no hace nada por lo que puedo ver. aunque seguire intentando..

    – Claes Mogren

    27 de mayo de 2011 a las 22:08

  • Ok, noté que Syntastic requiere ballon_eval, que no es compatible con MacVim. Demasiado..

    – Claes Mogren

    28 mayo 2011 a las 19:43

  • Intenté agregarlo, espero que (o una versión más bonita) se elimine github.com/scrooloose/syntastic/pull/47

    – Claes Mogren

    30 de mayo de 2011 a las 20:02

  • Acabo de pasar mucho tiempo tratando de averiguar por qué no parecía estar pasando nada… si sacaste el .jshintrc de Ory, ten en cuenta que hay una coma final después de “google” en el objeto “predef” que hace que jshint no se cargue y Syntastic para fallar en silencio.

    – Los pantalones

    27 de abril de 2012 a las 20:03

  • jsl para Windows: javascriptlint.com/download.htm Además, tenga cuidado con el archivo jsl.vim para este problema: vim.1045645.n5.nabble.com/…

    – Andrés

    5 de junio de 2012 a las 22:08

Puedes seguir las instrucciones de Servicio web JSLint + integración VIM o hacer lo que hice:

Descargar http://jslint.webvm.net/mylintrun.js y http://www.jslint.com/fulljslint.js
y colóquelos en un directorio de su elección.

Luego agregue la siguiente línea al principio de mylintrun.js:

var filename= arguments[0];

y cambie la última línea de código en mylintrun.js (“imprimir (…)”) a:

 print ( filename + ":" + (obj["line"] + 1) + ":" + (obj["character"] + 1) + ":" + obj["reason"] );

Esto hace que mylintrun.js genere una lista de errores que se puede usar con la ventana de corrección rápida de VIM (:copen).

Ahora configure lo siguiente en VIM:

set makeprg=cat\ %\ \\\|\ /my/path/to/js\ /my/path/to/mylintrun.js\ %
set errorformat=%f:%l:%c:%m

donde tienes que cambiar /mi/ruta/hacia/js al camino a SpiderMonkey y /mi/ruta/a/mylintrun.js a la ruta donde colocaste los archivos JS.

Ahora, puedes usar :hacer en VIM y utilice el arreglo rapido window (:he quickfix-window) para saltar de error en error.

  • ¿Por qué estás capturando el búfer y pasándolo como argumento a mylintrun?

    – jamessan

    11 de febrero de 2010 a las 2:59

  • @jamessan: el script mylintrun.js lee el archivo desde la entrada estándar. Así que para eso está el catting. Para la salida de error, mylintrun.js también necesita el nombre del archivo, por lo que se proporciona como argumento. Puede modificar la secuencia de comandos para abrir el archivo para lectura en lugar de leer desde stdin (haciendo innecesario el gato). Pero no quería molestarme con esto… y creo que hay un problema al leer archivos si tiene un motor de JavaScript compilado sin FileObject

    – f3lix

    11 de febrero de 2010 a las 10:37

  • ¿Cuál es ‘el camino a SpiderMonkey’ en su máquina? Tengo algunos en la mía

    – Doctor Frankenstein

    18 de mayo de 2010 a las 11:57

  • No puedo acceder a mylintrun.js, ¿hay alguna ubicación alternativa? parece estar muerto

    – teclas azules

    20 de marzo de 2012 a las 15:45

  • Los enlaces a mylintrun.js y fulljslint.js están rotos, lo que hace que esta respuesta sea menos útil porque depende en gran medida de ellos. Por favor, ¿puede actualizar con direcciones URL que funcionen? De lo contrario, tendré que eliminar esta respuesta, que es un fastidio porque se ve bastante bien y ha ayudado a mucha gente. Gracias.

    – Kev

    20/09/2012 a las 23:50

avatar de usuario
Alex Khan

Otra opción es jslint.vim de Jesse Hallet. Está disponible en GitHub y funciona con o sin la ventana QuickFix de Vim. ¡Es un buen complemento!

  • +1 por esto. Funciona genial. Convenientemente descargable desde vim.org/scripts/script.php?script_id=2729. Tenga en cuenta que en Windows deberá instalar Ruby.

    – mm2001

    1 de marzo de 2011 a las 19:33

  • También asegúrese de consultar JSHint, mencionado a continuación.

    – Alex Khan

    9 mayo 2011 a las 21:27

  • El proyecto ya no está en desarrollo.

    – Orange Tux

    7 de noviembre de 2014 a las 13:29

He sido muy feliz usando node-lint

sudo npm -g install jslint

Luego golpea esto en algún lugar de tu .vim

set makeprg=jslint\ %
set errorformat=%-P%f,
        \%E%>\ #%n\ %m,%Z%.%#Line\ %l\\,\ Pos\ %c,
        \%-G%f\ is\ OK.,%-Q

ahora un :make ejecutará jslint. Los errores aparecen en la ventana de corrección rápida.

avatar de usuario
Shaun Dychko

Aquí están las instrucciones de Mac OS actualizadas para noviembre de 2012. Supone que tiene Cerveza casera instalado para obtener Node.js, y que ya instaló Syntastic para Vim (yo uso https://github.com/carlhuda/janus que proporciona esto automáticamente):

$ brew install node.js
$ npm install -g jshint

Luego agregue ‘/usr/local/share/npm/bin’ a su RUTA (probablemente en ~/.bashrc). Por ejemplo, agregue la línea:
export PATH="$PATH:/usr/local/share/npm/bin"

reinicie su Terminal y verifique que

$ jshint

es ejecutable desde la línea de comandos. Syntastic descubrirá jsHint automáticamente. ¡Reinicia MacVim y disfruta!

avatar de usuario
hecho

Mucho mejor es canalizar los resultados a través de Lynx para lidiar con la desafortunada elección de HTML de JSLint para el formato de salida. Tengo una publicación de blog sobre cómo hacerlo aquí:

http://www.fleegix.org/articles/2008-09-06-jslint-in-vim-through-lynx

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad