Linting de código de Python en Visual Studio
El proceso de linting resalta problemas de sintaxis del lenguaje y de estilo en el código fuente de Python. Puede ejecutar un linter en el código para identificar y corregir errores sutiles de programación o prácticas de codificación poco convencionales que pueden provocar errores. El linting puede detectar el uso de una variable no inicializada o no definida, llamadas a funciones no definidas, paréntesis que faltan y problemas sutiles, como intentos de redefinir tipos o funciones integrados. El linting se distingue del formato porque analiza cómo se ejecuta el código y detecta errores, mientras que el formato solo reestructura la apariencia del código.
Dos opciones comunes para el linting incluyen pylint y mypy. Estas herramientas se utilizan ampliamente para comprobar si hay errores en el código Python y fomentar buenos patrones de codificación Python. Ambas herramientas están integradas en los proyectos de Visual Studio para Python.
Requisitos previos
- Visual Studio. Para instalar el producto, siga los pasos descritos en Instalación de Visual Studio.
- Acceso a un proyecto de Python para ejecutar herramientas de linting en código existente.
Ejecutar un linter
Las herramientas de linting de Visual Studio están disponibles en el Explorador de soluciones.
Los pasos siguientes muestran cómo usar un linter para comprobar el código.
En Visual Studio, haga clic con el botón derecho en un proyecto de Python en el Explorador de soluciones, seleccione Python y, a continuación, elija Ejecutar PyLint o Ejecutar Mypy:
El comando le pide que instale el linter que eligió en su entorno activo, si todavía no está presente.
Una vez que el linter se ejecuta en el código, puede revisar las advertencias y errores de lint en la ventana Lista de errores:
Haga doble clic en un error o una advertencia para ir a la ubicación en el código fuente donde se genera el problema.
Establecer opciones de la línea de comandos
Tanto pylint como mypy ofrecen opciones de línea de comandos para configurar opciones de linting para el proyecto.
En esta sección aparece un ejemplo que usa las opciones de línea de comandos de pylint para controlar el comportamiento de pyLint mediante un archivo de configuración .pylintrc
. Este archivo se puede colocar en la raíz de un proyecto de Python en Visual Studio o en otra carpeta, según cuán extensamente se quiera aplicar esa configuración.
Los pasos siguientes suprimen las advertencias de "falta docstring" (como se puede ver en la imagen anterior) con un archivo .pylintrc
en un proyecto de Python.
En la línea de comandos, vaya a la carpeta raíz del proyecto que contiene el archivo
.pyproj
y ejecute el siguiente comando para generar un archivo de configuración comentado:pylint --generate-rcfile > .pylintrc
En el Explorador de soluciones, haga clic con el botón derecho en el proyecto y seleccione Agregar>Elemento existente.
En el cuadro de diálogo, vaya a la carpeta que tiene el nuevo archivo
.pylintrc
. Seleccione el archivo.pylintrc
y después Agregar.En el Explorador de soluciones, abra el archivo
.pylintrc
para editarlo.Hay varios ajustes que puede configurar en el archivo. En este ejemplo se muestra cómo deshabilitar una advertencia.
Busque la sección
[MESSAGES CONTROL]
y, a continuación, busque la configuración dedisable
dentro de esa sección.La configuración de
disable
consiste en una cadena larga de mensajes concretos, a la que se puede anexar cualquier advertencia que quiera.Anexe la cadena
,missing-docstring
(incluido el prefijo de coma) al valor de configuracióndisable
:
Guarde el archivo
.pylintrc
.Vuelva a ejecutar pylint. Observe que ahora se suprimen las advertencias de "falta docstring".
Uso del archivo pylintrc desde el recurso compartido de red
Puede usar un archivo .pylintrc
desde un recurso compartido de red.
Cree una variable de entorno llamada
PYLINTRC
.Asigne a la variable el valor del nombre de archivo del recurso compartido de red mediante una ruta de acceso de convención de nomenclatura universal (UNC) o una letra de unidad asignada. Por ejemplo,
PYLINTRC=\\myshare\python\.pylintrc
.