Examen de las características de desarrollo de código de GitHub Copilot

Completado

GitHub Copilot está integrado en Visual Studio Code, lo que ofrece asistencia con tecnología de inteligencia artificial directamente en su entorno de desarrollo. GitHub Copilot aumenta la productividad del desarrollador mediante la generación de sugerencias que amplían o mejoran las aplicaciones. GitHub Copilot proporciona dos maneras principales de generar sugerencias de código:

  • Inline suggestions: GitHub Copilot genera sugerencias de finalización de código con el código que escriba en el editor o en los comentarios del código.
  • Chat interactions: GitHub Copilot genera sugerencias de código basadas en interacciones de chat o acciones inteligentes que actúan en el código seleccionado.

Nota:

En este módulo, usará GitHub Copilot para desarrollar nuevas características y aplicaciones de código. Hay módulos independientes que abarcan el uso de GitHub Copilot para crear pruebas unitarias y usar GitHub Copilot para realizar mejoras en el código existente.

herramientas de GitHub Copilot en Visual Studio Code

Visual Studio Code proporciona fácil acceso a las siguientes características de GitHub Copilot y chat de GitHub Copilot:

  • Finalizaciones de línea de código: Use finalizaciones de línea de código para escribir código de forma más eficaz. Esto incluye sugerencias de texto fantasma junto al cursor y sugerencias de edición posteriores (NES) que predicen dónde estará la próxima edición y cuál debe ser.
  • Chat en línea: Inicie una conversación de chat en línea directamente desde el editor para obtener ayuda mientras está codificando.
  • Vista de chat: Abra un asistente de IA en un lateral que pueda ayudarle en cualquier momento. La vista Chat usa un selector de agentes para seleccionar cómo funciona GitHub Copilot: Ask para obtener ayuda conversacional, Plan para investigar y diseñar un plan de implementación antes de escribir código o Agent para trabajar de forma autónoma en varios archivos.
  • Chat rápido: Haga una pregunta rápida y vuelva a lo que está haciendo. Use el método abreviado de teclado Ctrl+Mayús+Alt+L para abrir Chat rápido o selecciónelo en el menú Chat de la barra de título de Visual Studio Code.
  • Acciones inteligentes: ejecute acciones inteligentes para completar determinadas tareas sin tener que escribir un mensaje.

GitHub Copilot aporta el poder de la inteligencia artificial al entorno de Visual Studio Code.

Generación de código mediante finalizaciones de línea de código con GitHub Copilot

GitHub Copilot genera dos tipos de sugerencias en línea mientras escribes código.

Las sugerencias de texto fantasma aparecen en la posición del cursor mientras escribe. El código que ya está en la aplicación proporciona contexto que GitHub Copilot usa para generar sugerencias precisas. Por ejemplo, supongamos que está trabajando en una clase que procesa los gastos de los clientes. La clase usa una lista que contiene los gastos de todos los clientes. Debe crear un método que devuelva la suma de todos los gastos. Si empieza a escribir la firma del método, GitHub Copilot genera una sugerencia que completa la línea de código.

Captura de pantalla que muestra una finalización de línea de código basada en el código.

Si está satisfecho con la sugerencia, presione la tecla Tab o seleccione Aceptar. Las operaciones de Autocompletar le ahorran tiempo y le ayudan a escribir código con precisión, ya que le proporcionan los nombres de las variables y otros elementos del código.

También puede usar finalizaciones de línea de código para ver diferentes opciones para construir el código. Por ejemplo, si comienza a escribir la instrucción de llamada para un método, GitHub Copilot ofrece sugerencias que implementan las diferentes sobrecargas de método. Puede recorrer las sugerencias y aceptar la opción que coincida con la intención. También puede rechazar todas las sugerencias. Este proceso le ayuda a explorar rápidamente diferentes estilos y técnicas de codificación.

GitHub Copilot también genera sugerencias de finalización de línea de código a partir de comentarios de código. Por ejemplo, si escribe un comentario que describe un método que desea crear, GitHub Copilot genera una sugerencia para la firma y la implementación del método.

Captura de pantalla que muestra una finalización de línea de código basada en un comentario.

Observe que la finalización del código sugerido usa información del código existente y el comentario de código que describe el método.

Los desarrolladores usan finalizaciones de texto fantasma para acelerar el desarrollo de una estructura de código inicial.

Las siguientes sugerencias de edición (NES) van más allá de las sugerencias en línea al predecir no solo lo que viene después, sino dónde debe realizarse la próxima edición, incluso si está en otro lugar del archivo. Al cambiar el nombre de una variable, cambiar un tipo de datos o corregir un error lógico, NES sugiere las modificaciones de seguimiento que deben realizarse para mantener el código coherente. Una flecha de margen en el editor indica que hay una sugerencia disponible. Presione Tab para ir a él y, a continuación, presione Tab de nuevo para aceptarlo. Explorarás las finalizaciones de texto fantasma y las sugerencias de edición siguientes en detalle en la próxima unidad.

Generación de código mediante gitHub Copilot Chat

GitHub Copilot Chat ayuda a crear código mediante interfaces de chat y acciones inteligentes. Por ejemplo, si escribe un mensaje en el que le pide a GitHub Copilot Chat que cree un nuevo método, GitHub Copilot proporciona sugerencias para una o varias firmas de método e implementaciones. Revisar y, a continuación, aceptar o descartar las sugerencias le ayuda a crear una versión inicial del código de forma más rápida y precisa.

Nota:

GitHub Copilot en Visual Studio Code incluye una interfaz de chat que procesa la entrada del usuario. Este entrenamiento usa los términos pregunta e indicación al hacer referencia a la información que usted proporciona durante una sesión de chat.

GitHub Copilot Chat resulta especialmente útil cuando se necesita desarrollar código que implemente recursos desconocidos, como una nueva biblioteca, marco o API. Al enviar un mensaje que describa sus necesidades, GitHub Copilot Chat genera sugerencias que muestran cómo lograr su objetivo. Revisar las sugerencias también puede enseñarle a implementar los nuevos recursos.

Proporcionarle a GitHub Copilot Chat mensajes o preguntas que incluyan un alcance e intención claros mejora las respuestas generadas. Puede formular preguntas que proporcionen contexto y describan sus requisitos en un estilo conversacional. GitHub Copilot Chat usa la información que se proporciona para generar sugerencias de código que satisfagan sus necesidades y que coincidan con el estilo de codificación.

Puede usar participantes de chat, comandos de barra diagonal y variables de chat para aclarar el contexto de las solicitudes.

  • Los participantes del chat, como @terminal, ayudan a GitHub Copilot Chat comprender el contexto de la pregunta.
  • Los comandos de barra diagonal, como /explain o /new, ayudan a GitHub Copilot Chat a comprender la intención o el propósito de tu pregunta.
  • Las variables de chat, como #file o #editor, ayudan a Copilot Chat centrarse en algo específico al considerar el contexto más grande de la pregunta.

El uso de estos descriptores especializados ayuda a GitHub Copilot Chat a generar respuestas más precisas y útiles.

Puede usar los comandos de barra para realizar acciones específicas en Copilot Chat. Por ejemplo, puede aplicar scaffold a una nueva aplicación de consola de C# mediante el siguiente símbolo del sistema:

/new console application in C#

Este comando utiliza un comando de barra (/new) para ayudar a GitHub Copilot Chat a llevar a cabo la tarea deseada.

GitHub Copilot puede crear la estructura para proyectos más complejos. Por ejemplo, el siguiente comando crea un área de trabajo para una aplicación de Node.js que utiliza el framework Express, el motor de plantillas Pug y TypeScript.

/new Node.js Express Pug TypeScript

Generación de código con GitHub Copilot Chat mediante la vista Chat

La vista Chat de Visual Studio Code proporciona acceso a un asistente de IA que le ayuda a desarrollar código. Puede formular preguntas y obtener ayuda del asistente de IA sin salir del entorno de Visual Studio Code. La vista Chat proporciona ayuda al desarrollar código y al explorar enfoques para resolver problemas de codificación difíciles. También puede usar la vista Chat para formular preguntas sobre el código existente, para obtener ayuda con errores o lógica de codificación, y para obtener información sobre el uso de recursos del proyecto. La vista Chat puede ayudarle a aprender nuevas técnicas de codificación, explorar diferentes estilos de codificación y mejorar sus aptitudes de codificación.

La vista Chat se abre en su propio panel a la derecha del editor de código de Visual Studio Code. Para abrir la vista Chat, seleccione Chat en la barra de título de Visual Studio Code o use el método abreviado de teclado Ctrl+Alt+I.

Si necesita más espacio de pantalla en Visual Studio Code, puede abrir la vista Chat en una ventana independiente seleccionando Move Chat into Editor Area o Move Chat into New Window en el menú contextual de la vista Chat.

Captura de pantalla del menú

GitHub Copilot Chat proporciona resultados enriquecidos e interactivos que incluyen los siguientes elementos:

  • Texto simple. Por ejemplo, para proporcionar una respuesta de lenguaje natural a una pregunta.
  • Imágenes. Por ejemplo, para mostrar un diagrama o una captura de pantalla.
  • Botones. Por ejemplo, para desencadenar una acción.
  • Referencias. Por ejemplo, identificadores uniformes de recursos (URI), donde puede encontrar más información.
  • Árboles de archivos. Por ejemplo, para mostrar una vista previa del área de trabajo cuando un participante de chat propone crear una nueva área de trabajo.

El siguiente ejemplo muestra la respuesta para una indicación que se usa para crear una aplicación Express. GitHub Copilot Chat proporciona una explicación de texto sencilla, una vista de árbol que muestra una estructura de área de trabajo sugerida y un botón que se puede usar para crear la nueva área de trabajo.

Captura de pantalla que muestra la vista Chat con el botón

GitHub Copilot mantiene un historial de la conversación. El historial se usa para mejorar las respuestas y las preguntas de seguimiento sugeridas por GitHub Copilot Chat.

Administrar bloques de código en la vista Chat

En función de su pregunta, GitHub Copilot Chat puede devolver código fuente en la respuesta. El código fuente se muestra como un bloque de código y puede administrar el código de varias maneras diferentes.

Si mantiene el puntero del mouse sobre el bloque de código, se muestran las opciones para administrar el bloque de código. Las opciones iniciales son Aplicar en el Editor, Insertar en el cursor (Ctrl+Entrar) y Copiar. En la imagen siguiente se muestra la opción Copiar seleccionada.

Captura de pantalla que muestra un bloque de código en la vista Chat con la opción Copiar seleccionada.

El botón Más acciones (...) muestra las opciones para Insertar en terminal (Ctrl+Alt+Entrar) y Insertar en nuevo archivo.

Si GitHub Copilot Chat detecta que un bloque de código contiene un comando, puede ejecutarlo directamente en el terminal integrado con Insert en Terminal (Ctrl+Alt+Entrar). Esta opción crea o abre el terminal activo e inserta el texto del comando, listo para ejecutarse.

Captura de pantalla que muestra la opción Insertar en terminal en la vista Chat.

Generación de código con GitHub Copilot Chat mediante chat en línea

La interfaz de chat en línea proporciona acceso a características eficaces de inteligencia artificial mientras le mantiene centrado en el código. Cuando esté trabajando en el editor de código, puede abrir el chat en línea presionando Ctrl+I en el teclado.

Puede usar el chat en línea de las maneras siguientes:

  • Para formular preguntas sobre el código existente.
  • Para modificar o reemplazar el código existente.
  • Para generar código nuevo.

Creación de una nueva característica mediante chat en línea

La interfaz de chat en línea se puede usar para desarrollar nuevas funcionalidades de código. Por ejemplo, puede usar el chat insertado para crear un nuevo componente de interfaz de usuario, un nuevo punto de conexión de la API o una nueva canalización de procesamiento de datos.

Para crear una nueva característica de código mediante chat en línea:

  1. Coloque el cursor en el editor donde desea insertar el nuevo código.

  2. Abra el chat en línea presionando Ctrl+I en el teclado.

  3. Escriba un mensaje que describa la característica que desea crear. Por ejemplo:

    Create a method that reads a list of sales records and calculates the total revenue by product category.
    
  4. Revise la sugerencia y ajuste su solicitud si el resultado no coincide con su intención.

  5. Seleccione Aceptar para aplicar la sugerencia.

Creación de expresiones regulares mediante chat en línea

Las expresiones regulares son patrones usados para emparejar combinaciones de caracteres en cadenas. A algunos desarrolladores les resulta difícil escribir expresiones regulares porque pueden ser complejas y difíciles de entender.

La interfaz de chat integrada puede usarse para generar expresiones regulares de forma rápida y precisa. El uso del chat insertado permite, por ejemplo, generar expresiones regulares para validar direcciones de correo electrónico, números de teléfono, códigos postales y otros patrones de datos.

Para crear una expresión regular mediante chat en línea:

  1. Seleccione el código en el editor donde desea agregar la validación.

  2. Abra el chat en línea presionando Ctrl+I en el teclado.

  3. Escriba un mensaje que describa el patrón de datos que necesita validar. Por ejemplo:

    I want to create a regular expression to validate email addresses.
    
  4. Revise la sugerencia y seleccione Aceptar una vez que esté satisfecho.

Resumen

GitHub Copilot ayuda a los desarrolladores a escribir código más rápido y con menos errores. Genera sugerencias de finalización de código en línea utilizando el código que escribe en el editor o sus comentarios de código, y genera sugerencias de código basadas en interacciones de chat o acciones inteligentes que actúan sobre el código seleccionado.