Finalización del código con GitHub Copilot
Las características de finalización de código de GitHub Copilot se encuentran directamente dentro del IDE, donde se escribe y revisa el código. GitHub Copilot se integra perfectamente con editores como Visual Studio Code o JetBrains, ofreciendo características como sugerencias automáticas, un panel de sugerencias múltiple y compatibilidad con varios estilos de codificación. Puede interactuar principalmente con GitHub Copilot a través de estas herramientas del IDE y comprender cómo y dónde usarlos le ayuda a optimizar sus eficaces capacidades de generación de código.
En esta unidad, tratamos:
- Lenguajes compatibles con GitHub Copilot
- Sugerencias automáticas
- Panel de sugerencias múltiples
- Compatibilidad con diferentes estilos de codificación en sugerencias
- Cómo GitHub Copilot incorpora comentarios de codificación para sugerencias
Lenguajes compatibles con GitHub Copilot
GitHub Copilot proporciona una sólida compatibilidad con una amplia gama de lenguajes de programación y marcos, con funcionalidades sólidas en:
- Pitón
- JavaScript
- Java
- TypeScript
- Rubí
- Go
- C#
- C++
Aunque estos lenguajes reciben compatibilidad excepcional, GitHub Copilot también puede ayudar con muchos otros lenguajes y marcos.
Sugerencia
GitHub Copilot ofrece un nivel gratuito con 2000 autocompletados de código y 50 mensajes de chat al mes. Para empezar, abra Visual Studio Code, haga clic en el icono de GitHub Copilot y, a continuación, haga clic en "Iniciar sesión para usar GitHub Copilot de forma gratuita". Inicie sesión en la cuenta de GitHub en la ventana que se abrirá en el explorador. Más información. Los educadores, estudiantes y los mantenedores de código abierto seleccionados pueden recibir Copilot Pro de forma gratuita, obtenga información sobre cómo: https://aka.ms/Copilot4Students.
Sugerencias automáticas
Copilot ofrece sugerencias de código a medida que escribe: a veces completando la línea actual, a veces sugiriendo un nuevo bloque de código completo. Puede aceptar toda la sugerencia, parte de ella o ignorarla. Esta capacidad para proporcionar sugerencias en tiempo real y con reconocimiento del contexto ahorra un tiempo de desarrollo valioso al reducir la necesidad de buscar sintaxis, solucionar problemas de lógica o escribir patrones comunes repetidamente.
Panel de sugerencias múltiples
Cuando trabaja en un bloque de código y GitHub Copilot ofrece una sugerencia, verá un fragmento de código atenuado. Para explorar más opciones y acelerar el flujo de trabajo de desarrollo, mantenga el puntero sobre la sugerencia para mostrar el panel de control de GitHub Copilot. Esta característica le permite evaluar rápidamente varios enfoques para el mismo problema, lo que le ayuda a elegir la solución más adecuada para su contexto específico.
Haga clic en los botones de flecha hacia delante o hacia atrás en el panel de control para ver las sugerencias siguientes o anteriores. También puede usar métodos abreviados de teclado para recorrer rápidamente las opciones:
- macOS: Opción (⌥) o Alt+] (siguiente), Opción (⌥) o Alt+[ (anterior)
- Windows o Linux: Alt+] (siguiente), Alt+[ (anterior)
Esta iteración rápida a través de varias sugerencias de código le ayuda a mantener el impulso del desarrollo al permitirle comparar rápidamente los enfoques sin interrumpir el flujo de codificación. En lugar de empezar desde cero o buscar ejemplos en línea, puede evaluar diferentes implementaciones en cuestión de segundos, seleccionando la que mejor se adapte a sus necesidades y estilo de codificación.
Aunque GitHub Copilot es excelente para sugerir código automáticamente, también demuestra su capacidad de adaptarse a través de las siguientes maneras:
- Implementación del método: al empezar a escribir un nombre de método, Copilot puede sugerir toda la implementación, siguiendo el estilo de codificación establecido.
- Convenciones de nomenclatura: recoge las convenciones de nomenclatura preferidas para variables, funciones y clases.
- Formato: Copilot se adapta al estilo de sangría, la colocación de corchetes y otras preferencias de formato.
- Estilo de comentario: puede imitar su estilo de comentario, ya sea que prefiera comentarios en línea, en bloque o cadenas de documentación.
- Patrones de diseño: cuando el proyecto usa de forma coherente ciertos patrones de diseño, Copilot sugiere código que se alinea con estos patrones.
Uso de comentarios de codificación para sugerencias
Un aspecto clave de esta funcionalidad es cómo incorpora comentarios de codificación para mejorar sus sugerencias. En esta sección se exploran las distintas formas en que GitHub Copilot utiliza comentarios para mejorar sus funcionalidades de finalización y generación de código.
Descripción del contexto del comentario
Cuando se integra en el código base existente, GitHub Copilot usa varios aspectos del código para proporcionar sugerencias más relevantes, incluidos los comentarios de código. Los desarrolladores suelen utilizar comentarios para aclarar la intención del código y mejorar la colaboración, y Copilot, como asistente de codificación de IA, hace uso de estos comentarios de forma muy parecida. Al comprender la intención de los comentarios, Copilot puede ofrecer sugerencias de código más precisas y adaptadas al contexto a través de dos procesos clave:
- Procesamiento de lenguaje natural: Copilot usa técnicas avanzadas de procesamiento de lenguaje natural (NLP) para interpretar el significado y la intención detrás de los comentarios en el código.
- Análisis contextual: analiza los comentarios en relación con el código circundante, entendiendo su relevancia y finalidad dentro del contexto más amplio del archivo o proyecto.
Tipos de comentarios utilizados
Copilot puede trabajar con varios tipos de comentarios para fundamentar sus sugerencias:
- Comentarios insertados: explicaciones breves junto a líneas de código específicas.
- Bloquear comentarios: explicaciones más largas que podrían describir una función o una clase.
- Docstrings: cadenas de documentación formales en lenguajes como Python.
- Comentarios de tareas pendientes: notas sobre futuras implementaciones o mejoras.
- Documentación de API: comentarios que describen el uso y los parámetros de funciones o métodos.
Generación de código controlada por comentarios
Copilot usa comentarios de varias maneras para generar y sugerir código:
Implementación de funciones: cuando se describe una función en comentarios, Copilot puede sugerir una implementación completa basada en esa descripción.
Finalización del código: Copilot usa comentarios para proporcionar finalizaciones de código más precisas y comprender la intención del desarrollador.
En este ejemplo, tenemos un comentario que describe una función para invertir una cadena. Basándose en este comentario, es probable que Copilot sugiera una implementación que utilice la notación de slice de Python con un paso de -1, que invierte eficientemente la cadena.
Nomenclatura de variables: los comentarios pueden influir en las sugerencias de Copilot para los nombres de variables, por lo que son más descriptivos y adecuados para el contexto.
Aquí tenemos un comentario que describe una lista de los libros favoritos del usuario. Es probable que Copilot sugiera nombres de variables descriptivos que se ajusten al contexto. En este caso, sugirió "favorite_books" como nombre de variable, que describe claramente el contenido de la lista.
Selección de algoritmos: cuando los comentarios describen un algoritmo o enfoque específicos, Copilot puede sugerir código que se alinee con ese método.
En el ejemplo anterior, se proporcionan comentarios que describen los pasos del algoritmo de ordenación de burbujas. Basándose en estos comentarios, Copilot probablemente sugeriría una implementación que siguiera de cerca los pasos descritos.