Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tutorial se muestra cómo usar GitHub Copilot para crear rápidamente una aplicación de consola de C++ en Visual Studio. Creas una versión de consola de Conway's Game of Life, un autómata celular clásico.
Conway's Game of Life fue ideado por el matemático John Conway. Consta de una cuadrícula de celdas que pueden estar vivas o muertas. El juego evoluciona automáticamente en función de reglas simples y genera patrones complejos y en evolución que muestran cómo puede surgir un comportamiento intrincado a partir de reglas matemáticas básicas.
GitHub Copilot es un asistente de codificación con tecnología de inteligencia artificial que le ayuda a escribir código más rápido, reducir los errores y explorar nuevas soluciones. Algunas ventajas de usar Copilot al codificar en C++:
- Genere funciones o clases completas de C++ a medida que escriba.
- Sugerir finalizaciones de código basadas en comentarios o avisos de lenguaje simple.
- Obtenga ayuda con algoritmos complejos, estructuras de datos y uso de bibliotecas estándar.
- Obtenga información sobre las nuevas API y los patrones modernos de C++ a través de ejemplos en contexto.
- Recibir sugerencias contextualmente informadas en función de tus comentarios o tu código.
- Depurar errores en el código.
- Simplifique y refactorice el código existente.
Prerrequisitos
- Visual Studio 2022 o posterior con la carga de trabajo Desarrollo de escritorio con C++ instalada.
- GitHub Copilot. Para obtener más información, consulte Introducción a GitHub Copilot.
Para comprobar que tiene instalada la carga de trabajo de C++:
Abrir el instalador de Visual Studio
Seleccione Modificar junto a la instalación de Visual Studio.
Asegúrese de que el desarrollo de escritorio con C++ está activado:
Si no está instalado, selecciónelo y elija Modificar.
Para obtener más información sobre cómo instalar Copilot, consulte Administración de la instalación y el estado de Copilot de GitHub.
Creación de un proyecto
Visual Studio usa proyectos para organizar el código de una aplicación y soluciones para organizar los proyectos. Un proyecto contiene todas las opciones, configuraciones y reglas que se usan para compilar las aplicaciones. Administra la relación entre todos los archivos del proyecto y los archivos externos. Para crear la aplicación, en primer lugar, cree un nuevo proyecto y una solución.
Abra Visual Studio y seleccione Crear un nuevo proyecto.
Busque "Aplicación de consola" y seleccione la plantilla Aplicación de consola para C++.
El cuadro de diálogo Crear un nuevo proyecto se muestra con la plantilla Aplicación de consola seleccionada. La plantilla dice: Ejecutar código en un terminal windows. Imprime "hola mundo" por defecto. Tiene las etiquetas c++, Windows y Console.
Seleccione Siguiente.
Establezca el nombre del proyecto en Life y elija la ubicación del proyecto.
Selecciona Crear.
Una vez que se abra el proyecto, busque el archivo en el
Life.cppExplorador de soluciones.Abra
Life.cppy elimine el código predeterminado "Hello, World!" para empezar con una pizarra limpia.
Uso de Copilot para crear una aplicación
Pida a Copilot que describa la funcionalidad que desee. En esta sección, aprenderá a pedir a Copilot que genere una implementación del juego de vida de Conway.
Abra la ventana de chat de Copilot seleccionando el icono de Copilot en la barra de herramientas:
En la ventana de chat, escriba la siguiente instrucción:
Create a C++ console application that implements Conway's Game of Life. The program should: - Use a 40x20 grid displayed with asterisks (*) for live cells and spaces for dead cells - Start with a random initial pattern - Display each generation for 500ms before showing the next - Allow the user to press any key to exit the program - Include proper headers and use standard C++ practices - Clear the console between generations to provide an animation effectCopilot genera código de C++ para El Juego de la Vida de Conway.
Copie el código generado y péguelo en el archivo vacío
Life.cpp.Compile el proyecto presionando F6 o seleccionando Compilar > Compilar solución.
Ejecute el programa presionando F5 o Ctrl+F5.
Nota:
El código exacto generado por Copilot puede variar ligeramente de la ejecución y el modelo al modelo, pero la funcionalidad principal debe ser coherente. Si el código generado no se compila inmediatamente, puede pedir a Copilot que corrija los errores de compilación. Copilot funciona con IA, por lo que es posible que se produzcan sorpresas y errores. Para obtener más información, consulte Preguntas más frecuentes sobre Copilot.
Ejemplo de estructura de código generada típica
Es probable que el código generado incluya estos componentes clave:
- Encabezados para la manipulación de la consola, la generación aleatoria de números y el tiempo
- Matriz o vector 2D para representar la cuadrícula del juego
- Funciones para inicializar la cuadrícula, aplicar las reglas de Conway y mostrar el estado actual
- Bucle principal que continúa hasta que se presiona una tecla
Este es un ejemplo del código que Copilot generó mediante la indicación anterior.
// Code generated by GitHub Copilot
#include <iostream>
#include <chrono>
#include <thread>
#include <conio.h> // for _kbhit and _getch
using namespace std;
int step = 0;
const int rows = 20;
const int cols = 40;
void printGrid(int grid[rows][cols])
{
cout << "Step: " << step << endl;
for (int i = 0; i < rows; ++i)
{
for (int j = 0; j < cols; ++j)
{
cout << (grid[i][j] ? '*' : ' ');
}
cout << endl;
}
}
int countNeighbors(int grid[rows][cols], int x, int y)
{
int count = 0;
for (int i = -1; i <= 1; ++i)
{
for (int j = -1; j <= 1; ++j)
{
if (i == 0 && j == 0)
{
continue;
}
int ni = x + i;
int nj = y + j;
if (ni >= 0 && ni < rows && nj >= 0 && nj < cols)
{
count += grid[ni][nj];
}
}
}
return count;
}
void updateGrid(int grid[rows][cols])
{
int newGrid[rows][cols] = { 0 };
for (int i = 0; i < rows; ++i)
{
for (int j = 0; j < cols; ++j)
{
int neighbors = countNeighbors(grid, i, j);
if (grid[i][j] == 1)
{
newGrid[i][j] = (neighbors < 2 || neighbors > 3) ? 0 : 1;
}
else
{
newGrid[i][j] = (neighbors == 3) ? 1 : 0;
}
}
}
// Copy newGrid back to grid
for (int i = 0; i < rows; ++i)
{
for (int j = 0; j < cols; ++j)
{
grid[i][j] = newGrid[i][j];
}
}
}
int main()
{
int grid[rows][cols] = { 0 };
// Initial configuration (a simple glider)
grid[1][2] = 1;
grid[2][3] = 1;
grid[3][1] = 1;
grid[3][2] = 1;
grid[3][3] = 1;
while (true)
{
if (_kbhit()) // Check if a key has been pressed
{
_getch(); // Consume the key
break; // Exit the loop
}
printGrid(grid);
updateGrid(grid);
std::this_thread::sleep_for(std::chrono::milliseconds(100));
cout << "\033[H\033[J"; // Clear the screen
step++;
}
return 0;
}
Al ejecutar la aplicación, debería ver una pantalla animada del Juego de la vida de Conway, con patrones que evolucionan con el tiempo. Para salir del programa, presione una tecla.
En el ejemplo de código anterior, el código genera una advertencia: Return value ignored: '_getch'. Puede pedir a Copilot que lo corrija. Seleccione el editor de código y presione Alt+/ (Windows) para abrir el chat de Copilot y, a continuación, escriba:
Copilot sugiere una corrección para controlar el valor devuelto correctamente. Para aceptar los cambios, seleccione Tabulador:
¡Felicidades! Ha usado correctamente GitHub Copilot para crear una aplicación de consola Game of Life de Conway totalmente funcional en C++. Ha aprendido a:
- Creación de un aviso eficaz para generar código de C++
- Usar la interfaz de chat de Copilot para crear una aplicación completa desde cero
- Corrección de advertencias de compilación con asistencia de IA
Mejora tus habilidades para generar instrucciones
Para obtener mejores resultados con Copilot, consulte estos recursos de sugerencias:
- Documentación de GitHub Copilot : procedimientos recomendados y sugerencias oficiales
- Procedimientos recomendados de GPT de OpenAI : técnicas generales de solicitud de IA
- Guía de solicitud de Copilot : guía específica para la generación de código
Solución de problemas
Falta la plantilla de aplicación de consola
El cuadro de diálogo Nuevo proyecto debe mostrar una plantilla de aplicación de consola que tenga etiquetas de C++, Windows y Consola . Si no lo ve, es posible que se filtre fuera de la lista o que no esté instalado. Primero, compruebe los desplegables de filtros en la parte superior de la lista de plantillas. Establézcalos en C++, Windows y Consola. Debería aparecer la plantilla Aplicación de consola de C++; De lo contrario, la carga de trabajo Desarrollo de escritorio con C++ no está instalada.
Para instalar desarrollo de escritorio con C++, puede ejecutar el instalador directamente desde el cuadro de diálogo Crear un nuevo proyecto . Elija el vínculo Instalar más herramientas y características en la parte inferior del cuadro de diálogo Crear un nuevo proyecto , debajo de la lista de plantillas. Si el cuadro de diálogo Control de cuentas de usuario solicita permisos, elija Sí. En el instalador, asegúrese de que la carga de trabajo Desarrollo de escritorio con C++ está activada. A continuación, elija Modificar para actualizar la instalación de Visual Studio.
Copilot no responde
- Asegúrese de que tiene una suscripción activa de GitHub Copilot.
- Pruebe a cerrar sesión y volver a la cuenta de GitHub en Visual Studio
El código generado no se compila
- Pida a Copilot que corrija errores de compilación específicos pegando el mensaje de error en el chat de Copilot.
- Pruebe a refinar el mensaje para que sea más específico sobre lo que quiere que haga la aplicación.
Pasos siguientes
- GitHub Copilot en Visual Studio
- Documentación de GitHub Copilot : profundización en el desarrollo asistido por IA
- Preguntas impresionantes de ChatGPT : ejemplos de solicitud basados en la comunidad para obtener inspiración