vscode visual studio run linter disable code python pylint

python - linter - run pylint visual studio code



¿Cómo desactivo las advertencias de "falta de docstring" en un nivel de archivo en Pylint? (5)

Pylint arroja errores que algunos de los archivos le faltan a docstrings. Intento y agrego docstrings a cada clase, método y función, pero parece que Pylint también verifica que los archivos deben tener una docstring al principio. ¿Puedo desactivar esto de alguna manera? Me gustaría que se me notifique que falta una docstring dentro de una clase, función o método, pero no debería ser obligatorio que un archivo tenga una docstring.

(¿Hay un término de la jerga legal que a menudo se encuentra al comienzo de un archivo fuente propietario? ¿Algún ejemplo? No sé si está bien publicar una pregunta tan trivial por separado).


Creo que la solución es relativamente fácil sin deshabilitar esta función.

def kos_root(): """Return the pathname of the KOS root directory.""" global _kos_root if _kos_root: return _kos_root

Todo lo que necesita hacer es agregar la secuencia de comillas dobles triples en cada función.


Es bueno que un módulo de Python tenga una docstring, que explique qué hace el módulo, qué proporciona, ejemplos de cómo usar las clases. Esto es diferente de los comentarios que a menudo se ven al principio de un archivo que proporciona la información de copyright y de licencia, que IMO no debe ir en la documentación (algunos incluso argumentan que deberían desaparecer por completo, ver, por ejemplo, http://hackerboss.com/get-rid-of-templates/ )

Pylint no tiene un código separado para los distintos lugares donde pueden producirse las cadenas de documentos, por lo que todo lo que puede hacer es deshabilitar C0111. El problema es que si deshabilita esto en el alcance del módulo, se desactivará en todas las partes del módulo (es decir, no obtendrá ninguna línea C para la función / clase / método docstring que falta. Lo cual podría no ser bueno, y es posible que desee para contribuir a este problema de la pildora en github si te molesta.

Entonces, lo que sugiero es agregar esa pequeña docstring faltante, diciendo algo así como:

""" high level support for doing this and that. """

Muy pronto, encontrará cosas útiles para poner allí, como proporcionar ejemplos de cómo usar las diversas clases / funciones del módulo que no pertenecen necesariamente a los documentos individuales de las clases / funciones (como por ejemplo interactuar, o algo así como una guía de inicio rápido).


Es tarde, pero aún así lo encontré útil. Entonces compartiendo Encontré esto here .

Puede agregar la marca "--errors only" para pylint para deshabilitar las advertencias.

Para hacer esto, ve a la configuración. Edite la siguiente línea:

"python.linting.pylintArgs": []

Como

"python.linting.pylintArgs": ["--errors-only"]

¡Y estás listo para ir!


Vine en busca de una respuesta porque, como @cerin dijo, en los proyectos de Django es engorroso y redundante agregar módulos de documentos a cada uno de los archivos que django genera automáticamente al crear una nueva aplicación.

Por lo tanto, como una solución para el hecho de que pylint no le permite especificar una diferencia en los tipos de docstring, puede hacer esto:

pylint */*.py --msg-template=''{path}: {C}:{line:3d},{column:2d}: {msg}'' | grep docstring | grep -v module

Tienes que actualizar la plantilla msg para que cuando grep aún sepas el nombre del archivo. Esto devuelve todos los otros tipos de documentos perdidos excluyendo módulos.

Luego puede corregir todos esos errores y luego ejecutar:

pylint */*.py --disable=missing-docstring


No. Pylint no te permite discriminar entre las advertencias de doc-string.

Sin embargo, puede usar flake8 para todas las comprobaciones de código python junto con la extensión doc-string para ignorar esta advertencia.

Instale la extensión doc-string con pip (Internamente, usa pydocstyle ).

pip install flake8_docstrings

A continuación, puede utilizar el interruptor --ignore D100 . Por ejemplo flake8 file.py --ignore D100