Por Ana Cáceres
Cuando comenzamos en un proyecto de Python, sin mucho conocimiento de cómo configurar el entorno, puede ser frustrante. Hacía bastantes años que no programaba con él, y configurar el entorno en VSCode, me ha llevado más de un dolor de cabeza, al intentar entender las diferencias entre los linters, formatters y virtual envs que hay disponibles para desarrollar de manera más eficiente.
En este artículo, atacaré como configurar pycodestyle(linter) y autopep8(formatter), para que se ejecuten al guardar los archivos. Aunque VSCode te da la opción de configurar otros diferentes, para nuestro proyecto concluimos que estos dos serían la mejor opción.
Si en tu caso estás buscando cómo configurarlos para PyCharm, te dejo este artículo que lo explica.
Es importante entender qué beneficios trae configurar estas dos herramientas:
Ahora, comencemos a configurar 👷🏻♀️ 🔨 Para poder configurar nuestro editor, es muy importante que tengamos primero instalada la extensión de Python. Una vez tenemos esto, existen dos maneras en las que podemos configurar el editor:
Directamente desde el fichero .vscode/settings.json:
{
# Especifica que el linter de código sea pycodestyle
"python.linting.pycodestyleEnabled": true,
# Especifica que el linter de la documentación sea pydocstyle
"python.linting.pydocstyleEnabled": true,
# Activa el lintado
"python.linting.enabled": true,
# Especifica que el formatter sea autopep8
"python.formatting.provider": "autopep8",
# Especifica que se pase el autopep8 al guardar
"editor.formatOnSave": true,
# Define los argumentos con los que se ejecuta el formateo
# En este caso define la agresividad del mismo
"python.formatting.autopep8Args": [
"--aggressive",
"--aggressive"
]
}
Desde los settings:
Abrimos la configuración de nuestro VSCode.
En el buscador de la pestaña que se nos abre buscamos Python:
Una vez clicamos en la extensión, buscamos el linter y formatter que queremos habilitar:
Activar el lintado
Añadimos los argumentos de autopep8
Especificamos el formatter a autopep8
Activamos el formateo al guardar
Activamos el lintado con pycodestyle
Activamos el lintado con pydocstyle
Cuando habilitemos autopep8, pydocstyle y pycodestyle, si no los tenemos instalados nos pedirá instalarlos y tenemos que aceptar.
Ahora, cada vez que guardemos un archivo, se pasará el linter y el formatter que hemos configurado. Sin embargo, si queremos pasar estas herramientas antes del guardado, habrá que hacer Cmd+Shift+P/Ctrl+Shift+P para que salga el Command Palette y buscamos la de Python: Run Linting o Format Document. Si pulsamos enter en cualquiera de ellos realizaremos la acción deseada.
Con todo esto, ya tendríamos todo configurado para poder ejecutar el linter y formatter, tanto en guardado como de forma manual. Estos pasos, se podrían seguir con cualquier otro de los linter/formatter que vienen como opción en la extensión de Python para VSCode si tenemos otra preferencia.
Muchas gracias por leer, espero que os haya sido útil 🤗
¿Quieres más? te invitamos a suscribirte a nuestro boletín para avisarte cada vez que recopilemos contenido de calidad que compartir.
Si disfrutas leyendo nuestro blog, ¿imaginas lo divertido que sería trabajar con nosotros? ¿te gustaría?
Pero espera 🖐 que tenemos un conflicto interno. A nosotros las newsletter nos parecen 💩👎👹 Por eso hemos creado la LEAN LISTA, la primera lista zen, disfrutona y que suena a rock y reggaeton del sector de la programación. Todos hemos recibido newsletters por encima de nuestras posibilidades 😅 por eso este es el compromiso de la Lean Lista