Obtenga mejores respuestas estableciendo el contexto de chat de GitHub Copilot en Visual Studio

Puede usar el chat de GitHub Copilot en Visual Studio para obtener información de codificación y soporte técnico, como sintaxis, conceptos de programación, ayuda de código específica del contexto, casos de prueba, depuración y mucho más, sin salir del IDE. El chat de Copilot está integrado en Visual Studio, lo que significa que puede comprender en qué está trabajando mediante la recopilación de pistas útiles de lo que tiene en el IDE.

Además de la instrucción, Copilot aplica contexto adicional, como el código del archivo actual y el historial de chat, para generar una respuesta. En este artículo, conocerá cómo recibir mejores respuestas al aportar más información al chat de Copilot, como lo siguiente:

  • Use comandos de barra oblicua para especificar rápidamente tareas comunes como /explain para obtener explicaciones de código.
  • Examinar del chat para buscar archivos específicos mediante referencias.
  • Revise el origen usado por Copilot para generar la respuesta.
  • Use diferentes subprocesos para cada uno de los chats de Copilot para que pueda mantener contextos diferentes en cada uno.

Obtenga más información sobre el desarrollo asistido por inteligencia artificial en Visual Studio y sobre cómo usar Copilot Chat en Visual Studio.

Requisitos previos

Para empezar a usar el chat de GitHub Copilot en Visual Studio, necesita lo siguiente:

El soporte para GitHub Copilot Chat será proporcionado por GitHub y se puede contactar en https://support.github.com.

Uso de comandos de barra diagonal en el chat de Copilot para tareas comunes

Los comandos de barra oblicua en el chat de Copilot le ayudan a establecer la intención rápidamente para las tareas comunes de desarrollo. Mediante el uso de comandos de barra oblicua específicos para formar la pregunta, puede obtener mejores respuestas sin tener que escribir preguntas largas.

Puede usar un comando de barra oblicua en una ventana de chat o directamente insertadas en el código que quiere modificar, mediante la asistencia de código insertada. Los comandos que ayudan a modificar o agregar al archivo de código que tiene abierto en el editor funcionarán tanto en el asistente de código insertado como en las ventanas de chat, mientras que los comandos para preguntas de código más generales solo funcionan en el panel de chat.

Comando Uso Ventana de chat Chat insertado
/doc Agregar comentarios para el código especificado o seleccionado.
Ejemplos:
- /doc DeleteBasketAsync method in BasketService.cs
: seleccione el código deseado y escriba /doc
/explain Obtener explicaciones sobre el código.

Ejemplos:
- /explain the AddItemToBasket method in BasketService.cs
: seleccione el código deseado y escriba /explain
/fix Proponer una corrección de los problemas del código seleccionado.
Ejemplos:
- /fix the SetQuantities method in BasketService.cs
: seleccione el código deseado y escriba /fix
/generate Generar código para responder a una pregunta especificada.
Ejemplo: /generate code to add two numbers in Calculator.cs
/help Obtener ayuda sobre el uso de Copilot Chat.
Ejemplo: /help
/optimize Analizar y mejorar el tiempo de ejecución del código seleccionado.
Ejemplos:
- /optimize the AddItemToBasket method in BasketService.cs
: seleccione el código deseado y escriba /optimize
/pruebas Crear pruebas unitarias para el código seleccionado.
Ejemplo: seleccione el código deseado y escriba /tests using XUnit Framework

Captura de pantalla de comandos de barra diagonal en la vista de chat insertada y ventanas de chat.

Referencia: Ámbito de los resultados de Copilot en un archivo determinado o una solución completa

Puede hacer preguntas relacionadas con la codificación en lenguaje natural y GitHub Copilot Chat responderá a estas en el contexto de código base abierto en Visual Studio. Con referencias, puede obtener más información sobre lo que desea que Copilot tenga en cuenta al responder a su pregunta.

Al seleccionar un contexto específico en el código base podrá formar mejores preguntas fácilmente sin tener que escribir o pegar fragmentos largos de información. Especificar el contexto también permite que Copilot le proporcione respuestas más relevantes.

Hacer referencia a un archivo

Para hacer referencia fácilmente a un archivo en GitHub Copilot Chat, basta con agregar el símbolo # al principio del nombre de archivo. Por ejemplo, si tiene un archivo denominado BasketService.cs, haga referencia a él en el chat como #BasketService.cs.

Captura de pantalla de referencias en el chat de Copilot.

Hacer referencia a un método, una clase o una función

Con la versión 17.11 de Visual Studio 2022, ahora puede hacer referencia a un método, una clase o una función específicos en GitHub Copilot Chat.

Para hacer referencia fácilmente a un método, una clase o una función en GitHub Copilot Chat, basta con agregar el símbolo # al principio del nombre del método, la clase o la función. Por ejemplo, si tiene un método denominado BasketAddItem, haga referencia a él en el chat así: #BasketAddItem.

Captura de pantalla de referencias a métodos en GitHub Copilot Chat en Visual Studio.

Hacer referencia a toda la solución

Use @workspace para hacer referencia a la solución activa en el IDE para aportar contexto. Al usar @workspace para el contexto, Copilot Chat hará uso de la información sobre los archivos, proyectos y configuraciones que están abiertos actualmente y con los que se está trabajando en el IDE. Esto permite que Copilot Chat cree la sugerencias y respuestas más relevantes y contextuales.

Captura de pantalla de referencia a contexto de la solución en el chat de Copilot.

Con la versión 17.11 de Visual Studio 2022, los suscriptores de GitHub Copilot Enterprise ahora pueden usar @github en el chat para incluir contexto desde todo el repositorio y buscar en la web (si el administrador ha habilitado la búsqueda). Para obtener más información sobre la colección de aptitudes específicas de GitHub que Copilot puede usar para responder a su pregunta al usar @github, consulte Uso de aptitudes de GitHub para Copilot.

Captura de pantalla del uso de aptitudes de GitHub en el chat de Copilot.

Ejemplos de uso

Estos son algunos ejemplos de uso de referencias para el control de contexto:

Los Contexto usado por Copilot para formular la pregunta
¿Cuál es el propósito de #MyFile.cs: 66-72? Sección exacta del archivo
¿Dónde están las pruebas en #BasketService.cs? BasketService.cs
/explain el método #AddItemToBasket en #BasketService.cs Método AddItemToBasket en BasketService.cs
¿Hay un método de eliminación de la cesta en este @workspace Solución actual abierta en el IDE
Tengo un método de prueba denominado #TestCalculator. ¿Cómo puedo asegurarme de que se ejecuta correctamente?" Método TestCalculator
¿Cuáles son las diferencias entre las clases #BasketService y #OrderService? Clase BasketService y clase OrderService
En mi @workspace, ¿dónde está #AddItemToBasket? Solución actual abierta en el IDE

Revisar los orígenes usados por el chat de Copilot

El chat de Copilot muestra el contexto que usó después de cada resultado, para que pueda indicar lo que se ha tenido en cuenta al responder a su pregunta. Al hacer una pregunta al chat de Copilot y obtener una respuesta en la ventana de chat, aparece una lista desplegable de Referencias debajo de la respuesta. Las entradas de la lista desplegable de Referencias muestran el contexto al que hace referencia el chat de Copilot para generar esa respuesta. Esta información puede ayudarle a modificar su pregunta para obtener respuestas mejores y más relevantes.

Captura de pantalla de lista desplegable Referencias usadas en el chat de Copilot.

Organizar: aislar chats con Copilot en subprocesos

Si usa el chat de Copilot extensamente para formular preguntas a medida que programa, puede organizar las conversaciones de una manera que las mantenga en el tema. El chat de Copilot para Visual Studio ahora proporciona una manera fácil de iniciar nuevas conversaciones (subprocesos) para mantenerse centrado en la tarea y mantener el contexto claro para que las respuestas se basen en el historial pertinente.

Nuevo subproceso de chat

Para iniciar un nuevo subproceso, seleccione Crear nuevo subproceso en la ventana de chat.

Captura de pantalla de icono Crear nuevo subproceso en el chat de Copilot.

Cambiar subproceso de chat

Puede seleccionar entre varios subprocesos en curso para proporcionar el contexto histórico adecuado para su pregunta.

Captura de pantalla del cambio entre subprocesos en curso en el chat de Copilot.

Pasar chat incrustado a ventana del chat

Con la versión 17.11 de Visual Studio 2022, ahora puede conservar el historial del chat incrustado en si lo pasa a la ventana del chat. Seleccione Seguir en la ventana de chat... para conservar el registro y contexto de la conversación y continuar en la ventana de chat.

Captura de pantalla donde se ve cómo se pasa el subproceso en curso en el chat incrustado a la ventana de chat.

procedimientos recomendados

El chat de Copilot usa el historial de chats para formar el contexto sobre su solicitud. Cómo dar a Copilot solo el historial correspondiente:

  • Use subprocesos para iniciar una nueva conversación para una nueva tarea.
  • Elimine las solicitudes que ya no sean de interés o que no le hayan dado los resultados deseados.

No cierre la conversación de chat, siga con las iteraciones y pida a Copilot que mejore la solución sugerida. Copilot cuenta tanto con el contexto del código generado como con el historial de conversaciones actual. A medida que sigue formulando más preguntas, Copilot afinará aún más la respuesta según lo que necesite. Consulte Prompt engineering for Github Copilot (Diseño de instrucciones para Github Copilot) para ver las estrategias sobre el uso de instrucciones efectivas para mejorar los resultados de Copilot.

Pasos siguientes