Memecahkan masalah modernisasi GitHub Copilot untuk C++

Artikel ini membantu Anda mengatasi masalah umum saat Anda menggunakan modernisasi GitHub Copilot untuk meningkatkan proyek C++Anda. Jika Anda mengalami masalah yang tidak tercakup di sini, gunakan Help>Kirim Umpan Balik>Laporkan masalah di Visual Studio.

Sebelum Anda mulai

Pastikan solusi atau proyek Anda dapat dibangun

Untuk skenario peningkatan MSVC, agen memvalidasi perubahan dengan membangun solusi atau proyek Anda. Jika solusi atau proyek Anda sudah rusak sebelum Memulai, agen akan mengalami kesulitan yang lebih besar untuk membedakan masalah yang sudah ada sebelumnya dari masalah yang diperkenalkan oleh peningkatan.

Jika Anda memiliki masalah build yang sudah diketahui, dokumentasikan di instruksi kustom, sertakan dalam respons Anda saat agen meminta konteks selama tahap penilaian, atau tambahkan ke scenario-instructions.md agar agen tahu untuk mengabaikannya.

Mengkomit atau menyisihkan pekerjaan yang belum dikomitmenkan

Mulailah dengan direktori kerja yang bersih. Agen melakukan commit saat bekerja, dan mencampur perubahan yang belum di-commit dengan modifikasi yang dibuat agen akan menyulitkan peninjauan atau pengembalian perubahan.

git stash
git status

Mencadangkan repositori non-Git

Agen juga dapat bekerja dengan folder yang tidak berada di bawah kontrol sumber. Jika proyek Anda bukan bagian dari repositori Git, agen akan melewati operasi percabangan dan commit. Cadangkan folder proyek Anda sebelum memulai sehingga Anda dapat memulihkannya jika diperlukan.

Tip

Pertimbangkan untuk menginisialisasi repositori Git lokal sebelum Anda mulai, meskipun Anda tidak melakukan push ke repositori jarak jauh. Ini memberi Anda cara untuk mengembalikan perubahan individual dan melacak kemajuan langkah demi langkah.

Contoh:

git init
git add
git commit -m "Initial Commit"

Ketika Anda dan agen selesai, jika Anda tidak ingin terus menggunakan git, pastikan kode yang saat ini ada di pohon kerja Anda adalah apa yang Anda inginkan, dan hapus .git direktori di direktori tempat Anda menjalankan git init.

Masalah umum

Agen tidak muncul di Copilot Chat

Symptoms: Mengetik @Modernize di jendela obrolan GitHub Copilot tidak mengaktifkan agen, atau Modernize tidak muncul di menu konteks Penjelajah Solusi.

Solusi:

  1. Verifikasi bahwa Visual Studio versi 18.7 atau yang lebih baru di Help>Tentang Microsoft Visual Studio.
  2. Verifikasi bahwa GitHub Copilot aktif dengan memeriksa ikon Copilot di bilah status.
  3. Periksa apakah fitur diaktifkan di Tools>Options>GitHub>Copilot>C/C++. Kemudian pilih Aktifkan modernisasi GitHub Copilot untuk C++.
  4. Mulai ulang Visual Studio setelah Anda mengubah pengaturan.

Agen terjebak dalam perulangan

Gejala: Agen berulang kali mencoba perbaikan yang sama tanpa membuat kemajuan.

Solusi:

  • Hentikan agen dengan tombol Batal di jendela prompt Copilot Chat, jelaskan apa yang Anda amati di prompt, lalu kirim prompt tersebut untuk melanjutkan agen.
  • Berikan perbaikan manual, dan beri tahu agen apa yang Anda ubah. Agen belajar dari koreksi Anda.
  • Minta agen untuk mencoba pendekatan yang berbeda. Misalnya, ketik di jendela obrolan GitHub Copilot: "Perbaikan tersebut tidak berfungsi. Coba strategi yang berbeda."
  • Jika diperlukan, kembalikan atau batalkan perubahan terakhir, dan mulai ulang tugas.

Solusi besar memakan waktu terlalu lama

Gejala: Pemutakhiran solusi berukuran besar dengan banyak proyek memerlukan waktu yang sangat lama atau tampak macet.

Solusi:

  • Mulailah dengan satu proyek perwakilan sebagai pilot. Ini memunculkan masalah sistemik lebih awal.
  • Pantau kemajuan dengan meninjau tasks.md di .github/upgrades/{SCENARIO ID}.
  • Jika sesi habis, mulai sesi baru. Agen melanjutkan dari titik terakhirnya.

Strategi pemulihan

Urungkan semua perubahan

Jika Anda menggunakan cabang Git untuk peningkatan, batalkan semuanya:

git checkout your-original-branch
git branch -D upgrade-branch

Kode asli Anda tidak tersentuh.

Membatalkan perubahan terakhir

Batalkan commit terbaru:

git revert HEAD

Atau beritahu agen, Revert the last change.

Memulai ulang dari tahap tertentu

Jika rencana agen tidak berfungsi, mulai ulang dari tahap sebelumnya dengan mengirim permintaan yang mirip dengan:

  • Let's redo the plan. I want a different approach to the conformance issues.
  • Go back to the assessment and reconsider the upgrade strategy.

Mulai dari awal

.github/upgrades/{SCENARIO ID} Hapus folder, dan mulai percakapan baru dengan agen. Dimulai dari awal.

Dapatkan bantuan

Jika Anda tidak dapat mengatasi masalah:

  1. Gunakan Help>Kirim Umpan Balik>Laporkan masalah di Visual Studio.
  2. Sertakan konten dari .github/upgrades/{SCENARIO ID} ke dalam execution-log.md jika memungkinkan.