En GitHub Codespaces + Copilot, el chat de Copilot ofrece tres modos
principales que se adaptan a distintos estilos de trabajo y necesidades
de desarrollo. La siguiente es la explicación de cada uno y cómo se
pueden aprovechar:
🧠 Modo Ask: respuestas rápidas y contextuales
- ¿Qué hace? Te permite hacer preguntas sobre tu
código o sobre programación en general.
- Ideal para: Consultas rápidas como “¿Qué hace esta
función?”, “¿Cómo uso esta librería?”, “¿Cuál es la mejor forma de
ordenar este array?”.
- Cómo funciona: Seleccionas un fragmento de código
(opcional), escribes tu pregunta en el chat, y Copilot responde sin
modificar tu código.
- Ventajas:
- No cambia tu proyecto.
- Usa el contexto del editor para dar respuestas precisas.
- Perfecto para aprender o desbloquearte rápidamente.
✍️ Modo Edit: edición directa del código
- ¿Qué hace? Te permite pedirle a Copilot que
modifique tu código directamente.
- Ideal para: Refactorizar, agregar validaciones,
cambiar nombres de variables, mejorar legibilidad, etc.
- Cómo funciona: Seleccionas el código que quieres
editar, describes el cambio (por ejemplo: “hazlo más eficiente” o
“agrega manejo de errores”), y Copilot lo modifica en el editor.
- Ventajas:
- Ahorra tiempo en tareas repetitivas.
- Mantienes control sobre los cambios.
- Puedes revisar y deshacer fácilmente.
🤖 Modo Agent: colaboración autónoma en tiempo real
- ¿Qué hace? Copilot actúa como un colaborador que
puede leer archivos, editar, ejecutar comandos en terminal, correr
pruebas, y más.
- Ideal para: Tareas más complejas como “agrega
autenticación OAuth”, “crea un endpoint REST”, “escribe pruebas
unitarias”.
- Cómo funciona: Le das una meta en lenguaje natural,
y Copilot planifica, ejecuta, corrige errores y te muestra los
pasos.
- Ventajas:
- Automatiza flujos completos.
- Aprende del contexto del proyecto.
- Puedes intervenir o ajustar en cualquier momento.
🔧 Otras funcionalidades del chat en Codespaces
- Herramientas integradas: En modo Agent puedes
activar/desactivar herramientas como
read_file,
edit_file, run_in_terminal, etc.
- Extensiones MCP: Puedes añadir extensiones para
ampliar las capacidades del agente (por ejemplo, conectarlo con
servidores o APIs).
- Historial contextual: Copilot recuerda el contexto
del archivo abierto y puede usarlo para darte respuestas más
precisas.
- Interacción fluida: Puedes cambiar entre modos
fácilmente desde el menú desplegable en el chat.
3 Ejemplo práctico y Configuración
Perfecto, Justo. Vamos a hacer esto bien práctico y útil para ti como
mentor y optimizador de entornos. Te mostraré:
- ✅ Cómo configurar GitHub Codespaces para trabajar con Python.
- 🧪 Un ejemplo práctico usando los tres modos del chat de Copilot
(Ask, Edit, Agent) en un proyecto Python.
🛠️ Paso 1: Configurar GitHub Codespaces para Python
Requisitos previos
- Tener una cuenta en GitHub.
- Tener acceso a GitHub Codespaces (disponible en repositorios
personales o de organizaciones con Codespaces habilitado).
Pasos para crear un Codespace con Python
Crear un repositorio nuevo o usar uno
existente.
- Ejemplo:
python-codespaces-demo
Agregar un archivo requirements.txt
con tus dependencias:
numpy
pandas
matplotlib
Agregar un archivo
.devcontainer/devcontainer.json para configurar el
entorno:
{
"name": "Python Dev",
"image": "mcr.microsoft.com/devcontainers/python:3.11",
"features": {
"ghcr.io/devcontainers/features/python:1": {
"version": "3.11"
}
},
"postCreateCommand": "pip install -r requirements.txt"
}
Desde GitHub, haz clic en el botón verde
Code → Codespaces →
Create codespace on main.
🧪 Ejemplo práctico con Python: análisis de datos
Supongamos que tienes este código en main.py:
import pandas as pd
data = {
'Nombre': ['Ana', 'Luis', 'Carlos'],
'Edad': [23, 31, 45],
'Ciudad': ['Bogotá', 'Medellín', 'Cali']
}
df = pd.DataFrame(data)
print(df)
🔍 Modo Ask
Pregunta: “¿Cómo puedo agregar una columna con el
año de nacimiento?” Respuesta esperada de Copilot: >
Puedes calcular el año de nacimiento restando la edad al año actual.
Ejemplo:
from datetime import datetime
df['AñoNacimiento'] = datetime.now().year - df['Edad']
✍️ Modo Edit
Instrucción: “Agrega una columna con el año de
nacimiento.” Resultado: Copilot modifica el código
directamente para incluir esa columna.
🤖 Modo Agent
Meta: “Quiero que este script lea datos desde un
archivo CSV, los analice y grafique la edad promedio por ciudad.”
Copilot Agent puede: - Crear el archivo
data.csv. - Modificar main.py para leer el
CSV. - Agregar análisis con groupby. - Generar una gráfica
con matplotlib.
Repositorio Base
La siguiente es la estructura base para un repositorio de análisis de
datos en Python, ideal para usar en GitHub Codespaces con Copilot. Este
entorno está optimizado para enseñanza, exploración y colaboración:
📁 Estructura del repositorio:
python-codespaces-demo
python-codespaces-demo/
├── .devcontainer/
│ └── devcontainer.json
├── data/
│ └── sample.csv
├── main.py
├── requirements.txt
└── README.md
📄 Contenido de los archivos
.devcontainer/devcontainer.json
Configura el entorno de desarrollo en Codespaces:
{
"name": "Python Dev",
"image": "mcr.microsoft.com/devcontainers/python:3.11",
"features": {
"ghcr.io/devcontainers/features/python:1": {
"version": "3.11"
}
},
"postCreateCommand": "pip install -r requirements.txt"
}
requirements.txt
Librerías esenciales para análisis de datos:
pandas
matplotlib
data/sample.csv
Archivo de muestra para análisis:
Nombre,Edad,Ciudad
Ana,23,Bogotá
Luis,31,Medellín
Carlos,45,Cali
main.py
Script base para cargar y visualizar los datos:
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime
# Cargar datos
df = pd.read_csv('data/sample.csv')
# Agregar columna de año de nacimiento
df['AñoNacimiento'] = datetime.now().year - df['Edad']
# Mostrar DataFrame
print(df)
# Gráfico: edad promedio por ciudad
df.groupby('Ciudad')['Edad'].mean().plot(kind='bar', title='Edad Promedio por Ciudad')
plt.ylabel('Edad Promedio')
plt.tight_layout()
plt.show()
README.md
Guía rápida para estudiantes o colaboradores:
# Análisis de Datos con Python en Codespaces
Este repositorio es una plantilla para comenzar a trabajar con análisis de datos en GitHub Codespaces usando Copilot.
## 🚀 Cómo empezar
1. Haz clic en **Code > Codespaces > Create codespace on main**.
2. Espera a que se configure el entorno.
3. Ejecuta `main.py` para ver el análisis.
## 🧪 ¿Qué puedes probar?
- Usar **Copilot Chat** en modo **Ask** para entender el código.
- Usar **Edit** para modificar funciones.
- Usar **Agent** para automatizar tareas como agregar nuevas visualizaciones.
## 📂 Estructura
- `data/sample.csv`: Datos de entrada.
- `main.py`: Script principal.
- `.devcontainer/`: Configuración del entorno.