Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku pokazano, jak za pomocą narzędzia GitHub Copilot szybko utworzyć aplikację konsolową języka C++ w programie Visual Studio. Tworzysz konsolową wersję Conway's Game of Life, klasycznego automatu komórkowego.
Conway's Game of Life został opracowany przez matematyka Johna Conwaya. Składa się z siatki komórek, które mogą być żywe lub martwe. Gra rozwija się automatycznie na podstawie prostych reguł i tworzy złożone, ewoluujące wzorce, które pokazują, jak skomplikowane zachowanie może wynikać z podstawowych reguł matematycznych.
GitHub Copilot to asystent kodowania opartego na sztucznej inteligencji, który ułatwia szybsze pisanie kodu, zmniejszanie błędów i eksplorowanie nowych rozwiązań. Niektóre korzyści wynikające z używania narzędzia Copilot podczas kodowania w języku C++:
- Wygeneruj całe funkcje lub klasy języka C++ podczas wpisywania.
- Zasugeruj uzupełnianie kodu na podstawie komentarzy lub monitów w języku prostym.
- Uzyskaj pomoc dotyczącą złożonych algorytmów, struktur danych i standardowego użycia bibliotek.
- Poznaj nowe interfejsy API i nowoczesne wzorce języka C++ za pomocą przykładów w kontekście.
- Otrzymuj kontekstowe sugestie na podstawie komentarzy lub kodu.
- Debugowanie błędów w kodzie.
- Uproszczenie i refaktoryzacja istniejącego kodu.
Wymagania wstępne
- Program Visual Studio 2022 lub nowszy z zainstalowanym pakietem roboczym Programowanie aplikacji klasycznych w języku C++ .
- GitHub Copilot. Aby uzyskać więcej informacji, zobacz Get started with GitHub Copilot (Wprowadzenie do usługi GitHub Copilot).
Aby sprawdzić, czy masz zainstalowane obciążenie C++:
Otwórz Instalatora programu Visual Studio
Wybierz pozycję Modyfikuj obok instalacji programu Visual Studio
Upewnij się, że tworzenie aplikacji komputerowych w języku C++ jest zaznaczone:
Jeśli nie jest zainstalowany, wybierz go i wybierz pozycję Modyfikuj.
Aby uzyskać więcej informacji na temat instalowania rozwiązania Copilot, zobacz Manage GitHub Copilot installation and state (Zarządzanie instalacją i stanem narzędzia GitHub Copilot).
Tworzenie projektu
Program Visual Studio używa projektów do organizowania kodu dla aplikacji i rozwiązań w celu organizowania projektów. Projekt zawiera wszystkie opcje, konfiguracje i reguły używane do tworzenia aplikacji. Zarządza relacją między wszystkimi plikami projektu i plikami zewnętrznymi. Aby utworzyć aplikację, najpierw utwórz nowy projekt i rozwiązanie.
Otwórz program Visual Studio i wybierz pozycję Utwórz nowy projekt.
Wyszukaj ciąg "Aplikacja konsolowa" i wybierz szablon Aplikacja konsolowa dla języka C++.
Wyświetlone zostanie okno dialogowe „Tworzenie nowego projektu” z wybranym szablonem „Aplikacja konsolowa”. Szablon mówi: Uruchamianie kodu w terminalu systemu Windows. Domyślnie drukuje "witaj świecie". Zawiera tagi c++, Windows i Console.
Wybierz Dalej.
Ustaw nazwę projektu na Life i wybierz lokalizację projektu.
Wybierz Utwórz.
Po otworzie projektu znajdź
Life.cppplik w Eksploratorze rozwiązań.Otwórz
Life.cppi usuń domyślny kod "Hello, World!", aby rozpocząć z czystą kartą.
Tworzenie aplikacji za pomocą narzędzia Copilot
Monituj copilot, opisując żądane funkcje. W tej sekcji dowiesz się, jak skłonić Copilota do wygenerowania implementacji Gry o życie Conwaya.
Otwórz okno czatu Copilot, wybierając ikonę Copilot na pasku narzędzi:
W oknie czatu wprowadź następujący monit:
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 generuje kod C++ dla Gry w Życie Conwaya.
Skopiuj wygenerowany kod i wklej go do pustego
Life.cpppliku.Zbuduj projekt, naciskając F6 lub wybierając pozycję Buduj > Buduj rozwiązanie.
Uruchom program, naciskając F5 lub Ctrl+F5.
Uwaga / Notatka
Dokładny kod wygenerowany przez Copilot może się nieznacznie różnić od uruchomienia do uruchomienia i od modelu do modelu, ale podstawowe funkcje powinny być spójne. Jeśli wygenerowany kod nie zostanie skompilowany natychmiast, możesz poprosić Copilot o naprawienie błędów kompilacji. Copilot jest obsługiwany przez sztuczną inteligencję, więc możliwe są niespodzianki i błędy. Aby uzyskać więcej informacji, zobacz Copilot FAQs.
Przykład typowej struktury wygenerowanego kodu
Wygenerowany kod będzie prawdopodobnie zawierać następujące kluczowe składniki:
- Nagłówki do manipulowania konsolą, generowania losowych numerów i chronometrażu
- Dwuwymiarowa tablica lub wektor reprezentujący siatkę gry
- Funkcje inicjowania siatki, stosowania reguł conwaya i wyświetlania bieżącego stanu
- Pętla główna, która trwa do momentu naciśnięcia klawisza
Oto przykład kodu wygenerowanego przez copilot przy użyciu poprzedniego monitu:
// 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;
}
Po uruchomieniu aplikacji powinien zostać wyświetlony animowany wyświetlacz Conway's Game of Life z wzorcami zmieniającymi się wraz z upływem czasu. Aby zamknąć program, naciśnij.
W poprzednim przykładzie kodu kod generuje ostrzeżenie: Return value ignored: '_getch'. Możesz poprosić Copilot, aby to naprawił. Wybierz edytor kodu i naciśnij Alt+/ (Windows), aby otworzyć czat Copilot, a następnie wprowadź:
Copilot sugeruje poprawkę dotyczącą prawidłowego obsługi zwracanej wartości. Aby zaakceptować zmiany, wybierz Tab:
Gratulacje! Pomyślnie użyto narzędzia GitHub Copilot do utworzenia w pełni funkcjonalnej aplikacji konsolowej Conway's Game of Life w języku C++. Nauczyłeś się, jak:
- Tworzenie efektywnego monitu o wygenerowanie kodu C++
- Użyj interfejsu czatu Copilota, aby stworzyć całkowitą aplikację od podstaw.
- Naprawianie ostrzeżeń kompilacji za pomocą sztucznej inteligencji
Zwiększanie umiejętności monitowania
Aby uzyskać lepsze wyniki z Copilota, zobacz następujące zasoby dotyczące podpowiedzi:
- Dokumentacja narzędzia GitHub Copilot — oficjalne najlepsze rozwiązania i porady
- Najlepsze praktyki GPT firmy OpenAI — ogólne techniki promptingu AI
- Przewodnik wykorzystania Copilota — praktyczne wskazówki do generowania kodu
Rozwiązywanie problemów
Brak szablonu aplikacji konsolowej
W oknie dialogowym Nowy projekt powinien zostać wyświetlony szablon aplikacja konsolowa z tagami C++, Windows i Console . Jeśli go nie widzisz, może zostać odfiltrowany z listy lub może nie zostać zainstalowany. Najpierw sprawdź listy rozwijane filtrów w górnej części listy szablonów. Ustaw je na C++, Windows i Console. Powinien pojawić się szablon Aplikacja konsolowa C++; w przeciwnym razie obciążenie robocze Programowanie aplikacji z C++ dla Pulpitu nie jest zainstalowane.
Aby zainstalować Desktop development with C++, możesz uruchomić instalator bezpośrednio z poziomu okna dialogowego Tworzenie nowego projektu. Wybierz link Zainstaluj więcej narzędzi i funkcji w dolnej części okna dialogowego Tworzenie nowego projektu pod listą szablonów. Jeśli okno dialogowe Kontrola konta użytkownika żąda uprawnień, wybierz pozycję Tak. Upewnij się, że w instalatorze jest zaznaczone pole Tworzenie aplikacji komputerowych z C++. Następnie wybierz pozycję Modyfikuj , aby zaktualizować instalację programu Visual Studio.
Copilot nie odpowiada
- Upewnij się, że masz aktywną subskrypcję narzędzia GitHub Copilot.
- Spróbuj wylogować się i wrócić do konta usługi GitHub w programie Visual Studio
Wygenerowany kod nie kompiluje
- Poproś copilot, aby naprawić określone błędy kompilacji, wklejając komunikat o błędzie do czatu Copilot.
- Spróbuj udoskonalić polecenie, aby było bardziej szczegółowe co do tego, co ma robić aplikacja.
Dalsze kroki
- GitHub Copilot w programie Visual Studio
- Dokumentacja narzędzia GitHub Copilot — szczegółowe informacje na temat programowania wspomaganego przez sztuczną inteligencję
- Awesome ChatGPT Prompts — przykłady podpowiedzi inspirowane przez społeczność