Configurar VS Code para Python — extensiones, ajustes y el botón de ejecutar explicados (y la errata que Pylance vio antes que yo)

Mi primer programa en VS Code tenía tres líneas y aun así falló. Pulsé el botón de ejecutar, la terminal se llenó de rojo y al final ponía NameError: name 'pirnt' is not defined. Había escrito pirnt en lugar de print. Lo gracioso es que VS Code ya me lo había avisado: la palabra llevaba un rato subrayada con una línea ondulada que yo no había mirado. Ese día entendí que un editor bien configurado no es un capricho: es un compañero que revisa lo que escribes mientras lo escribes.

Configurar VS Code para Python bien es lo primero que deberías hacer antes de escribir una sola línea de código en tu ordenador. Cuando empecé a practicar por mi cuenta, tardé días en dejarlo cómodo porque nadie me dijo qué extensiones instalar ni qué ajustes cambiar. Aquí tienes lo que uso yo, sin relleno, con lo que hace cada pieza y cómo arreglar lo que suele fallar.

¿Qué es VS Code y por qué no usamos el IDLE de Python?

Python viene con su propio editor, IDLE, pero es básico: colorea el código y poco más. VS Code (Visual Studio Code) es un editor profesional y gratuito de Microsoft que usan desde estudiantes hasta equipos de empresas. Con las extensiones adecuadas te autocompleta, marca errores antes de ejecutar, depura paso a paso, abre notebooks de Jupyter y trabaja con Git. En la carrera lo vas a usar para Python, C y Java, así que aprender a usarlo bien desde el principio es tiempo bien invertido.

IDLEVS Code
AutocompletadoMuy básicoCompleto (Pylance)
Errores antes de ejecutarNoSí, subrayados
DepuradorSencilloPuntos de ruptura, variables, pila
Notebooks .ipynbNoSí (extensión Jupyter)
Otros lenguajes (C, Java)NoSí

VS Code y Visual Studio son dos programas distintos. Visual Studio (sin «Code») es un entorno enorme para C# y C++; para la carrera quieres VS Code.

Antes de empezar: qué necesitas

Conviene tener claro:

  • Python instalado y funcionando en la terminal (python --version responde). Si no, sigue antes la guía de cómo instalar Python en Windows.
  • Windows 10 u 11 (VS Code también existe para macOS y Linux; los pasos son casi iguales).
  • Una carpeta para la carrera, por ejemplo C:\Users\TuNombre\GCID\FP1. En el paso 4 verás por qué importa tanto.

Si alguno te suena dudoso, resuélvelo antes de seguir: el 90 % de los problemas con VS Code vienen de un Python mal instalado.

Lo que depende de Windows (instalador, menús, mensajes de la terminal) lo describo como aparece en la documentación oficial de VS Code y en mi equipo; los dos programas de Python del artículo sí están ejecutados y su salida es real.

Paso 1 — Descargar e instalar

Ve a code.visualstudio.com y pulsa el botón de descarga para Windows.

Página de descarga de Visual Studio Code con el botón para descargar la versión de Windows marcado en rojo

Descarga el User Installer (el que sale por defecto): se instala solo para tu usuario y no pide permisos de administrador. La instalación es siguiente, siguiente, siguiente, y aquí no hay trampas como con Python, pero en la pantalla de tareas adicionales te recomiendo marcar:

  1. Agregar la acción «Abrir con Code» al menú contextual de archivos y carpetas: podrás hacer clic derecho en la carpeta de una asignatura y abrirla directamente.
  2. Agregar a PATH (viene marcada): te deja abrir VS Code desde la terminal con code ..

Al abrirlo por primera vez estará en inglés; abajo a la derecha te ofrecerá instalar el paquete de idioma español. Puedes aceptarlo, pero en esta guía uso los nombres en inglés de los comandos porque son los que encontrarás en tutoriales y foros.

Con «Agregar a PATH» marcado, entra en la carpeta de una práctica desde la terminal y escribe code . (con el punto): VS Code se abre con esa carpeta. El punto significa «la carpeta en la que estoy».

Paso 2 — Las extensiones esenciales para configurar VS Code con Python

Esto es lo verdaderamente importante. VS Code sin extensiones es un editor de texto con buen gusto; con ellas, un entorno de programación. Pulsa Ctrl + Mayús + X (o el icono de los cuadraditos de la barra izquierda), busca cada una e instálala:

Vista de extensiones de VS Code con la búsqueda Python y la extensión Python de Microsoft lista para instalar

Python (de Microsoft). Imprescindible. Fíjate en que el autor sea Microsoft: hay muchas con nombres parecidos. Al instalarla se instalan solas otras tres:

  • Pylance: autocompletado, documentación al pasar el ratón y errores marcados mientras escribes (el subrayado que yo ignoré).
  • Python Debugger: depurar paso a paso con puntos de ruptura (lo verás a fondo en depurar en Python).
  • Python Environments: crear y elegir entornos virtuales (.venv). Según su ficha del Marketplace sigue en despliegue, así que puede que a ti aún no te aparezca su panel; todo lo de esta guía funciona igual.
Qué trae la extensión Python de VS Code Al instalar la extensión Python de Microsoft se instalan con ella Pylance, Python Debugger y Python Environments. Jupyter, Rainbow CSV y Black Formatter se instalan aparte. Qué trae la extensión PythonPython(Microsoft)Pylanceautocompletado y erroresmientras escribesPython Debuggerdepurar paso a pasopuntos de ruptura, F5Python Environmentsentornos virtualescrear y elegir .venvSe instalan solas con ella ↑ · Las añades tú ↓Jupyternotebooks .ipynbRainbow CSVcolumnas de coloresBlack Formatterformatear al guardar
Una sola búsqueda («Python») te da tres extensiones; las de abajo son las que eliges tú.

Como ves en el diagrama, con una sola búsqueda («Python») tienes tres herramientas. Las de abajo son las que eliges tú:

  • Jupyter (de Microsoft): abre y ejecuta notebooks .ipynb celda a celda sin salir de VS Code. En estadística y ciencia de datos los usarás constantemente.
  • Rainbow CSV: colorea cada columna de un archivo .csv. Parece una tontería hasta que tienes un CSV de 30 columnas delante.
  • Black Formatter (de Microsoft): ordena tu código al guardar (espacios, saltos de línea, comillas). Es la que hace funcionar el ajuste «Format On Save» del paso 3.
  • indent-rainbow (opcional): colorea los niveles de sangrado. En Python la sangría es parte del código y esta extensión hace muy visible cuándo una línea está un nivel desplazada.

Instalar extensiones de autores desconocidos que prometen «Python todo en uno». Pueden chocar con Pylance (dos autocompletados a la vez) o pedir permisos raros. Con las de Microsoft y las de esta lista tienes de sobra.

Paso 3 — Ajustes clave para configurar VS Code para Python

Abre la configuración con Ctrl + , y busca cada ajuste por su nombre:

  • Auto Save → afterDelay. VS Code guarda solo cada segundo; nunca más ejecutarás una versión vieja por olvidarte de guardar.
  • Font Size → 14, 15 o 16. El valor por defecto es pequeño y al cabo de dos horas tus ojos lo notan.
  • Format On Save → activado. Cada vez que guardas, Black ordena tu código.
  • Default Formatter para Python → Black Formatter. Sin este paso, «Format On Save» no hace nada con los .py, porque VS Code no sabe con qué formatear.

Si te resulta más cómodo, los mismos ajustes se pueden escribir directamente en settings.json (Ctrl + Mayús + P → Preferences: Open User Settings (JSON)):

{
    "files.autoSave": "afterDelay",
    "editor.fontSize": 15,
    "editor.formatOnSave": true,
    "": {
        "editor.defaultFormatter": "ms-python.black-formatter"
    }
}

La sección "" significa «solo para archivos de Python»: así, cuando programes en C o Java, ese formateador no se mete. Ojo con las comas: en JSON van entre elementos, nunca después del último (comprobé este bloque con un lector de JSON para que no tenga ni una de más).

Con afterDelay el archivo se guarda solo, pero «Format On Save» solo actúa cuando guardas tú con Ctrl + S. Acostúmbrate a pulsarlo de vez en cuando y verás cómo el código se recoloca.

Paso 4 — Conectarlo con Python

Aquí está el paso que más gente se salta: abre la carpeta, no el archivo. Ve a File > Open Folder (Archivo > Abrir carpeta) y elige la carpeta de la asignatura, por ejemplo GCID\FP1. Con una carpeta abierta, VS Code tiene un «espacio de trabajo»: recuerda qué Python usar, guarda ajustes propios y detecta los entornos virtuales que haya dentro.

Una carpeta de asignatura abierta en VS Code La carpeta FP1 contiene .venv con su propio Python, .vscode con settings.json y la carpeta del tema con prueba.py. Abriendo la carpeta, VS Code detecta el entorno y guarda los ajustes; con un archivo suelto no. Abre la carpeta, no el archivoFP1/← Archivo > Abrir carpeta.venv/su propio python.exe y pip.vscode/settings.jsonajustes de esta carpetatema_variables/prueba.pyCon la carpeta abiertaVS Code ve el .venv y lopropone como intérprete.Los ajustes se guardan aquí.Con un archivo sueltoNo hay espacio de trabajo:el entorno y los ajustesno se recuerdan.
Una carpeta por asignatura con su .venv: así cada práctica usa el Python que toca.

Crear el entorno virtual (.venv)

Un entorno virtual es una copia ligera de Python solo para esa carpeta, con su propio pip. Así, las librerías de una asignatura no se mezclan con las de otra. Para crearlo:

  1. Ctrl + Mayús + P → Python: Create Environment.
  2. Elige Venv y después el Python que instalaste (por ejemplo 3.15.2).
  3. Espera unos segundos: aparece la carpeta .venv en el explorador.

Al abrir una terminal en VS Code, PowerShell responde que «la ejecución de scripts está deshabilitada en este sistema» y no activa el entorno. Es una protección de Windows. Se arregla solo para tu usuario con Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser en PowerShell, o eligiendo Command Prompt como terminal por defecto (Ctrl + Mayús + P → Terminal: Select Default Profile).

Elegir el intérprete

Crea dentro de la carpeta una subcarpeta para el tema y el archivo prueba.py. Abajo a la derecha, en la barra de estado, verás la versión de Python que usa VS Code. Si no es la tuya (o pone «Select Interpreter»), haz clic ahí o usa Ctrl + Mayús + P → Python: Select Interpreter y elige la del .venv.

Lista para seleccionar el intérprete de Python en VS Code con la versión instalada señalada por una flecha y la barra de estado marcada abajo a la derecha

Ejecutar tu primer programa

Escribe esto en prueba.py:

# prueba.py: el programa con el que compruebas que VS Code usa tu Python
nombre = "Sergio"
asignaturas = ["FP1", "Cálculo", "Álgebra"]          # una lista con tres textos

print(f"Hola, {nombre}. Bienvenido a VS Code.")
print(f"Este cuatrimestre tienes {len(asignaturas)} asignaturas:")
for a in asignaturas:                                # el sangrado (4 espacios) marca qué se repite
    print("  -", a)

Pulsa el botón de ejecutar, el triángulo de arriba a la derecha (Run Python File). Se abre la terminal de abajo y aparece:

Hola, Sergio. Bienvenido a VS Code.
Este cuatrimestre tienes 3 asignaturas:
  - FP1
  - Cálculo
  - Álgebra

Comprobación rápida: la lista tiene tres textos, así que len(asignaturas) vale 3, y el for imprime una línea por asignatura, cada una con dos espacios y un guion delante. Si te sale esto, tienes todo listo.

¿Qué ha pasado exactamente al pulsar el botón de ejecutar? Lo tienes en el dibujo:

Qué pasa al pulsar Run Python File Al pulsar el botón de ejecutar, VS Code toma el archivo del editor, usa el intérprete que aparece en la barra de estado y escribe la orden en el terminal, donde sale la salida del programa. Qué pasa cuando pulsas  1 · Editorprueba.pyel código que ves2 · Intérprete3.15.2 (‘.venv’)el de la barra de estado3 · Terminalpython prueba.pyVS Code lo escribe por tiHola, Sergio. Bienvenido a VS Code.Este cuatrimestre tienes 3 asignaturas: – FP1 – Cálculo – ÁlgebraSi el intérprete del paso 2 no es el tuyo, el paso 3 ejecuta otro Python (y fallan los import).
El botón de ejecutar no es magia: es «python archivo.py» con el intérprete que elegiste abajo a la derecha.

VS Code no ejecuta nada «por arte de magia»: escribe en la terminal la orden python prueba.py usando el intérprete que elegiste en la barra de estado. En Windows verás algo como & C:/Users/TuNombre/GCID/FP1/.venv/Scripts/python.exe c:/Users/TuNombre/GCID/FP1/tema_variables/prueba.py: la ruta completa del python.exe del entorno y la del archivo. Si el intérprete de la barra no es el tuyo, el programa se ejecuta con otro Python y los import de las librerías que instalaste fallan.

Comprueba que Pylance te avisa

Ahora repite mi anécdota a propósito. Crea errata.py con este código:

# errata.py: un nombre mal escrito que Pylance subraya ANTES de ejecutar
nombre = "Sergio"
pirnt(f"Hola, {nombre}")                             # print mal escrito: pirnt

Antes de ejecutar, mira la línea 3: pirnt aparece subrayado y, al pasar el ratón, Pylance dice "pirnt" is not defined. Esa es la señal de que Pylance funciona. Si aun así lo ejecutas con el botón de ejecutar, esto es lo que sale en la terminal:

Traceback (most recent call last):
  File "errata.py", line 3, in <module>
    pirnt(f"Hola, {nombre}")                             # print mal escrito: pirnt
    ^^^^^
NameError: name 'pirnt' is not defined. Did you mean: 'print'?

Lee el traceback de abajo arriba: la última línea dice qué pasó (NameError: ese nombre no existe) y hasta te propone el arreglo (Did you mean: 'print'?); la de arriba dice dónde (line 3) y las flechitas ^^^^^ señalan la palabra exacta. Si no ves el subrayado antes de ejecutar, revisa que la extensión Python esté instalada y que la barra de estado muestre un intérprete.

Ctrl + Mayús + M abre el panel Problems con todos los avisos de Pylance del proyecto. Antes de entregar una práctica, échale un vistazo: si está vacío, mucho mejor.

Notebooks .ipynb en VS Code

En estadística y en las asignaturas de datos trabajarás con notebooks (.ipynb): documentos que mezclan celdas de código, su salida y texto. Con la extensión Jupyter los abres directamente en VS Code:

  1. Ctrl + Mayús + P → Create: New Jupyter Notebook (o abre un .ipynb que te pasen).
  2. Arriba a la derecha pulsa Select Kernel y elige el Python de tu .venv. El «kernel» de un notebook es el Python que ejecuta sus celdas (nada que ver con el kernel de Linux).
  3. La primera vez, VS Code te pedirá instalar el paquete ipykernel en ese entorno: acepta.
  4. Escribe en una celda y pulsa Mayús + Enter para ejecutarla y pasar a la siguiente.

Las variables de un notebook siguen vivas entre celdas mientras el kernel esté encendido. Si algo da resultados raros, Restart (reiniciar el kernel) y ejecuta las celdas en orden de arriba abajo: muchas veces el fallo es haber ejecutado una celda vieja.

Atajos de teclado que te ahorran horas

No hace falta aprenderlos todos el primer día. Con estos nueve (teclado español, Windows) ya trabajas el doble de rápido:

AtajoQué hace
Ctrl + Mayús + PPaleta de comandos: busca cualquier acción por su nombre
Ctrl + PAbrir un archivo de la carpeta escribiendo parte de su nombre
Ctrl + ñMostrar u ocultar la terminal integrada
Ctrl + SGuardar (y formatear, si activaste Format On Save)
Ctrl + }Comentar o descomentar las líneas seleccionadas
Alt + ↑ / Alt + ↓Mover la línea actual arriba o abajo
F2Renombrar una variable en todo el archivo
F5Empezar a depurar
Ctrl + Mayús + MPanel Problems con los avisos de Pylance

En los tutoriales en inglés verás Ctrl + / para comentar y «Ctrl + acento grave» para la terminal. En el teclado español esas teclas están en otro sitio, por eso VS Code los adapta a Ctrl + } y Ctrl + ñ. Si alguno no te funciona, búscalo en File > Preferences > Keyboard Shortcuts.

Comprobación final: ¿está todo listo?

Antes de dar por terminada la configuración, repasa esta lista:

  1. ¿VS Code abre la carpeta de la asignatura (no un archivo suelto)?
  2. ¿Tienes instaladas Python, Pylance, Python Debugger y, si los vas a usar, Jupyter y Black Formatter?
  3. ¿La barra de estado muestra el Python de tu .venv?
  4. ¿El botón de ejecutar lanza prueba.py y sale la salida de arriba?
  5. ¿Pylance subraya pirnt en errata.py antes de ejecutar?
  6. ¿Al pulsar Ctrl + S se reordena el código?

Si has dicho que sí a las seis, tu entorno está como el mío.

Problemas típicos y cómo arreglarlos

No aparece ningún intérprete en la lista. VS Code no encuentra Python. Comprueba en una terminal fuera de VS Code que python --version funciona, cierra VS Code del todo y vuelve a abrirlo.

El botón de ejecutar usa otro Python. Mira la barra de estado: el intérprete elegido es el que manda. Cámbialo con Python: Select Interpreter.

ModuleNotFoundError: No module named 'numpy' aunque lo instalaste. Lo instalaste en otro Python. Abre una terminal dentro de VS Code (Ctrl + ñ), que ya tiene el entorno activado, y ejecuta python -m pip install numpy.

«Format On Save» no hace nada. Falta el formateador por defecto para Python (Black Formatter) o la extensión no está instalada.

Los import salen subrayados en amarillo («could not be resolved»). Mismo origen: Pylance mira el intérprete elegido y en él no está esa librería.

La terminal no reconoce python. Si acabas de instalar Python con VS Code abierto, la terminal integrada conserva el PATH viejo. Cierra VS Code entero y ábrelo otra vez.

SíntomaCausa probable
Sin intérpretes en la listaPython mal instalado o VS Code abierto desde antes
ModuleNotFoundErrorLibrería instalada en otro Python
Format On Save no actúaSin formateador por defecto
pirnt sin subrayarExtensión Python sin instalar o sin intérprete
Scripts deshabilitados en PowerShellPolítica de ejecución de Windows

¿Y ahora qué?

Con Python instalado y VS Code configurado tienes el entorno listo para toda la carrera. Tres ideas para llevarte:

  1. Abre carpetas, no archivos sueltos, y una carpeta por asignatura con su .venv.
  2. El intérprete de la barra de estado manda: es el que usan el botón de ejecutar, Pylance y pip.
  3. Lee los subrayados antes de ejecutar: Pylance te ahorra errores que la terminal solo enseña después.

En el siguiente artículo empezamos con lo interesante: variables y tipos de datos en Python, qué guarda cada variable y por qué Python es tan distinto de otros lenguajes. Y si en algún momento quieres ver tu programa línea a línea, el depurador que acabas de instalar se explica en depurar en Python.

Sigue aprendiendoTodos los artículos de Herramientas

¿Te ha servido este artículo? Así puedes apoyar SergioLearns →

Sigue aprendiendo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *