Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, Visual Studio'da hızla bir C++ konsol uygulaması oluşturmak için GitHub Copilot'ın nasıl kullanılacağı gösterilmektedir. Conway'in klasik bir hücresel otomaton olan Game of Life'ın konsol sürümünü oluşturursunuz.
Conway's Game of Life, matematikçi John Conway tarafından geliştirilmişti. Canlı veya ölü olabilecek hücrelerden oluşan bir ızgaradan ibarettir. Oyun, basit kurallara göre otomatik olarak gelişir ve karmaşık davranışların temel matematik kurallarından nasıl ortaya çıkabileceğini gösteren karmaşık, gelişen desenler üretir.
GitHub Copilot, daha hızlı kod yazmanıza, hataları azaltmanıza ve yeni çözümleri keşfetmenize yardımcı olan yapay zeka destekli bir kodlama yardımcısıdır. C++'ta kodlama yaparken Copilot kullanmanın bazı avantajları:
- Yazarken tüm C++ işlevlerini veya sınıflarını oluşturun.
- Düz dil açıklamalarını veya istemlerini temel alan kod tamamlamaları önerin.
- Karmaşık algoritmalar, veri yapıları ve standart kitaplık kullanımıyla ilgili yardım alın.
- Bağlam içi örnekler aracılığıyla yeni API'leri ve modern C++ desenlerini öğrenin.
- Açıklamalarınız veya kodunuz üzerine bağlam duyarlı öneriler alın.
- Kodunuzda hata ayıklama.
- Mevcut kodu basitleştirin ve yeniden düzenleme.
Önkoşullar
- C++ iş yükünün yüklü olduğu Masaüstü geliştirme özelliğine sahip Visual Studio 2022 veya üzeri.
- GitHub Copilot. Daha fazla bilgi için bkz. GitHub Copilot'ı kullanmaya başlama.
C++ iş yükünün yüklü olduğunu doğrulamak için:
Visual Studio Yükleyicisi’ni Açın.
Visual Studio yüklemenizin yanındaki Modify öğesini seçin.
C++ ile Masaüstü geliştirmenin denetlendiğinden emin olun:
Yüklü değilse seçin ve Değiştir'i seçin.
Copilot yükleme hakkında daha fazla bilgi için bkz. GitHub Copilot yüklemesini ve durumunu yönetme.
Proje oluştur
Visual Studio, bir uygulamanın kodunu düzenlemek için projeleri ve projelerinizi düzenlemeye yönelik çözümleri kullanır. Proje, uygulamalarınızı oluşturmak için kullanılan seçenekleri, yapılandırmaları ve kuralları içerir. Projenin dosyalarıyla dış dosyalar arasındaki ilişkiyi yönetir. Uygulamanızı oluşturmak için önce yeni bir proje ve çözüm oluşturun.
Visual Studio'yu açın ve Yeni proje oluştur'u seçin.
Konsol Uygulaması'nı arayın ve C++ için Konsol Uygulaması şablonunu seçin.
Konsol Uygulaması şablonu seçili durumdayken Yeni proje oluştur iletişim kutusu gösterilir. Şablonda şöyle yazıyor: Kodu bir Windows Terminal çalıştırın. Varsayılan olarak Merhaba Dünya yazdırır. C++, Windows ve Konsol etiketlerini içerir.
sonrakiseçin.
Proje adını olarak
Lifeayarlayın ve projenin konumunu seçin.Oluştur'i seçin.
Proje açıldıktan sonra Çözüm Gezgini'da
Life.cppdosyasını bulun.Temiz bir sayfayla başlamak için varsayılan "Hello, World!" kodunu açın
Life.cppve silin.
Uygulama oluşturmak için Copilot kullanma
İstediğiniz işlevselliği açıklayarak Copilot'a sorabilirsiniz. Bu bölümde, Copilot’a Conway’in Game of Life uygulamasını üretmesi için nasıl istem vereceğinizi öğreneceksiniz.
Araç çubuğundaKi Copilot simgesini seçerek Copilot sohbet penceresini açın:
Sohbet penceresine aşağıdaki istemi girin:
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, Conway'in Game of Life için C++ kodu oluşturur. Oluşturulan kodu kopyalayın ve boş
Life.cppdosyanıza yapıştırın.F6 tuşuna basarak veya Derleme Çözümü Derle'yi> seçerek projeyiderleyin.
F5 veya Ctrl+F5 tuşlarına basarak programı çalıştırın.
Uyarı
Copilot tarafından oluşturulan tam kod, çalıştırmadan çalıştırmaya ve modelden modele göre biraz farklılık gösterebilir, ancak temel işlevselliğin tutarlı olması gerekir. Oluşturulan kod hemen derlenemiyorsa Copilot'dan derleme hatalarını düzeltmesini isteyebilirsiniz. Copilot yapay zeka ile desteklendiğinden sürprizler ve hatalar mümkündür. Daha fazla bilgi için Sıkça Sorulan Sorular bölümüne bakın.
Tipik olarak oluşturulan kod yapısı örneği
Oluşturduğunuz kod büyük olasılıkla şu önemli bileşenleri içerir:
- Konsol işleme, rastgele sayı oluşturma ve zamanlama için üst bilgiler
- Oyun ızgarasını temsil eden bir 2B dizi veya vektör
- Kılavuzu başlatma, Conway kurallarını uygulama ve geçerli durumu görüntüleme işlevleri
- Bir tuşa basılana kadar devam eden ana döngü
Copilot'un önceki istem kullanılarak oluşturduğu kodun bir örneği aşağıda verilmiştir:
// 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;
}
Uygulamayı çalıştırdığınızda, zaman içinde gelişen desenlerle Conway'in Yaşam Oyunu'nun animasyonlu bir gösterimini görmelisiniz. Programdan çıkmak için bir tuşa basın.
Yukarıdaki kod örneğinde kod bir uyarı oluşturur: Return value ignored: '_getch'. Copilot'dan düzeltmesini isteyebilirsiniz. Kod düzenleyicisini seçin ve Copilot sohbetini açmak için Alt+/ (Windows) tuşlarına basın ve ardından şunu girin:
Copilot, dönüş değerini düzgün bir şekilde işlemek için bir düzeltme önerir. Değişiklikleri kabul etmek için Sekme'yi seçin:
Tebrikler! GitHub Copilot'ı başarıyla kullanarak C++'da tam işlevsel bir Conway'in Game of Life konsol uygulamasını oluşturmuştsunuz. Nasıl yapılacağını öğrendinsiniz:
- C++ kodu oluşturmak için etkili bir istem oluşturun
- Bir uygulamanın tamamını sıfırdan oluşturmak için Copilot'un sohbet arabirimini kullanma
- Derleme uyarılarını yapay zeka yardımıyla düzeltme
Talimat becerilerinizi geliştirin
Copilot ile ilgili daha iyi sonuçlar için şu istem kaynaklarına bakın:
- GitHub Copilot belgeleri - Resmi en iyi uygulamalar ve ipuçları
- OpenAI'nin GPT en iyi yöntemleri - Genel yapay zeka istem teknikleri
- Copilot istem kılavuzu - Kod oluşturma için özel kılavuz
Sorun giderme
Eksik konsol uygulaması şablonu
Yeni Proje iletişim kutusunda C++, Windows ve Konsol etiketleri içeren bir KonsolUygulaması şablonu gösterilmelidir. Bunu görmüyorsanız, listeden filtrelenmiş veya yüklenmemiş olabilir. İlk olarak, şablon listesinin en üstündeki filtre menülerini denetleyin. Bunları C++, Windows ve Konsol olarak ayarlayın. C++ Konsol Uygulaması şablonu görünmelidir; aksi takdirde , C++ iş yüküyle Masaüstü geliştirmesi yüklenmez.
C++ ile Masaüstü geliştirmeyi yüklemek için yükleyiciyi doğrudan Yeni proje oluştur iletişim kutusundan çalıştırabilirsiniz. Şablon listesinin altındaki Yeni proje oluştur iletişim kutusunun altındaki Daha fazla araç ve özellik yükle bağlantısını seçin. Kullanıcı Hesabı Denetimi iletişim kutusu izin isterse Evet'i seçin. Yükleyicide , C++ iş yüküyle Masaüstü geliştirme seçeneğinin işaretli olduğundan emin olun. Ardından Visual Studio yüklemenizi güncelleştirmek için Değiştir'i seçin.
Copilot yanıt vermiyor
- Etkin bir GitHub Copilot aboneliğiniz olduğundan emin olun.
- Visual Studio'da oturumu kapatıp GitHub hesabınızda yeniden oturum açmayı deneyin.
Oluşturulan kod derlenemiyor
- Copilot sohbetine hata iletisini yapıştırarak Copilot'tan belirli derleme hatalarını düzeltmesini isteyin.
- Uygulamanın ne gerçekleştirmesini istediğiniz konusunda daha ayrıntılı bilgi almak için isteminizi iyileştirmeyi deneyin.
Ayrıca bakınız
- Visual Studio'da GitHub Copilot
- GitHub Copilot belgeleri - Yapay zeka destekli geliştirme konusunda daha ayrıntılı bilgi edinin
- Awesome ChatGPT İstemleri - Topluluk tarafından yönlendirilen ilham verici örnekler