Análisis de corrección de Python (es decir, pelusa) para Notepad ++

¿Alguien sabe de algo como pylint o pychecker para notepad ++? O tal vez cómo utilizar pylint en notepad ++.

Si instala el complemento de Python Script , puede agregar un nuevo script con las siguientes líneas para obtener resultados bastante buenos:

console.show() console.clear() console.run('cmd.exe /c ' + 'C:\\Python26\\Scripts\\pylint.bat --reports=n -f parseable ' + '"%s"' % notepad.getCurrentFilename()) 

La salida incluirá hipervínculos a las líneas con los errores / advertencias (si los nombres de los archivos no tienen espacios en ellos …)

La opción “-f analizable” está en desuso en la versión actual de Pylint.

La alternativa equivalente actual es:

 console.run('cmd.exe /c ' + 'C:\\Python26\\Scripts\\pylint.bat --reports=n ' + '--msg-template="%s" %s' % ( '{path}:{line}: {msg_id}({symbol}), {obj} {msg}', notepad.getCurrentFilename())) 

Nota: la ruta de acceso a python puede ser diferente, por ejemplo, C:\\Python27.

Nota2: las comillas dobles en --msg-template="..." son importantes

Ninguna de las otras respuestas funcionó para mí, pero esto sí:

  1. Instale PyLint usando C:\Python34\Scripts\pip.exe install pylint

  2. Instale NppExec a través del Administrador de complementos , presione F6 y guarde esta secuencia de comandos como “PyLint 3.4”:

     NPP_SAVE cd "$(FULL_CURRENT_PATH)" //env_set PYTHONIOENCODING=utf-16-le env_set PYTHONIOENCODING=utf-8 C:\Python34\Scripts\pylint.exe --reports=n -f parseable "$(FULL_CURRENT_PATH)" 

Salida de muestra:

 Process started >>> ************* Module pylint2 pylint2.py:3: [C0330(bad-continuation), ] Wrong continued indentation (add 4 spaces). + 'C:\\Python26\\Scripts\\pylint.bat --reports=n ' ^ | pylint2.py:4: [C0330(bad-continuation), ] Wrong continued indentation (add 4 spaces). + '--msg-template="%s" %s' ^ | pylint2.py:4: [C0303(trailing-whitespace), ] Trailing whitespace pylint2.py:5: [C0330(bad-continuation), ] Wrong continued indentation (add 4 spaces). % ( '{path}:{line}: {msg_id}({symbol}), {obj} {msg}', notepad.getCurrentFilename())) ^ | pylint2.py:5: [C0326(bad-whitespace), ] No space allowed after bracket % ( '{path}:{line}: {msg_id}({symbol}), {obj} {msg}', notepad.getCurrentFilename())) ^ pylint2.py:6: [C0304(missing-final-newline), ] Final newline missing pylint2.py:1: [C0111(missing-docstring), ] Missing module docstring pylint2.py:2: [E0602(undefined-variable), ] Undefined variable 'console' pylint2.py:5: [E0602(undefined-variable), ] Undefined variable 'notepad' No config file found, using default configuration <<< Process finished. (Exit code 18) 

Puede vincular esas rutas usando los filtros de salida de la consola de NppExec. Presione Mayús + F6 y habilite este filtro con Rojo configurado en FF :

 %FILE%:%LINE%:* 

Luego, al hacer doble clic en una línea roja se enfoca la ubicación especificada en el editor.

Podría instalar PyLint usando C:\Python34\Scripts>pip install pylint y usarlo a través del comando Run... Notepad ++ ( F5 ):

 C:\Python34\Scripts\pylint.bat "$(FULL_CURRENT_PATH)" 

Debe usar el Ejecutable en lugar del Lote si desea usar Pylint dentro de NotePad ++.

Vaya a la Configuración desde Python Script y cree un nuevo archivo .py para ejecutar Pylint a partir de eso. ( Llamé a mi archivo npphelper.py )
( Agregue ese npphelper.py a los elementos de menú y los icons de la barra de herramientas, luego puede ejecutarlo presionando un botón ) .

Esto ejecutará Pylint en Notepad ++, dividí el comando en 2 partes:

 pyLint = 'C:\\PROGRA~1\\Python35\\Scripts\\pylint.exe --reports=n' console.show() console.clear() console.run('%s "%s"' % (pyLint, notepad.getCurrentFilename())) 
  1. Ruta a pylint.exe ( utilicé un Shortname en lugar de Doublequotes )
  2. El archivo que desea verificar con Pylint ( actualmente devuelve la ruta desde la pestaña activa )

( Debe cambiar las rutas para que se adapten a su instalación … )

Todo lo que tiene que hacer ahora es guardar este npphelper.py, abrir la pestaña con su archivo de proyecto y ejecutar el npphelper.py que creó para pylint. ( por ejemplo, a través del botón )


Si no desea utilizar la configuración predeterminada, genere una plantilla pylintrc (guárdela donde desee ). Lo he hecho a través de CMD con el siguiente comando:

 pylint.exe --generate-rcfile>>myfilename.pylintrc 

Entonces necesitas cambiar algunas líneas en el npphelper.py:

 rcfile = 'C:\\PROGRA~1\\Python35\\Scripts\\myrcfile.pylintrc' pyLint = 'C:\\PROGRA~1\\Python35\\Scripts\\pylint.exe --reports=n --rcfile="%s"' % rcfile console.show() console.clear() console.run('%s "%s"' % (pyLint, notepad.getCurrentFilename())) 

He instalado Python Script 1.0.8.0 con todos los Extras usando el archivo .msi aquí .
( Usar el PluginManager en Notepad ++ te da la versión 1.0.6.0 en lugar de la 1.0.8.0 )

Utilizo Windows 7 con Notepad ++ 6.9.1, Python 3.5.1 y Pylint 1.5.5.
( Instalé pylint a través de CMD -> ” pip install pylint ” y lo actualicé. )


Algunos enlaces más útiles:

  • ¿Cómo creo un archivo pylintrc
  • Error de PyLint “No se puede importar”: ¿cómo configurar PYTHONPATH?