Cómo usar GitHub Copilot en 2023 | Guía para principiantes + Videos

Tanto si eres un principiante como un profesional, te mostramos cómo utilizar GitHub Copilot, incluyendo comentarios, autocompletados, casos de prueba y la herramienta de chat con tutoriales en video.

En este artículo, cubriremos cómo utilizar GitHub Copilot con la ayuda de tutoriales en video detallados en VSCode.

Tanto si eres principiante como si eres un experto, te mostraremos cómo utilizar GitHub Copilot, incluyendo el uso de comentarios en lenguaje natural para generar código, autocompletado, casos de prueba y la herramienta de chat.

Y para ayudarte a sacar el máximo provecho de este artículo, hemos incluido videos detallados que muestran cómo utilizar GitHub Copilot para cada caso de uso.

Además, si eres nuevo en los asistentes de codificación de IA, comenzaremos con una descripción general de lo que es GitHub Copilot, incluyendo lo que puedes hacer con él, la privacidad de los datos y por qué necesitas utilizarlo.

¿Suena bien? ¡Genial, vamos a sumergirnos!

¿Qué es GitHub Copilot?

Entonces, ¿qué es GitHub Copilot de todos modos?

Si te diriges al sitio web de GitHub, verás que se describe como un programador por parejas de IA construido sobre la base del código abierto OpenAI Codex.

Esa es una respuesta justa. ¡Pero profundicemos un poco más!   

Lanzado en 2021, es el resultado de una colaboración entre GitHub, OpenAI y Microsoft.

Esto lo convirtió en el primer asistente de código de IA de uso general, lo cual probablemente explica por qué es actualmente el asistente de codificación de IA más popular entre los desarrolladores.

En lugar de ser solo una herramienta de autocompletado estándar como la que obtienes con cualquier IDE, Copilot sugiere bloques completos de código en función del contexto.

¿Qué significa eso entonces?

En pocas palabras, puedes escribir un código o un comentario que describa tus objetivos, y Copilot lo analizará para ofrecerte sugerencias de código.

Por lo tanto, ya sea que quieras entender un nuevo operador de Python o necesites ayuda para escribir un algoritmo complicado, Copilot puede ayudarte.

Una de las cosas más interesantes acerca de Copilot es que fue entrenado con repositorios públicos de GitHub.

Según la documentación de Copilot, afirma ser capaz de generar código para cualquier lenguaje que tenga un repositorio público en GitHub.

Según mi experiencia, es más adecuado para lenguajes populares como Python, JavaScript, TypeScript, Ruby, Go, C# y C++.  

Por ejemplo, si estás trabajando en un proyecto de Python, es mucho más probable que obtengas una sugerencia útil que si estuvieras trabajando en algo como Fortran.

Hablando de datos de entrenamiento, si has pasado tiempo explorando repositorios públicos en GitHub, sabrás que varían en calidad y precisión.

Debido a eso, probablemente debas asumir que algunas de las sugerencias de Copilot pueden contener patrones de codificación obsoletos, errores o referencias a API obsoletas.

Las estadísticas de GitHub sugieren que solo se acepta el 26% de las sugerencias de Copilot.

Creo que el mensaje aquí es obvio. ¡Siempre verifica cualquier sugerencia de código antes de aceptarla!

En mi opinión, esto es exactamente por qué estas herramientas no reemplazan a un verdadero desarrollador.  

Pero pueden ayudarte a ser más eficiente.

Debido a su popularidad, Copilot puede integrarse con varios IDE y editores de código.

Hasta hoy, puedes utilizar complementos para Visual Studio Code, Visual Studio, JetBrains IDE (IntelliJ IDEA, PyCharm), Vim, Neovim y Azure Data Studio.

En este artículo utilizaré VSCode, pero es muy fácil configurar cualquiera de estos.

Para completar, hablemos de la nueva característica de Copilot, GitHub Copilot Chat.

Esto ofrece una interacción directa con un LLM en el mismo formato que esperarías con ChatGPT o Google Bard.

Sí, eso significa que obtienes tu propio chatbot para ayudarte cuando estás codificando.

A partir de hoy, esto está en beta y solo es compatible con Visual Studio Code y Visual Studio. Más adelante en el artículo lo revisaremos.

También debo mencionar que la próxima versión, Copilot X, está programada para llevar aún más lejos la herramienta de chat, pero no se sabe cuándo se lanzará.

¿Debo preocuparme por la privacidad de los datos?

Esto es algo que quería descubrir de inmediato al comenzar con Copilot.

Por ejemplo, ¿hay algún riesgo de que mi código privado pueda ser copiado o utilizado en las sugerencias de Copilot para otros programadores?

El resumen aquí es que las indicaciones y sugerencias se retienen para los individuos a menos que desactives la recolección de fragmentos de código en tu configuración.

También puedes evitar que los datos de las indicaciones y sugerencias se asocien con tu identidad de GitHub contactando al Soporte de GitHub.

Lo más importante es que tu código no se compartirá con otros usuarios de Copilot. También me gusta que los datos estén cifrados en tránsito y en reposo.

Dicho esto, si eres consciente de la seguridad extrema, debes saber que el personal de GitHub y Microsoft pueden acceder a tus datos.

También hay variabilidad en la retención de datos para usuarios individuales y de negocios.

Si optas por un plan empresarial, no tienes que preocuparte por esto, ya que Copilot no retiene ninguna indicación o sugerencia.

Si no estás seguro de qué suscripción de GitHub Copilot es adecuada para ti, echa un vistazo a esta rápida comparación.

Copilot para individuos

Copilot para empresas

Precio: $10/mes o $100/año

Precio: $19/usuario/mes

Funciones clave: Telemetría, bloquear sugerencias que coincidan con código público, integración con IDE o editor, sugerencias de funciones multilinea.

Funciones avanzadas: Todas las funciones de la versión individual, además de la gestión de políticas en toda la organización, registros de auditoría y soporte de proxy HTTP con certificados personalizados.

¿Qué puedo hacer con GitHub Copilot?

Ya sea que seas nuevo en el desarrollo o un profesional con años de experiencia, puedes apostar a que las herramientas de IA como Copilot estarán en todas partes en los próximos años.

Dicho esto, si eres completamente nuevo en el mundo de los asistentes de codificación de IA, es posible que te preguntes qué puedes hacer con ellos.

Echemos un vistazo a algunos de los casos de uso principales de GitHub Copilot:

  • Sugerencias de código: Copilot puede utilizar el contexto de tu código existente o los comentarios en lenguaje natural para sugerir nuevos fragmentos de código o bloques.
  • Generar casos de prueba: Copilot puede ayudarte a generar casos de prueba completos para tu base de código existente.
  • Refactorización y optimización de código: Copilot puede optimizar el código para obtener un mejor rendimiento de Big-O o mejorar la estructura y mantenibilidad del código.
  • Revisiones de código y detección de errores: Copilot puede resaltar problemas o errores en tu código. ¡No más búsqueda de esos errores complicados de encontrar en Python!
  • Asistencia de documentación: Copilot puede generar o actualizar documentación.

¿Por qué usar GitHub Copilot?

Tal vez hayas leído las secciones anteriores, pero aún estás indeciso sobre por qué deberías usar Copilot.

Entiendo. Después de todo, ¿no existe el riesgo de que la IA reemplace a los desarrolladores?

Creo que esta es una preocupación común, pero en mi opinión, estas herramientas están lejos de poder hacer el trabajo de un verdadero desarrollador.

Por ahora, me gusta pensar en herramientas como Copilot o Amazon CodeWhisperer como pasantes impulsados por IA que pueden ayudarme a hacer las cosas un poco más rápido.

Esto también significa que todavía necesito conocimientos y experiencia en programación para saber si las sugerencias de Copilot son buenas o no.

Considera este escenario. No dependerías de un pasante para manejar un proyecto crítico sin supervisión, por lo que debes tratar a Copilot de la misma manera.

Esto también subraya un punto importante, que es que Copilot no está diseñado para reemplazar el aprendizaje.

Creo que este es el aspecto más complicado de introducir estas herramientas de IA en tu flujo de trabajo, ya que la tentación de depender de la IA para hacer tu trabajo puede ser enorme.

Pero si puedes encontrar un equilibrio natural, Copilot puede ayudarte a ser un desarrollador más eficiente, ya seas estudiante, principiante o desarrollador profesional.

Por ejemplo, si eres estudiante, Copilot puede ayudarte con:

  • Aprendizaje acelerado a través de comentarios y sugerencias instantáneas.
  • Ayuda con tareas y proyectos cuando te atasques con asignaciones desafiantes.
  • Aclaración de conceptos sobre cómo funciona el código.

De manera similar, los nuevos desarrolladores que acaban de terminar un curso de Python pueden obtener ayuda con:

  • Calidad de código a través de código más limpio, eficiente y mantenible.
  • Aumento de productividad con ayuda más rápida en comparación con Google o Stack Overflow.

Y por último, los desarrolladores profesionales pueden obtener beneficios como:

  • Rapidez y eficiencia a través de sugerencias en tiempo real para ayudarte a codificar más rápido.
  • Revisiones de código para resaltar rápidamente problemas y errores potenciales.
  • Reducción de tareas repetitivas al solicitar a la IA que se encargue de ellas.

Cómo usar GitHub Copilot

Cuando se trata de herramientas de IA como GitHub Copilot, una de las mejores formas de entender cómo funcionan es ponerlas en marcha y aprender haciendo.

Esto puede ser una forma rápida y divertida de probarlo, pero puede que no sea la más productiva.

Así que, en lugar de probar cosas al azar, sigamos un enfoque estructurado y descubramos cómo usar GitHub Copilot de las siguientes maneras:

  • Usando comentarios en lenguaje natural para describir nuestros objetivos de programación
  • Confíar en las autocompletaciones de Copilot desde el código existente
  • Usar Copilot para generar casos de prueba para nuestro código existente
  • Usar la función de Chat beta para solicitar ayuda, buscar consejos y generar código

Creo que estos son algunos de los aspectos más comunes de usar Copilot que cualquier principiante debería dominar.

¡Así que, sin más preámbulos, pongámonos a codificar!

Nota importante: Asegúrate de tener una cuenta de GitHub y una suscripción activa de Copilot, luego instala la extensión de GitHub Copilot en tu IDE o editor de código y activa GitHub Copilot.

Usando comentarios para generar código

Una de las características más geniales de Copilot es la capacidad de generar líneas de código a partir de un comentario en lenguaje natural en el lenguaje de programación que elijas.

Esto está estrechamente relacionado con ingeniería basada en indicaciones, que se ha vuelto popular gracias a herramientas de IA como ChatGPT.

Pero, ¿qué significa esto?

Piénsalo de esta manera: si tengo una idea de lo que quiero hacer, puedo escribirlo en inglés simple como un comentario de código estándar.

Luego, Copilot puede leer esto, interpretar la información y usarla para generar sugerencias de código para mí. Luego puedo presionar la tecla de tabulación para aceptar, o puedo ignorarlo.

Por supuesto, cuanto más detallado pueda ser, mejores serán los resultados.

Naturalmente, es posible que no esté 100% satisfecho con la primera sugerencia de Copilot, pero está bien, ya que puedo modificar mi comentario o proporcionar detalles adicionales.

Copilot se adaptará a esto y ajustará sus sugerencias de código.

Creo que el mayor beneficio de este enfoque es que ahora puedo usar comentarios para acelerar la generación de código.

En muchas ocasiones, esto solo servirá para comenzar un proyecto o una nueva idea, y luego podré desarrollarlo con más detalle por mi cuenta.

Nuevamente, piensa en Copilot como tu propio becario de IA que está ansioso por ayudar pero quizás no tiene suficiente experiencia para hacer el trabajo pesado.

Ahora, como siempre, es súper importante recordar que aunque Copilot quiere ayudar, es esencial abordar cualquier sugerencia con una mentalidad crítica.

Siempre revisa y prueba el código sugerido para precisión, eficiencia y seguridad.

Y definitivamente no confíes únicamente en el código generado automáticamente sin entender cómo funciona, ya que esto puede causar problemas a largo plazo.

Piensa en esto: ¿cómo puedes depurar algo si no sabes cómo funciona?

Ahora, si estás listo, echa un vistazo al video a continuación para ver cómo puedes usar comentarios para generar código en Copilot.

Utilizaré Python y le pediré a Copilot que me ayude a generar diferentes versiones de una función para devolver la secuencia de Fibonacci, junto con una clase orientada a objetos.

Usando las autocompletaciones de Copilot

Quizás la característica estrella de GitHub Copilot sean sus autocompletaciones generadas por IA.

Esto es muy diferente al autocompletado que has experimentado en tu IDE, ya que es el resultado del análisis de una gran cantidad de patrones de codificación para ofrecer sugerencias en tiempo real.

Si nunca has usado Copilot antes, probablemente te sorprenderás de cómo funciona esto.

Simplemente comienza a escribir código y Copilot te ofrecerá una sugerencia en línea de lo que debería venir a continuación.

Ya sea que estés escribiendo un bucle simple, una comprensión de lista, una función, una clase o cualquier otra cosa que puedas imaginar, Copilot sugiere código.

Y sinceramente, a veces parece magia o como si leyera tu mente.

Por supuesto, la efectividad de estas autocompletaciones depende por completo de tu estilo de codificación.

Por ejemplo, si escribes un código fácil de seguir con convenciones de nombramiento sólidas, Copilot brillará.

Por ejemplo, si estás escribiendo una función para filtrar una lista, Copilot podría sugerir toda la lógica de la función después de que hayas escrito solo los primeros caracteres.

Además, cuanto más uses Copilot en tu proceso de codificación, mejor se volverá para sugerir autocompletaciones que se ajusten a tu estilo de codificación y necesidades de proyecto.

Por otro lado, si estás escribiendo rápidamente con nombres de variables de una sola letra y nombres de función sin sentido, Copilot tendrá dificultades para entender tus objetivos.

En este último caso, creo que es mejor evitar usar Copilot, ya que puede ser más un obstáculo que una ayuda.

Pero por supuesto, ¡tu opinión puede diferir de la mía!

La idea principal es que Copilot puede evaluar el contexto de tu base de código para sugerir código.

¡Y estas sugerencias pueden ser bastante impresionantes!

Dicho esto, si las sugerencias no se ajustan a tus objetivos, simplemente recházalas y continúa. O, si quieres que Copilot te ayude, intenta usar un comentario (como explicamos anteriormente) para dar más contexto.

Recuerda, tu becario impulsado por IA está haciendo todo lo posible para ayudarte, pero siempre seguirá tus indicaciones sobre cómo brindar esa ayuda.

Entonces, si no estás obteniendo buenas sugerencias, tal vez considera si tu código es claro o si tus convenciones de nombramiento podrían mejorarse.

De igual manera, si estás utilizando un lenguaje menos común, también encontrarás que Copilot puede tener dificultades para ofrecer tanta ayuda como lo haría con algo como Python.

Y por último, como siempre, revisa y prueba cualquier código sugerido para garantizar su precisión.

¡Al igual que mencionamos al utilizar comentarios, no confíes en el código generado automáticamente sin entender cómo funciona!

Ahora, sumerjámonos en un video para ver cómo puedes aprovechar las autocompletaciones de Copilot.

Nuevamente, utilizaré Python, pero esta vez trabajaré con Copilot para crear funciones que encripten y desencripten texto, junto con otra función para verificar si una cadena es un palíndromo.

Usando Copilot para generar pruebas

Cuando se trata de desarrollo de software, las pruebas son uno de los aspectos más importantes del ciclo de desarrollo.

Después de todo, ¡necesitamos que nuestro código funcione como se pretende!

Aquí es donde entran en juego las pruebas, y Copilot puede ayudarnos una vez más.

Al aprovechar las habilidades que ya hemos cubierto con comentarios y autocompletados, podemos pedirle a Copilot que genere casos de prueba para nuestro código.

Como la mayoría de las cosas que se pueden hacer con Copilot, hay varias formas de abordar esto.

Para empezar, podemos proporcionar información contextual en comentarios.

Copilot puede utilizar esto para analizar la lógica y el propósito de nuestras funciones o métodos antes de generar casos de prueba relevantes.

También puedes pedirle a Copilot que trabaje con frameworks de pruebas, como Pytest para Python, Jest para JavaScript o JUnit para Java.

Dependiendo de cuánto quieras profundizar, puedes interactuar con Copilot para pedir ayuda en la detección de casos extremos, refactorizar funciones de prueba existentes o aumentar la cobertura de código.

Si estás listo para empezar, veamos un video para aprender cómo puedes usar Copilot para ayudar en las pruebas.

En este ejemplo, utilizaré Python y pediré ayuda para crear funciones de prueba para todo el código que hemos generado hasta ahora en las secciones anteriores.

Usando el Chat de Copilot para Ayuda y Consejos

Una de las características más nuevas de Copilot es la herramienta de chat integrada. Actualmente está en beta y solo está disponible en VSCode o Visual Studio.

Esta es una función súper útil, ya que ofrece interacción directa con un LLM en el mismo formato que probablemente estás acostumbrado/a con ChatGPT.

Dado su asociación con OpenAI, me intriga ver si hay planes de integrar tu Propio GPT en el futuro, ya que esto podría ser una forma genial de personalizar tu experiencia de chat con Copilot.

Así que, con la función de chat, en lugar de abandonar tu IDE y dirigirte a la interfaz de ChatGPT, puedes interactuar con un modelo de lenguaje grande dentro de tu IDE favorito de Python!

Este es quizás mi aspecto favorito, ya que te ayuda a mantener el flujo de codificación.

Puedes optar por usar la ventana de chat dedicada o utilizar un atajo de teclado para mostrar una caja de chat emergente dentro de tu ventana de codificación.

Las posibilidades con esta función son casi ilimitadas.

Por ejemplo, en lugar de hojear documentación tradicional o foros, puedes hacer preguntas y recibir respuestas instantáneas y contextualmente conscientes.

Esto también hace que la herramienta de chat sea ideal para aprender sobre un concepto de programación o algoritmo.

Solo haz una pregunta, y el chat de Copilot puede proporcionar explicaciones y ejemplos de código para mejorar la comprensión.

También me gusta que el chat sugiere otras preguntas que puedes querer hacer para ampliar tu comprensión del tema actual.

Un buen ejemplo es cuando preguntas sobre un algoritmo. Muy a menudo, el chat de Copilot sugerirá aprender sobre la complejidad temporal.

Esto es genial si eres nuevo/a en la programación, ya que te puede ayudar a expandir naturalmente tus conocimientos.

Diría que las líneas se difuminan un poco cuando se trata de compartir fragmentos de código con la herramienta de chat para obtener ayuda.

Técnicamente, puedes hacer lo mismo utilizando comentarios en lenguaje natural en tu ventana de codificación.

Pero si prefieres el enfoque interactivo y de conversación de algo como ChatGPT, la herramienta de chat ofrece esto.

Así que siéntete libre de conversar con Copilot sobre tu código, ya sea para obtener ideas, optimizaciones o correcciones.

Veamos un video para aprender cómo puedes usar la herramienta de chat de Copilot. Ten en cuenta que estaré usando VSCode para garantizar la compatibilidad con la versión beta del chat.

Consejos y Consejos sobre Cómo Usar GitHub Copilot

Si has llegado hasta aquí, deberías tener un sólido entendimiento de cómo usar Copilot.

Pero tal vez quieras algunos consejos y consejos sobre cómo usar GitHub Copilot.

¡No hay problema, aquí lo tienes! Aquí están mis mejores consejos para aprovechar al máximo Copilot:

  • Tener Intenciones Claras: Utiliza comentarios descriptivos, claros y concisos para transmitir tus intenciones y ayudar a Copilot a traducir los comentarios en sugerencias útiles de código.
  • Ser Interactivo: Si una sugerencia de código inicial no encaja, modifica tu entrada o proporciona más contexto para ayudar a Copilot a adaptar sus sugerencias con el tiempo.
  • No Depender de las Autocompletaciones: ¡Revisa siempre las autocompletaciones! ¡Por favor! Debes asegurarte de que se ajusten a tus requisitos mientras mantienes la calidad de tu código.
  • Usar el Chat para Obtener Ideas Más Profundas: Si te enfrentas a un desafío o no estás seguro de cómo implementar una funcionalidad, utiliza el Chat de Copilot para obtener ayuda.
  • Probar el Código Generado: Siempre prueba el código que Copilot sugiere, especialmente si es una parte crítica de tu aplicación.
  • Diversificar las Fuentes de Aprendizaje: Copilot es excelente para soluciones rápidas y generación de código, pero también necesitas diversificar tu aprendizaje utilizando recursos como la documentación, tutoriales y foros.
  • Entender las Implicaciones de la Licencia: Recuerda que el código generado por Copilot podría basarse en repositorios públicos. Si tu proyecto tiene requisitos de licencia, revisa el código generado para evitar conflictos de licencia.
  • Proporcionar Retroalimentación: Copilot no solo aprende y mejora a partir del código, sino que también utiliza los comentarios de los usuarios. Si encuentras inexactitudes o tienes sugerencias de mejora, compártelas. Esto también puede ayudar a mejorar la herramienta para la comunidad.

Conclusión

¡Ahora hemos explorado cómo usar GitHub Copilot!

Ya seas un principiante o un profesional experimentado, hemos cubierto cómo usar comentarios en lenguaje natural, autocompletados, generar casos de prueba y usar la herramienta de chat de GitHub Copilot.

También hemos incluido una serie de videos detallados utilizando Python y VScode para mostrarte cómo usar GitHub Copilot en cada uno de estos casos de uso.

Si eras completamente nuevo en el mundo de los asistentes de codificación de IA, incluso hicimos un breve resumen de GitHub Copilot, incluyendo qué puedes hacer con él, la privacidad de los datos y por qué necesitas usarlo.

En el lenguaje de programación que elijas, esperamos que hayas encontrado útil este artículo y que ahora te sientas listo para integrar GitHub Copilot en tu flujo de trabajo.

¡Feliz codificación!

¿Eres nuevo en el desarrollo y estás listo para usar un asistente de codificación de IA como tu tutor personal? Echa un vistazo a:

Preguntas Frecuentes

1. ¿Qué es GitHub Copilot y cómo se usa?

GitHub Copilot es un asistente de codificación de IA que puede generar código basado en el contexto de tu código existente o un comentario detallado en lenguaje natural. Lo utilizas dentro de tu IDE o editor de código preferido instalando el complemento o la extensión requeridos.

2. ¿Cómo le pido a GitHub Copilot que escriba código?

Copilot automáticamente proporcionará sugerencias de código como autocompletados para que coincidan con el contexto de tu código existente, o puedes producir un comentario en lenguaje natural para pedirle que escriba código. También puedes utilizar la herramienta de chat beta para generar e insertar código en tu código existente.

Las personas también están leyendo:


Leave a Reply

Your email address will not be published. Required fields are marked *