Depurar la aplicación con GitHub Copilot en Visual Studio

En este artículo, aprenderá a depurar de forma más eficiente utilizando GitHub Copilot. Copilot puede proporcionar correcciones de código junto con análisis en profundidad y explicaciones de cómo funciona el código. Ayuda a proponer correcciones de errores y explica cosas como las excepciones. Copilot comprende las pilas de llamadas, los marcos, los nombres de las variables y los valores. Como resultado, puede interactuar con la IA consciente de la depuración para hacer preguntas detalladas relacionadas con su código y con los problemas de depuración en general.

Además, Copilot proporciona ayuda más precisa para algunos escenarios específicos, entre los que se incluyen los siguientes:

  • Excepciones
  • Información automática sobre el uso de CPU

Para obtener asistencia de la IA mientras depuras en estos escenarios, busca el botón Preguntar a CopilotCaptura de pantalla del botón Preguntar a Copilot.. En estos escenarios, Copilot ya conoce el contexto de sus preguntas. Por ejemplo, conoce la pila de llamadas actual, la línea de código sobre la que está preguntando y el nombre de la excepción (si se ha producido una), por lo que no es necesario proporcionar contexto en el chat.

Para obtener más información sobre las finalizaciones de GitHub Copilot en Visual Studio, consulta Acerca de las finalizaciones de GitHub Copilot en Visual Studio.

Requisitos previos

Para empezar, necesitará lo siguiente:

Obtenga ayuda de la IA para depurar su aplicación

El siguiente ejemplo sencillo muestra cómo obtener asistencia de la IA utilizando la vista de chat en línea.

Nota:

También puede obtener ayuda utilizando la ventana de chat independiente seleccionando Ver > chat de GitHub Copilot. Para obtener más información, consulte ¿Qué es la extensión GitHub Copilot Chat para Visual Studio?

Inicio de una sesión de depuración

  1. En Visual Studio, cree una nueva aplicación de consola C#.

    En la ventana de inicio, elija Crear un proyecto nuevo. Escriba consola en el cuadro de búsqueda, seleccione C# como lenguaje y luego elija Aplicación de consola para .NET. Elija Siguiente. Escriba un nombre de proyecto como, por ejemplo, ConsoleApp_Copilot y seleccione Siguiente.

    Seleccione la plataforma de destino recomendada o .NET 8 y, después, elija Crear.

    Si no ve la plantilla de proyecto Aplicación de consola para .NET, vaya a Herramientas>Obtener herramientas y características y se abrirá el Instalador de Visual Studio. Elija la carga de trabajo Desarrollo de escritorio de .NET y, luego, seleccione Modificar.

    Visual Studio crea el proyecto de consola, que aparece en el panel derecho del Explorador de soluciones.

  2. Reemplace el código de Program.cs por el código siguiente:

    using System;
    using System.Collections.Generic;
    
    public class Example
    {
        public static void Main(string[] args)
        {
            int value = Int32.Parse(args[0]);
            List<String> names = null;
            if (value > 0)
                names = new List<String>();
    
            names.Add("Major Major Major");
        }
    }
    
  3. Haga clic con el botón derecho en la siguiente frase y seleccione Punto de interrupción>Insertar punto de interrupción.

    int value = Int32.Parse(args[0]);
    
  4. Presione F5 o seleccione Iniciar depuración en el menú Depurar.

    La aplicación se detiene en el punto de interrupción. La ventana Automático muestra que la variable args tiene un valor de string[0].

    Captura de pantalla de la ventana Motor.

  5. Haga clic con el botón derecho en el código y elija Preguntar a Copilot para abrir la vista de Chat en línea.

  6. Escriba la siguiente pregunta en la vista de Chat en línea:

    Why does the args variable have a value of string[0]?
    

    Captura de pantalla del chat insertado de Copilot.

    Al pulsar Entrar, Copilot proporciona una respuesta basada en su comprensión del código. (Es posible que obtenga una respuesta diferente a la que se muestra aquí).

    Captura de pantalla de la pregunta respondida por Copilot.

    Si Copilot tiene una solución sugerida para su código, se la mostrará. Si no es así, puede pedir a Copilot una sugerencia de código.

  7. En este ejemplo, desplácese hasta el final de la respuesta de Copilot y seleccione la pregunta de seguimiento al final de la ventana de Chat en línea, "¿Cómo puedo gestionar el caso cuando no se pasan argumentos al programa?".

    Captura de pantalla de la pregunta de seguimiento de Copilot.

    Copilot muestra una sugerencia de corrección de su código.

    Captura de pantalla de la corrección sugerida por Copilot.

    Si desea aplicar la corrección del código, seleccione Aceptar.

  8. Elija Cancelar para que podamos continuar aprendiendo otras características de Copilot en la siguiente sección.

Obtener ayuda de inteligencia artificial para una excepción

En este ejemplo sencillo, se muestra cómo obtener ayuda de inteligencia artificial cuando se produce una excepción y cómo actualizar rápidamente el código en función de las correcciones sugeridas por la inteligencia artificial.

Inicio de una sesión de depuración

  • Mientras está en pausa en el depurador utilizando la misma aplicación de ejemplo, pulse F11 o Depurar>Paso a paso para ejecutar la sentencia actual.

    Se produce una excepción IndexOutOfRangeException y la aplicación se pausa. En ese momento, se muestra más información.

    Para obtener ayuda de inteligencia artificial para la excepción, continúe con la sección siguiente.

Solicitar ayuda de inteligencia artificial

  1. Con la aplicación en pausa en la excepción, seleccione el botón Preguntar a Copilot.

    Captura de pantalla del botón Preguntar a Copilot en una excepción.

    Si aún no está abierto, aparece la ventana Chat de Copilot y proporciona una evaluación del error y por qué se produjo. En este ejemplo, Copilot identifica una corrección de código sugerida, un botón para copiar código y un botón Vista previa para la corrección de código.

    Si tiene alguna pregunta sobre la excepción, escriba la consulta en el cuadro de texto Preguntar a Copilot.

  2. Seleccione el botón Vista previa.

    Captura de pantalla del botón Vista previa en la ventana de chat de Copilot.

    Visual Studio muestra una vista previa del código con la corrección sugerida.

  3. Revise la corrección sugerida y elija Aceptar para aplicar la sugerencia de código.

    Captura de pantalla de la vista previa de código en Visual Studio

  4. Reinicie el depurador.

    Esta vez, no se produce ninguna excepción. ¡Problema resuelto!

Obtener ayuda de inteligencia artificial para obtener información automática

Además de la asistencia de depuración interactiva, Copilot proporciona información detallada en la Información automática de Uso de CPU. Proporciona información y perspectivas relacionadas con un conjunto de perspectivas de rendimiento específicas. Con Copilot, haga preguntas sobre las funciones en las rutas de acceso activas identificadas en el código, lo que puede ayudarle a generar código de forma más eficaz o rentable.

Cuando la herramienta Uso del procesador proporciona información automática en la sección Información principal, seleccione Preguntar a Copilot para aprender de Copilot y empezar a formular preguntas.

Animación de uso de Copilot con uso de CPU.