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, como los siguientes:
- Excepciones
- Variables
- Paradas
- Acciones rápidas (bombilla)
Para obtener asistencia de la IA mientras depura en estos escenarios, busque el 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. Copilot también proporciona sugerencias para el uso de puntos de interrupción condicionales y puntos de seguimiento.
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:
Visual Studio 2022 versión 17.8 o posterior
Suscripción activa a GitHub Copilot para particulares o a GitHub Copilot for Business
GitHub Copilot en Visual Studio
-
Nota:
Si experimenta problemas de autenticación después de instalar la extensión, consulte Solución de problemas de autenticación con GitHub Copilot Chat.
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
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.
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"); } }
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]);
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]
.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.
Sugerencia
Como alternativa, puede hacer clic con el botón derecho en una variable en la ventana Automático o Variables locales, o bien en una sugerencia de datos, y seleccionar Preguntar a Copilot. Esto proporciona a Copilot el nombre y el contexto de la variable, por lo que no es necesario que proporcione contexto en el chat.
Escriba la siguiente pregunta en la vista de Chat en línea:
Why does the args variable have a value of string[0]?
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í).
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.
Sugerencia
En el chat insertado, usa el símbolo «#» y selecciona lo que desees en la lista desplegable para entregar información específica a Copilot e incluir la selección en tu pregunta. Por ejemplo, si seleccionas una parte del código y, a continuación, escribes #, puedes elegir esa selección en la lista desplegable #. También puedes usar el símbolo «#» para hacer referencia a las características del IDE que aparecen en la lista desplegable, como la ventana Locales.
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?".
Copilot muestra una sugerencia de corrección de su código.
Si desea aplicar la corrección del código, seleccione Aceptar.
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
Con la aplicación en pausa en la excepción, seleccione el botón Preguntar a Copilot.
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.
Seleccione el botón Vista previa.
Visual Studio muestra una vista previa del código con la corrección sugerida.
Revise la corrección sugerida y elija Aceptar para aplicar la sugerencia de código.
Reinicie el depurador.
Esta vez, no se produce ninguna excepción. ¡Problema resuelto!
Obtención de asistencia de IA para puntos de interrupción condicionales y puntos de seguimiento
Copilot proporciona sugerencias para puntos de interrupción condicionales y puntos de seguimiento específicos del código.
En este ejemplo, se muestran sugerencias de IA para un punto de interrupción condicional. En el caso de los puntos de seguimiento, la asistencia de IA funciona de la misma manera.
Para quitar el punto de interrupción actual, haz clic en él o haz clic con el botón derecho y elige Eliminar punto de interrupción.
Agregue la línea de código siguiente:
names.Add("Major Major Major");
por este:
// names.Add("Major Major Major"); foreach (var item in args) { names.Add("Name: " + item); }
A la izquierda de la instrucción
names.Add("Name: " + item)
, haz clic con el botón derecho en el margen y elige Insertar punto de interrupción condicional.Selecciona el campo de expresión y Copilot empezará a trabajar en sugerencias.
Cuando aparezcan las sugerencias, elige una como
item == "John"
. Edita la sugerencia para que el nombre seaFred
.Para probar la expresión condicional:
Haz clic derecho en el proyecto ConsoleApp_Copilot en el Explorador de soluciones y elige Propiedades.
Selecciona Depurar>General>Abrir interfaz de usuario de perfiles de inicio de depuración.
En el campo Argumentos de línea de comandos, escribe
5 Fred Joe
, en tres líneas independientes.Reinicie el depurador.
Cuando el depurador se pausa en el punto de interrupción, comprueba el valor de
item
y verifica que el valor actual esFred
.
Obtención de ayuda de IA en el visualizador tabular IEnumerable
Para obtener ayuda de IA para el visualizador tabular IEnumerable, consulte Modificación de la expresión del visualizador.
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.
El botón Preguntar a Copilot aparece incluso si no se identifica ninguna información de rendimiento específica. Seleccione Preguntar a Copilot para obtener información de Copilot y empezar a formular preguntas.