Si estás empezando un nuevo proyecto en Python o quieres profesionalizar tu flujo de trabajo como desarrollador, configurar correctamente tu entorno de desarrollo es clave. En esta guía te muestro cómo preparar Visual Studio Code (VS Code) para trabajar eficientemente con Python, incluyendo herramientas de linting, formateo automático, pruebas y control de versiones.
🚀 ¿Por qué Visual Studio Code?
VS Code es ligero, gratuito, altamente configurable y tiene una comunidad enorme. Con unas pocas extensiones y configuraciones, puedes convertirlo en un entorno potente y robusto para desarrollar en Python.
🧱 Paso 1: Instalaciones base
Asegúrate de tener instalados los siguientes componentes:
🧩 Paso 2: Instala las extensiones clave en VS Code
Desde la vista de extensiones (Ctrl+Shift+X
), busca e instala:
- Python – soporte para ejecución, debugging, refactorización.
- Pylance – completado inteligente y análisis de tipo.
- Black Formatter – formateo automático.
- isort – orden automático de imports.
- Flake8 o Pylint – linting de código.
- Jupyter – para trabajar con notebooks.
- GitLens – integración avanzada con Git.
🔁 Paso 3: Crea y activa un entorno virtual
Desde la terminal integrada de VS Code:
python -m venv venv
source venv/bin/activate # Linux/Mac
.\venv\Scripts\activate # Windows
Luego selecciona el intérprete en VS Code:
Ctrl+Shift+P → Python: Select Interpreter → escoge el que esté en ./venv.
⚙️ Paso 4: Configura tu settings.json
Crea la carpeta .vscode/
y dentro, el archivo settings.json
con la siguiente configuración:
{
"python.pythonPath": "venv/bin/python",
"python.formatting.provider": "black",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
"python.linting.flake8Enabled": true,
"python.linting.enabled": true,
"python.linting.mypyEnabled": true,
"python.testing.pytestEnabled": true,
"python.envFile": "${workspaceFolder}/.env"
}
🧹 ¿Qué es el Linting en proyectos Python?
El linting es el proceso de analizar el código fuente para identificar errores de programación, errores de estilo, o construcciones potencialmente problemáticas. Es una herramienta fundamental para mantener un código limpio, legible y profesional.
🔍 Herramientas comunes de linting en Python:
- Flake8: Verifica errores de sintaxis, estilo y complejidad.
- Pylint: Proporciona análisis más profundo, sugerencias de refactorización y puntuación de calidad.
-
mypy: Verifica el tipado estático cuando usas anotaciones (
type hints
).
🧠 ¿Por qué usar linters?
- Detectas errores antes de ejecutar el código.
- Mantienes un estilo consistente en equipos de trabajo.
- Evitas errores sutiles que podrían afectar producción.
- Se integra fácilmente con CI/CD para validaciones automáticas.
⚙️ Integración en VS Code
Una vez instalado flake8
, pylint
o mypy
, y configurado en el archivo settings.json
, VS Code resaltará en tiempo real los errores en tu código.
Ejemplo:
pip install flake8 pylint mypy
Y en .vscode/settings.json
:
{
"python.linting.flake8Enabled": true,
"python.linting.pylintEnabled": false,
"python.linting.mypyEnabled": true,
"python.linting.enabled": true
}
Usa flake8 .
o pylint src/
en la terminal para ejecutarlos manualmente.
🧪 Paso 5: Instala las herramientas en el entorno virtual
pip install black isort flake8 mypy pytest
pip freeze > requirements.txt
📁 Paso 6: Estructura profesional del proyecto
mi_proyecto/
│
├── .vscode/
│ └── settings.json
├── venv/
├── src/
│ └── main.py
├── tests/
│ └── test_main.py
├── requirements.txt
├── .env
└── README.md
🧪 Paso 7: Agrega pruebas con Pytest
Ejemplo de test:
# tests/test_main.py
from src.main import suma
def test_suma():
assert suma(2, 3) == 5
Y ejecuta con:
pytest
🔐 Paso 8: Usa .env
para manejar variables sensibles
Ejemplo de archivo .env
:
API_KEY=mi-clave-secreta
DEBUG=True
VS Code lo detectará automáticamente.
🔧 Paso 9: Automatiza tareas con Makefile (opcional)
format:
black src/
isort src/
lint:
flake8 src/
mypy src/
test:
pytest
Y ejecutas con: make format
, make lint
, etc.
🔁 Paso 10: Usa Git correctamente
git init
echo "venv/" >> .gitignore
echo "__pycache__/" >> .gitignore
Tambien puedes usar herramientas como gitignore.io y seleccionar las plataformas de desarrollo como Windows, Linux o MAC junto con los lenguajes que estas usando
📦 Bonus: CI/CD con GitHub Actions
# .github/workflows/python.yml
name: Python CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.10
- run: pip install -r requirements.txt
- run: flake8 .
- run: pytest
🐞 Bonus: Depuración de aplicaciones Flask en VS Code
Configurar el depurador (debugger) de VS Code para aplicaciones Flask puede ayudarte a identificar errores de forma más rápida y efectiva.
👉 Consulta esta guía completa paso a paso:
Cómo depurar una aplicación Flask en Visual Studio Code
Incluye:
- Configuración del archivo
launch.json
- Uso de breakpoints
- Ejecución en modo debug
Ideal para proyectos que requieren pruebas locales en caliente mientras desarrollas tu backend Flask.
🧠 Conclusión
Con esta configuración tendrás un entorno limpio, potente y listo para producción. Integrar buenas prácticas desde el principio mejora tu productividad, evita errores y hace tu código más mantenible.
¿Tienes algún paso que uses tú y quieras recomendar? ¡Te leo en los comentarios!
Top comments (0)