Guiar a Copilot con contexto

Desarrollo de software con GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

La importancia del contexto

Desarrollo de software con GitHub Copilot

La importancia del contexto

Desarrollo de software con GitHub Copilot
Desarrollo de software con GitHub Copilot

La variable #codebase

$$

#codebase: Realiza búsqueda semántica en todo el proyecto

Ejemplo de prompt:

¿Cómo se gestiona la autenticación de usuarios? #codebase

Resultado:

  • 🔍 Escanea toda la codebase
  • 💻 Incluye lógica, llamadas a funciones o configuración relevante en su respuesta
Desarrollo de software con GitHub Copilot

Cómo Copilot entiende tu codebase

Tipos de índice:

  • Índice local: Almacenado en tu máquina
  • Índice remoto: Para repos alojados en GitHub
Desarrollo de software con GitHub Copilot

Comprobar el tipo de índice

Desarrollo de software con GitHub Copilot

Comprobar el tipo de índice

Desarrollo de software con GitHub Copilot

La variable #changes

$$

#changes: Hace referencia a los cambios más recientes en control de versiones

Ejemplo de prompt:

¿Romperá alguno de estos cambios el flujo de login? #changes

Úsalo cuando:

  • 💾 Evalúas modificaciones de código
Desarrollo de software con GitHub Copilot

La variable #selection

$$

#selection: Hace referencia a bloques de código resaltados

Ejemplo de prompt:

¿Puedes refactorizar esto? #selection

Úsalo cuando:

  • 🔧 Haces ediciones rápidas
  • 📝 Creas prompts específicos
Desarrollo de software con GitHub Copilot

La variable #fetch

  • Documentación 📚, referencia de API 💻, entrada de blog 📰

$$

#fetch: Obtiene el contenido de una página web

Ejemplo de prompt:

Resúmeme esta documentación #fetch https://example.com/docs

Resultado:

  • 🌐 Recupera una página y la usa como contexto
Desarrollo de software con GitHub Copilot

La variable #files

$$

#files: Adjunta archivos concretos a un prompt

Ejemplo de prompt:

¿Puedes revisar este archivo por problemas de manejo de errores? #files:utils/data_loader.py

Resultado:

  • 🔍 Analiza el contenido del archivo referenciado
  • 📄 Lo incluye como parte del contexto del prompt
Desarrollo de software con GitHub Copilot

Otras variables y herramientas del chat

$$

Variable/herramienta Descripción
#search Permite buscar archivos en el espacio de trabajo actual.
#testFailure Obtén información de fallos de tests unitarios. Útil al ejecutar y diagnosticar tests.
#problems Añade problemas del panel Problems como contexto. Útil al corregir o depurar código.
#terminalLastCommand Obtén el último comando del terminal y su salida.
#githubRepo Realiza una búsqueda de código en un repo de GitHub.
1 https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
Desarrollo de software con GitHub Copilot
Desarrollo de software con GitHub Copilot

Crear una interacción de chat progresiva

Prompt único y complejo:

Añade integración con PostgreSQL con autenticación, persistencia, sesiones, manejo de errores y pool de conexiones

Flujo de complejidad progresiva:

  1. ¿Cuál es el mejor enfoque para añadir persistencia en la base de datos? #codebase
  2. Implementa la conexión a la base de datos con el enfoque sugerido
  3. Ayúdame con el diseño del esquema para las clases Task y User
  4. Ahora añade gestión de sesiones y manejo básico de errores
  5. ...
Desarrollo de software con GitHub Copilot

Inicia un chat nuevo para limpiar el contexto

Desarrollo de software con GitHub Copilot

Inicia un chat nuevo para limpiar el contexto

Desarrollo de software con GitHub Copilot

Desarrollo de software con GitHub Copilot

¡Vamos a practicar!

Desarrollo de software con GitHub Copilot

Preparing Video For Download...