gh copilot tips - IUGO-Studio/tech-ia GitHub Wiki

Github Copilot tips y buenas prácticas

Tips

Ghost text

  • agregar comentarios descriptivos para que Copilot pueda entender mejor lo que se necesita
  • ctrl/cmd + -> para aceptar sugerencia de forma parcial
  • ctrl/cmd + enter para obtener más sugerencias
  • escp en cualquier momento para cancelar la sugerencia

Inline chat

  • ctrl/cmd + i en cualquier archivo, incluso en la terminal, para abrir el chat en línea
  • seleccionar el texto y ctrl/cmd + i para obtener sugerencias para ese fragmento

Panel chat

  • drag and drop the chat icon, para visualizar el chat en una split view, de esa formas se puede ver el explorador de archivos, el código y las sugerencias al mismo tiempo

Quick suggestion menu

  • ctrl/cmd + . para abrir el menú de sugerencias rápidas
  • tenemos la opción de explicar el código seleccionado y de corregir errores en línea

Video GitHub Copilot 101

Buenas prácticas

Principio de las tres "S"

  • Simple
    • cuanto más complejo es lo que le estamos pidiendo a Copilot, más difícil será para él entender lo que queremos y más probabilidad de que nos de una respuesta incorrecta. Cuánto más código genera Copilot de una vez es más probable que tenga alucinaciones, utilizando librerías que no tenemos instaladas o con código que no tiene sentido.
    • Divide el problema en partes más simples y pide a Copilot que te ayude con cada una de ellas.
    • Es una buena práctica utilizar la palabra simple en los comentarios para que Copilot sepa que queremos algo sencillo.
  • Specific
    • cuánto más contexto y detalles le demos a Copilot, más fácil será para él entender lo que queremos y más probable que nos de una respuesta correcta.
    • para ayudar a dar contexto a Copilot tenemos las siguientes opciones:
      • comentarios en el código
      • selección de código
      • especificar tecnologías y versiones
      • archivos abiertos
      • agentes:
        • @workspace: considera el proyecto completo como base para las sugerencias
        • #file: permite especificar un archivo en particular
        • #editor: considera el código visible en el editor
        • #selection: considera el código seleccionado
        • #terminalLastCommand: considera el último comando ejecutado en la terminal
        • #terminalSelection: considera el texto seleccionado en la terminal
  • Short
    • no es necesario hablarle como a un humano
    • no es necesario escribir frases completas
    • escribe menos porque los errores tipográficos no importan

Video Master the core principles of prompt-engineering with GitHub Copilot

Uso eficiente de copilot

  • es un copiloto no un piloto, no le des el control total
  • no le pidas que implemente una solución completa
  • siempre revisa el código generado y si no lo entiendes pídele que lo explique
  • uso adecuado de las herramientas
    • muchas veces el chat en línea es más eficiente que agregar comentarios al código sólo para pedir ayuda a Copilot en situaciones puntuales
    • el chat de la barra lateral es más útil para una conversación o preguntas más complejas
    • usar lo más simple primero
      • ghost text
      • inline chat
      • panel chat
    • no usar comentarios para prompting
    • no vuelvas a crear prompts existentes
      • /fix sugiere fixes para el código seleccionado
      • /explain explica el código seleccionado
      • /test sugiere tests para el código seleccionado
      • /doc agrega documentación al código seleccionado
      • hay varios más y van a seguir agregando más, está bueno tenerlos presente.
    • de nuevo aparece el contexto, es importante!
      • es bueno borrar las preguntas y respuestas que quedaron en el historial del chat y no son relevantes para el contexto actual. Para eso tenemos una X en la parte superior derecha de nuestra pregunta
      • seleccionar el código más relevante al contexto de la pregunta
      • el uso de agentes como @workspace ayuda mucho al contexto de la pregunta
      • dejar abiertos los archivos más relevantes

Video Copilot best practices