Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tutorial mostra como usar o GitHub Copilot para criar rapidamente um aplicativo de console C++ no Visual Studio. Você cria uma versão do console do Conway's Game of Life, um autômato de celular clássico.
Conway's Game of Life foi criado pelo matemático John Conway. Consiste em uma grade de células que podem estar vivas ou mortas. O jogo evolui automaticamente com base em regras simples e produz padrões complexos e em evolução que demonstram como o comportamento intrincado pode emergir de regras matemáticas básicas.
O GitHub Copilot é um assistente de codificação alimentado por IA que ajuda você a escrever código mais rapidamente, reduzir erros e explorar novas soluções. Alguns benefícios de usar Copilot ao codificar em C++:
- Gere classes ou funções C++ inteiras conforme você digita.
- Sugira completamentos de código baseados em comentários ou prompts em linguagem simples.
- Obtenha ajuda com algoritmos complexos, estruturas de dados e uso padrão da biblioteca.
- Aprenda novas APIs e padrões C++ modernos por meio de exemplos no contexto.
- Receba sugestões sensíveis ao contexto com base em seus comentários ou em seu código.
- Depure erros no seu código.
- Simplifique e refatore o código existente.
Pré-requisitos
- Visual Studio 2022 ou posterior com o workload Desenvolvimento para desktop com C++ instalado.
- GitHub Copilot. Para obter mais informações, consulte Introdução ao GitHub Copilot.
Para verificar se você tem a carga de trabalho do C++ instalada:
Abrir o Instalador do Visual Studio
Selecione Modificar ao lado da instalação do Visual Studio
Verifique se o desenvolvimento para Desktop com C++ está marcado:
Se ele não estiver instalado, selecione-o e escolha Modificar.
Para obter mais informações sobre como instalar o Copilot, consulte Gerenciar a instalação e o estado do GitHub Copilot.
Criar um projeto
O Visual Studio usa projetos para organizar o código de um aplicativo e soluções para organizar seus projetos. Um projeto contém todas as opções, configurações e regras usadas para criar seus aplicativos. Ele gerencia a relação entre todos os arquivos do projeto e todos os arquivos externos. Para criar seu aplicativo, primeiro, crie um novo projeto e uma solução.
Abra o Visual Studio e selecione Criar um novo projeto.
Pesquise por "Aplicativo de Console" e selecione o modelo de Aplicativo de Console para C++.
A caixa de diálogo Criar um novo projeto é mostrada com o modelo de Aplicativo de Console selecionado. O modelo diz: Executar código em um terminal do Windows. Imprime o hello world por padrão. Contém as tags c++, Windows e Console.
Selecione Próximo.
Defina o nome do projeto como Life e escolha o local do projeto.
Selecione Criar.
Depois que o projeto for aberto, localize o
Life.cpparquivo no Gerenciador de Soluções.Abra
Life.cppe exclua o código padrão "Olá, Mundo!" para começar do zero.
Usar o Copilot para criar um aplicativo
Você solicita o Copilot descrevendo a funcionalidade desejada. Nesta seção, você aprenderá a solicitar que o Copilot gere uma implementação do Jogo da Vida de Conway.
Abra a janela de chat do Copilot selecionando o ícone copilot na barra de ferramentas:
Na janela de chat, insira o seguinte prompt:
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 gera código C++ para o Jogo da Vida de Conway.
Copie o código gerado e cole-o no arquivo vazio
Life.cpp.Crie o projeto pressionando F6 ou selecionando Build > Compilar Solução.
Execute o programa pressionando F5 ou Ctrl+F5.
Observação
O código exato gerado pelo Copilot pode variar ligeiramente de execução para execução e modelo para modelo, mas a funcionalidade principal deve ser consistente. Se o código gerado não for compilado imediatamente, você poderá pedir ao Copilot para corrigir erros de compilação. Copilot é alimentado pela IA, portanto, surpresas e erros são possíveis. Para obter mais informações, consulte Perguntas frequentes sobre o Copilot.
Exemplo de estrutura de código gerada típica
O código gerado provavelmente incluirá esses componentes principais:
- Cabeçalhos para manipulação de console, geração de número aleatório e temporização
- Uma matriz 2D ou um vetor para representar o tabuleiro do jogo
- Funções para inicializar a grade, aplicar as regras de Conway e exibir o estado atual
- Um loop principal que continua até que uma tecla seja pressionada
Aqui está um exemplo do código gerado pelo Copilot usando o prompt 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;
}
Ao executar o aplicativo, você deverá ver uma exibição animada do Jogo da Vida de Conway com padrões evoluindo ao longo do tempo. Para sair do programa, pressione uma tecla.
No exemplo de código anterior, o código gera um aviso: Return value ignored: '_getch'. Você pode pedir a Copilot para corrigi-lo. Selecione o editor de código e pressione Alt+/ (Windows) para abrir o chat do Copilot e, em seguida, insira:
Copilot sugere uma correção para manipular o valor retornado corretamente. Para aceitar as alterações, selecione Tab:
Parabéns! Você usou o GitHub Copilot com êxito para criar um aplicativo de console do Game of Life do Conway totalmente funcional no C++. Você aprendeu a:
- Criar um prompt efetivo para gerar código C++
- Usar a interface de chat do Copilot para criar um aplicativo inteiro do zero
- Corrigir avisos de compilação com assistência de IA
Melhore suas habilidades de criação de prompts
Para obter melhores resultados com o Copilot, consulte estes recursos de sugestão.
- Documentação do GitHub Copilot – Melhores práticas e dicas oficiais
- Melhores práticas de GPT da OpenAI – Técnicas gerais de solicitação de IA
- Guia de solicitação do copilot – Diretrizes específicas para a geração de código
Resolução de problemas
Modelo ausente de aplicativo de console
A caixa de diálogo Novo Projeto deve mostrar um modelo de Aplicativo de Console que tenha marcas C++, Windows e Console . Se você não vê-lo, ele pode ser filtrado para fora da lista ou pode não ser instalado. Primeiro, verifique os menus suspensos de filtro na parte superior da lista de modelos. Defina-os como C++, Windows e Console. O modelo do Aplicativo de Console do C++ deverá aparecer; caso contrário, a carga de trabalho de desenvolvimento para área de trabalho com C++ não está instalada.
Para instalar Desenvolvimento desktop com C++, você pode executar o instalador diretamente a partir da caixa de diálogo Criar um novo projeto. Escolha o link Instalar mais ferramentas e recursos na parte inferior da caixa de diálogo Criar um novo projeto , abaixo da lista de modelos. Se a caixa de diálogo Controle de Conta de Usuário solicitar permissões, escolha Sim. No instalador, verifique se a carga de trabalho Desenvolvimento de desktop com C++ está marcada. Em seguida, escolha Modificar para atualizar a instalação do Visual Studio.
Copilot não está respondendo
- Verifique se você tem uma assinatura ativa do GitHub Copilot.
- Tente sair e voltar para sua conta do GitHub no Visual Studio
O código gerado não é compilado
- Peça ao Copilot para corrigir erros de compilação específicos colando a mensagem de erro no chat do Copilot.
- Tente refinar seu prompt para ser mais específico sobre o que você deseja que o aplicativo faça.
Próximas etapas
- GitHub Copilot no Visual Studio
- Documentação do GitHub Copilot – Aprofundar-se no desenvolvimento assistido por IA
- Prompts de ChatGPT incríveis - Exemplos de inspiração orientados pela comunidade