Examen de las características de asistencia de IA de GitHub Copilot

Completado

GitHub Copilot Chat se integra con la interfaz de usuario de Visual Studio Code para proporcionar asistencia donde lo necesite.

Estas son algunas maneras de acceder a las características de Chat de GitHub Copilot en Visual Studio Code:

  • Abra la Cista de chat para un asistente de IA que puede ayudarle en cualquier momento.
  • Inicie una conversación de chat insertado directamente desde el editor para obtener ayuda mientras está codificando.
  • Ejecute acciones inteligentes para completar determinadas tareas sin tener que escribir una indicación.
  • Abra la ventana Chat rápido para una conversación rápida e interactiva con la inteligencia artificial.

Casos de uso para el Chat de GitHub Copilot

GitHub Copilot Chat ofrece asistencia para la mayoría de los escenarios de codificación. En las secciones siguientes se describen algunos de estos escenarios.

Explicación y documentación del código

El Chat de Copilot puede ayudar a explicar el código seleccionado mediante la generación de descripciones en lenguaje natural de la funcionalidad y el propósito del código. Esto puede ser útil si desea comprender el comportamiento del código o para las partes interesadas no técnicas que necesitan comprender cómo funciona el código. Por ejemplo, si selecciona una función o un bloque de código en el editor de código, el Chat de Copilot puede generar una descripción en lenguaje natural de lo que hace el código y cómo encaja en el sistema general. Esto puede incluir información como los parámetros de entrada y salida de la función, sus dependencias y su propósito en la aplicación más grande.

Al generar explicaciones y documentación, el Chat de Copilot puede ayudarle a comprender el código seleccionado, lo que conduce a una colaboración mejorada y un desarrollo de software más eficaz.

Respuesta a las preguntas de codificación

Puede pedirle al Chat de Copilot ayuda o aclaración sobre problemas de codificación específicos y recibir respuestas en formato de lenguaje natural o en formato de fragmento de código. Se trata de una herramienta útil para los programadores, ya que proporciona instrucciones y soporte técnico para tareas y desafíos comunes de codificación.

Proponer correcciones de errores

El Chat de Copilot puede proponer una corrección de errores en el código sugiriendo fragmentos de código y soluciones en función del contexto del error o problema. Esto es útil si tiene dificultades para identificar la causa principal de un error o necesita instrucciones sobre la mejor manera de corregirlo. Por ejemplo, si el código genera un mensaje de error o una advertencia, el Chat de Copilot puede sugerir posibles correcciones en función del mensaje de error, la sintaxis del código y el código circundante.

El Chat de Copilot puede sugerir cambios en variables, estructuras de control o llamadas de función que podrían resolver el problema y generar fragmentos de código que se pueden incorporar en el código base. Sin embargo, es importante tener en cuenta que es posible que las correcciones sugeridas no siempre sean óptimas o completas, por lo que deberás revisar y probar las sugerencias.

Generación de casos de prueba unitaria

El Chat de Copilot puede ayudarle a escribir casos de prueba unitaria mediante la generación de fragmentos de código basados en el código abierto en el editor o el fragmento de código que usted resalte en el editor. Esto le ayuda a escribir casos de prueba sin dedicar tanto tiempo a tareas repetitivas. Por ejemplo, si va a escribir un caso de prueba para una función específica, puede usar el Chat de Copilot para sugerir posibles parámetros de entrada y valores de salida esperados en función de la signatura y el cuerpo de la función. El Chat de Copilot también puede sugerir aserciones que garantizan que la función funciona correctamente, en función del contexto y la semántica del código.

El Chat de Copilot también puede ayudarle a escribir casos de prueba para casos perimetrales y condiciones de límite que podrían ser difíciles de identificar manualmente. Por ejemplo, el Chat de Copilot puede sugerir casos de prueba para el control de errores, valores NULL o tipos de entrada inesperados, lo que le ayuda a garantizar que el código es sólido y resistente. Sin embargo, es importante tener en cuenta que es posible que los casos de prueba generados no cubran todos los escenarios posibles, y que sigan siendo necesarias las pruebas manuales y la revisión de código para garantizar la calidad del código.

Sugerir mejoras en un código base existente

El Chat de Copilot también puede sugerir posibles mejoras en el código seleccionado. Por ejemplo, el Chat de Copilot puede sugerir mejoras en las siguientes categorías:

  • Calidad del código: El Chat de Copilot puede sugerir maneras de mejorar la legibilidad, el mantenimiento y el rendimiento del código. Esto puede incluir sugerencias para la refactorizar, la simplificación del código y la modularidad.
  • Confiabilidad del código: El Chat de Copilot puede sugerir formas de hacer que el código sea más sólido y confiable. Esto puede incluir sugerencias para el control de errores, la validación de entrada y la programación defensiva.
  • Rendimiento del código: El Chat de Copilot puede sugerir maneras de optimizar el rendimiento del código. Esto puede incluir sugerencias para mejoras algorítmicas, optimizaciones de estructura de datos y paralelización.
  • Seguridad del código: El Chat de Copilot puede sugerir formas de proteger el código. Esto puede incluir sugerencias para el saneamiento de entrada, el control de acceso y el cifrado.

Al sugerir mejoras, el Chat de Copilot puede ayudarle a escribir mejor código que sea más legible, confiable, eficaz y seguro.

Cómo funciona

El Chat de GitHub Copilot usa una combinación de procesamiento de lenguaje natural y aprendizaje automático para comprender su pregunta y proporcionarle una respuesta. Este proceso se puede descomponer en los pasos siguientes.

Procesamiento de entradas

El sistema de Chat de Copilot preprocesa la indicación de entrada del usuario y la envía a un modelo de lenguaje grande para obtener una respuesta en función del contexto y la indicación. La entrada del usuario puede adoptar la forma de fragmentos de código o lenguaje sin formato. El sistema solo está pensado para responder a preguntas relacionadas con la codificación.

Análisis del modelo de lenguaje

A continuación, la indicación preprocesada se pasa a través del modelo de lenguaje del Chat de Copilot, que es una red neuronal que se ha entrenado con un gran cuerpo de datos de texto. El modelo de lenguaje analiza la solicitud de entrada.

Generación de respuestas

El modelo de lenguaje genera una respuesta basada en su análisis de la solicitud de entrada y el contexto proporcionado en ella. Esta respuesta puede adoptar la forma de código generado, sugerencias de código o explicaciones del código existente.

Formato de salida

Se le aplica formato a la respuesta generada por el Chat de Copilot y se la presenta al usuario. El Chat de Copilot puede usar el resaltado de sintaxis, la sangría y otras características de formato para agregar claridad a la respuesta generada. Dependiendo del tipo de pregunta del usuario, también se pueden proporcionar vínculos al contexto que el modelo usó al generar una respuesta, como archivos de código fuente o documentación.

El Chat de GitHub Copilot está pensado para proporcionarle la respuesta más relevante a su pregunta. Sin embargo, es posible que no siempre proporcione la respuesta que busca. Los usuarios del Chat de Copilot son responsables de revisar y validar las respuestas generadas por el sistema para asegurarse de que son precisas y adecuadas.

Resumen

GitHub Copilot Chat se integra con la interfaz de usuario de Visual Studio Code para proporcionar asistencia donde lo necesite. Puede usar El chat de Copilot para explicar y documentar el código, responder preguntas de codificación, proponer correcciones de errores, generar casos de prueba unitaria y sugerir mejoras en un código base existente. Copilot Chat usa una combinación de procesamiento de lenguaje natural y aprendizaje automático para comprender su pregunta y proporcionarle una respuesta.