FAQ modernisasi C++ dengan GitHub Copilot

FAQ ini menjawab pertanyaan umum yang mungkin dimiliki pengguna C++ tentang modernisasi GitHub Copilot.

General

Apa itu modernisasi GitHub Copilot untuk C++?

Modernisasi C++ dengan GitHub Copilot adalah agen GitHub Copilot untuk Visual Studio yang membantu Anda memodernkan dan memutakhirkan proyek C++ agar menggunakan alat, pustaka, dan pola yang lebih baru. Ini mengenali tugas tertentu seperti meningkatkan MSVC Build Tools ke versi yang lebih baru dan menyediakan alat dan instruksi tambahan untuk menyelesaikan tugas tersebut. Ini mengotomatiskan penilaian, perencanaan, dan eksekusi untuk menyelesaikan tugas modernisasi, dan Anda dapat menjalankannya dalam mode yang sepenuhnya otomatis atau mode terpandu yang memungkinkan Anda menyetujui setiap langkah dan memberikan panduan tambahan.

Lingkungan pengembangan apa yang didukung?

Modernisasi GitHub Copilot untuk C++ tersedia di Visual Studio 2026 versi 18.7 atau yang lebih baru.

Apakah saya memerlukan langganan GitHub Copilot?

Yes. Anda memerlukan langganan GitHub Copilot aktif untuk menggunakan agen modernisasi.

Apakah kode saya dikirim ke layanan eksternal?

GitHub Copilot memproses cuplikan kode sesuai dengan kebijakan privasi Copilot GitHub. Kode tidak disimpan setelah sesi saat ini berakhir. File alur kerja seperti scenario-instructions.md dan tasks.md tetap berada di repositori Anda dan tidak dikirimkan ke layanan eksternal.

Skenario peningkatan MSVC

Jenis proyek apa yang didukung?

Agen mendukung jenis proyek ini:

  • Proyek berbasis MSBuild (.sln dan .vcxproj).
  • Proyek berbasis CMake.

Agen saat ini tidak mendukung proyek Unreal Engine (.uproject).

Apa yang sebenarnya diubah agen pada kode saya?

Agen memodifikasi kode sumber untuk mengatasi kesalahan build dan peringatan yang diperkenalkan dengan meningkatkan ke versi MSVC Build Tools yang lebih baru. Perubahan umum termasuk mengganti API yang tidak digunakan lagi, memperbaiki masalah yang disebabkan oleh penggunaan kompilator yang lebih sesuai, memperbarui termasuk arahan untuk header yang dihapus atau direlokasi, dan menyelesaikan kesalahan linker yang disebabkan oleh perubahan pustaka. Saat proyek Anda berada di repositori git, semua perubahan diterapkan sehingga Anda dapat meninjau dan mengembalikan modifikasi individual.

Dapatkah saya mengontrol perubahan agen?

Yes. Anda dapat meninjau dan menyetujui rencana sebelum eksekusi dimulai, memberi tahu agen untuk melewati masalah atau tugas tertentu, dan memberikan preferensi di scenario-instructions.md. Anda juga dapat menjeda eksekusi, mengarahkan ulang agen, atau membatalkan commit apa pun yang dibuatnya.

Apakah agen menjalankan pengujian?

Agen memvalidasi perubahan dengan membangun proyek setelah setiap tugas. Jika proyek Anda menjalankan pengujian sebagai bagian dari build, pengujian tersebut juga berjalan. Anda juga dapat memberi tahu agen untuk melewati validasi pengujian untuk tugas tertentu.

Bagaimana jika agen membuat kesalahan?

Hentikan agen itu dan segera beri tahukan kepadanya. Sistem ini akan menyesuaikan diri dan menerapkan koreksi saat Anda memberi tahu agen agar melanjutkan. Anda juga dapat menjalankan git revert HEAD, minta agen untuk mencoba pendekatan yang berbeda, atau melakukan perbaikan manual.

Untuk informasi selengkapnya, lihat Memecahkan masalah modernisasi GitHub Copilot untuk C++.

Bisakah saya memutakhirkan hanya bagian dari solusi saya?

Yes. Beri tahu agen proyek mana yang perlu ditingkatkan, misalnya Upgrade only the CoreLib project to the latest MSVC Build Tools. Agen membatasi cakupan pekerjaannya pada proyek yang Anda tentukan.

Status dan sesi

Di mana agen menyimpan statusnya?

Semua status berada di dalam .github/upgrades/{SCENARIO ID} di repositori Anda. Ini termasuk penilaian, rencana, kemajuan tugas, preferensi Anda, dan log eksekusi.

Dapatkah saya melanjutkan pemutakhiran yang terganggu?

Yes. Anda dapat menutup Visual Studio atau mengakhiri sesi obrolan kapan saja. Saat Anda memulai percakapan baru, agen mendeteksi status yang sudah ada dan melanjutkan dari titik terakhir.

Haruskah saya commit folder .github/upgrades tersebut?

Yes. Melakukan commit folder ke branch Anda akan mencadangkan progres pemutakhiran, memungkinkan anggota tim melihat status pemutakhiran, dan membantu agen melanjutkan dari status yang tepat. Anda dapat menghapus folder setelah pemutakhiran selesai.

Bisakah beberapa orang bekerja pada peningkatan yang sama?

File status di .github/upgrades dapat dibagikan melalui Git. Namun, hanya satu orang yang harus secara aktif berinteraksi dengan agen pada satu waktu untuk menghindari perubahan yang bertentangan.

Compatibility

Versi MSVC Build Tools mana yang bisa saya perbarui dari?

Agen mendukung peningkatan dari versi MSVC Build Tools yang lebih lama ke versi terbaru yang didukung oleh penginstalan Visual Studio Anda.

Apakah agen menangani kompatibilitas pustaka pihak ketiga?

Agen mengidentifikasi masalah kompatibilitas pustaka pihak ketiga selama penilaian. Ini menyarankan alternatif atau solusi saat tersedia. Jika pustaka tidak kompatibel dengan toolset target, agen mendokumentasikan masalah tersebut sehingga Anda dapat memutuskan cara melanjutkan.

Dapatkah saya menggunakan agen dengan header yang telah dikommpilasikan sebelumnya?

Yes. Agen memahami konfigurasi header prakompilasi dan memperhitungkannya selama proses peningkatan.