Visual Studio Code. Configuración recomendada para el curso Introducción a la programación con Python

Esta es la configuración de Visual Studio Code que se recomienda para seguir este curso.

Esta lección no detalla los pasos para configurar Visual Studio Code. En caso necesario, puede consultar la lección Personalización de VSC de los apuntes de Informática general, en la que se explica detalladamente cómo se personaliza Visual Studio Code. En dichos apuntes también puede consultar lecciones dedicadas a Visual Studio Code, como Presentación general, Instalación, Uso y otras, que le pueden ser de ayuda si no conoce Visual Studio Code.

Tema de color recomendado para el curso de Python

El tema de color es un aspecto muy personal por lo que se deja a elección del alumno el tema de color empleado.

En las capturas de los apuntes se empleará el Tema Dark+ (default dark).

VSC. Tema Light+ predeterminado

Área de trabajo

Esta es el área de trabajo recomendada para seguir este curso.

  1. Cree la carpeta Documentos > LMSGI > Python:

    VSC. Área de trabajo

  2. Cree las carpeta Documentos > LMSGI > Python > ejercicios y Documentos > LMSGI > Python > pruebas:

    VSC. Área de trabajo

  3. Elija la opción de menú Archivo > Abrir carpeta ...:

    VSC. Área de trabajo

  4. Elija la carpeta Documentos > LMSGI > Python:

    VSC. Área de trabajo

  5. Se abrirá en Explorador en la barra de actividades para ver el contenido de la carpeta elegida:

    VSC. Área de trabajo

Preferencias de configuración recomendadas para el curso de Python

Estas son las preferencias de configuración que se aconseja establecer para seguir este curso.

Las preferencias propuestas relacionadas con extensiones requieren la instalación de las extensiones correspondientes.

Preferencias globales (Usuario)

Extensiones recomendadas para el curso de Python

Estas son las dos extensiones que se aconseja instalar para seguir este curso.

multi-command

Autor: ryuta46

Marketplace: multi-command

Repositorio GitHub: multi-command


Esta extensión permite crear comandos que ejecuten a su vez varios comandos de Visual Studio Code.

Python extension for Visual Studio Code

Logotipo de Python for VSC

Autor: Microsoft (Don Jayamanne)

Marketplace: Python

Repositorio GitHub: Python


Don Jayamanne, el creador de la extensión Python trabaja en Microsoft desde noviembre de 2017. Desde entonces, la extensión se publica como extensión oficial por parte de Microsoft y además se publica regularmente todos los meses.

En el Blog de Python en Microsoft se anuncian las novedades mensuales en la extensión Python:


Al instalar la extensión Python en Visual Studio Code, se debe instalar el módulo pylint y es conveniente instalar un módulo de autoformato.

Instalación de pylint

Al guardar por primera vez un programa de Python, Visual Studio Code mostrará un aviso indicando que pylint no está instalado y que le ofrecerá la opción de instalarlo automáticamente.

  1. Abra o escriba un programa cualquiera y guárdelo.
  2. Se mostrará el aviso indicando que pylint no está instalado. Haga clic en "Install" para instalarlo.

    VSC. Instalación de pylint

  3. Se abrirá en la parte inferior una ventana de terminal en la que se ejecutará la instalación de pylint y de sus dependencias. Si la instalación se realiza correctamente, se mostrará el aviso correspondiente. Puede cerrar la ventana haciendo clic en el icono de cierre.

    VSC. Instalación de pylint

    Nota: Como puede verse en la captura, se muestra un aviso en color amarillo indicando que los paquetes se han instalado en una carpeta que no está en la variable de entorno de Windows PATH. Eso se debe a que VSCode instala los paquetes con la opción --user, por lo que los paquetes se instalan en la carpeta ..\AppData\Roaming\Programs\Python\..., mientras que Python está instalado en ..\AppData\Local\Programs\Python\... En principio no es necesario añadir ninguna carpeta al PATH de Windows.


Configuración de pylint

La configuración inicial de Pylint en VSCode es una configuración mínima (documentación de VSCode) que conviene modificar, sobre todo si trabajamos con pygame, para evitar que se muestren muchos avisos irrelevantes.

La lista de mensajes de error y avisos de Pylint se encuentra en el apartado Pylint Features de la documentación de Pylint.

Nota: Estas preferencias están incluidas en el apartado anterior de preferencias de configuración. No es necesario añadirlas si ya se han añadido anteriormente.

  //
  // Extensión pylint (configuración para ejercicios pygame)
  "python.linting.pylintArgs": [
    "--extension-pkg-whitelist=pygame",
    "--disable=C0103, C0114, C0115, C0116, C0330",
    // Pylint features. Pylint global options and switches
    // http://pylint.pycqa.org/en/2.4/technical_reference/features.html
    // http://pylint.pycqa.org/en/latest/technical_reference/features.html
    // C0103: invalid-name - Used when the name doesn't conform to naming rules associated to its type (constant, variable, class...).
    // C0114: missing-module-docstring - Used when a module has no docstring.Empty modules do not require a docstring.
    // C0115: missing-class-docstring - Used when a class has no docstring.Even an empty class must have a docstring.
    // C0116: missing-function-docstring - Used when a function or method has no docstring.Some special methods like __init__ do not require a docstring.
    // C0330: bad-continuation - Wrong %s indentation%s%s. TODO
  ],
  //
  //

Instalación de módulo de autoformato

Al formatear código por primera vez después de instalar la extensión Python, Visual Studio Code mostrará un aviso indicando que no hay ningún formateador de código de Python instalado y que le ofrecerá la opción de instalar algún módulo de autoformato. Actualmente (enero de 2020), los módulos de autoformato que ofrece son:

  1. Abra o escriba un programa cualquiera y teclee el atajo Shift+Alt+f para formatear el código.
  2. Se mostrará el aviso indicando que no hay ningún formateador instalado y ofreciendo la instalación de black. Haga clic en "Yes" para instalarlo.

    VSC. Instalación de black

    Nota: En estos apuntes se recomienda el módulo black, pero se podría utilizar otro módulo. El formato aplicado no afecta al resultado ni a la velocidad de ejecución de los programas.

  3. Se abrirá en la parte inferior una ventana de terminal en la que se ejecutará la instalación de black y de sus dependencias. Si la instalación se realiza correctamente, se mostrará el aviso correspondiente. Puede cerrar la ventana haciendo clic en el icono de cierre.

    VSC. Instalación de black

    Nota: Como puede verse en la captura, se muestra un aviso en color amarillo indicando que los paquetes se han instalado en una carpeta que no está en la variable de entorno de Windows PATH. Eso se debe a que VSCode instala los paquetes con la opción --user, por lo que los paquetes se instalan en la carpeta ..\AppData\Roaming\Programs\Python\..., mientras que Python está instalado en ..\AppData\Local\Programs\Python\... En principio no es necesario añadir ninguna carpeta al PATH de Windows.

  4. Se creará una carpeta .vscode con el archivo de configuración del área de trabajo settings.json. Este archivo contiene la preferencia de configuración que indica a Visual Studio Code que queremos utilizar el formateador black.

    VSC. Instalación de black

Problemas

Hay situaciones en las que el formateador black entra en conflicto con el validador pylint.

Una de estas situaciones se produce con el sangrado de las condiciones en una sentencia if como el del ejemplo siguiente:

a = 5
b = 7
c = 10
if (
    c > a
    and c > b
):
    print("c es mayor que a y que b")
else:
    print("c no es mayor que a y que b")

En este ejemplo, las líneas de la condición (líneas 4 y 5) tienen el mismo sangrado que los bloques de instrucciones (líneas 8 y 10). Este sangrado uniforme es el que aplica black, pero pylint indica un aviso "Wrong hanging indentation before block (add 4 spaces). pylint(bad-continuation)"

pylint prefiere que la condición tenga más sangrado que los bloques de instrucciones, como en el ejemplo siguiente:

a = 5
b = 7
c = 10
if (
        c > a
        and c > b
):
    print("c es mayor que a y que b")
else:
    print("c no es mayor que a y que b")

Ambos sangrados son sintácticamente válidos y siguen las reglas de formato de Python (Pep 8, pero el problema es que cada vez que formateamos con black el segundo programa, black lo deja como el primero y pylint muestra un aviso (en realidad, muestra varias veces el mismo aviso, uno por línea).

Hace tiempo que se ha pedido tanto a black como a pylint que resuelvan esta situación (pylint issue #289 y black issue #48), pero ninguno de los dos da su brazo a torcer.

A la espera de que black o pylint corrijan su comportamiento, la única solución que he encontrado ha sido desactivar el aviso C0330 de pylint.

Tareas recomendadas para el curso de Python

No es necesario añadir ninguna tarea específica.

Atajos de teclado recomendados para el curso de Python

Estos son los atajos de teclado que se aconseja añadir para seguir este curso.

Atajos relacionados con el terminal

Entre los atajos recomendados, cuatro de ellos están relacionados con la ventana de terminal:

Ejecutar programa

Los dos atajos (Ctrl+Alt+F5 y Ctrl+Alt+Shift+F5) permiten ejecutar el programa de Python que se esté editando. El programa se ejecuta en la ventana de terminal PowerShell de Visual Studio Code. Se ha elegido la tecla F5 ya que esta es la tecla que permite ejecutar programas en IDLE.

Ambos atajos cambian automáticamente al directorio en el que se encuentra el programa y lo ejecutan en ese directorio.

La diferencia entre ambos atajos es que:


Si no se define el atajo de teclado, el programa se puede ejecutar igualmente haciendo clic derecho en el cuerpo del programa y eligiendo la opción "Ejecutar archivo Python en la terminal".

VSC. Ejecutar programas Python en VSC

En este caso, el terminal se abre en el directorio raíz del área de trabajo y el foco se mantiene en el editor.

VSC. Ejecutar programas Python en VSC

Ejecutar MPTC

El atajo Ctrl+Alt+F6 está pensado para facilitar el uso de MPTC. .

  1. El atajo abre la ventana de terminal en el directorio en el que se encuentra el programa y escribe el principio del comando para ejecutar MPTC:

    VSC. Ejecutar MPTC en VSC

  2. Únicamente falta añadir el número del identificador MPTC que se encuentra junto al enunciado del ejercicio y pulsar Intro ...

    VSC. Ejecutar MPTC en VSC

  3. ... para validar el programa.

    VSC. Ejecutar MPTC en VSC