Lakukan refaktorisasi kode menggunakan mode obrolan GitHub Copilot
GitHub Copilot dapat digunakan untuk merefaktor kode di basis kode Anda. Anda dapat menggunakan agen tampilan Obrolan untuk menganalisis, merencanakan, dan menerapkan tugas pemfaktoran ulang kode. Agen tampilan Obrolan menyediakan antarmuka yang mudah digunakan untuk mengelola percakapan obrolan dan mengakses fitur GitHub Copilot. Tampilan Obrolan mencakup agen bawaan berikut:
- Tanyakan: Gunakan Ajukan untuk mengajukan pertanyaan tentang basis kode atau konsep teknologi Anda. Anda dapat menggunakan Minta untuk menjelaskan kode, menyarankan revisi atau perbaikan, atau memberikan informasi yang terkait dengan basis kode.
- Rencana: Gunakan agen Paket untuk membuat rencana implementasi langkah demi langkah terstruktur sebelum menulis kode apa pun. Ketika rencana terlihat benar, serahkan ke agen implementasi untuk mengeksekusinya.
- Agen: Gunakan Agen untuk memulai alur kerja pengkodan agenik. Anda dapat menggunakan Agen untuk menjalankan perintah, menjalankan kode, atau melakukan tugas lain di ruang kerja Anda.
Penting
Saat Anda menggunakan Agen, GitHub Copilot dapat membuat beberapa permintaan premium untuk menyelesaikan satu tugas. Permintaan premium dapat digunakan melalui perintah yang diinisiasi oleh pengguna dan tindak lanjut yang dilakukan GitHub Copilot atas nama Anda. Total permintaan premium yang digunakan tergantung pada kompleksitas tugas, jumlah langkah yang terlibat, dan model yang dipilih.
Gunakan fitur "Ask" untuk merefaktor kode
Anda dapat menggunakan Minta untuk mendapatkan bantuan terkait tugas pengodean, memahami konsep yang sulit, dan meningkatkan kode Anda. Ask dirancang untuk percakapan interaktif dengan GitHub Copilot Chat. Anda dapat mengajukan pertanyaan, mendapatkan penjelasan, atau meminta saran secara real time.
Buka tampilan Obrolan dan pilih Tanyakan.
Tambahkan konteks ke obrolan.
Ask mendukung peserta obrolan, perintah garis miring, dan variabel obrolan. Anda dapat menambahkan
#codebasepeserta obrolan atau#codebaseke obrolan untuk memberikan konteks bersama dengan file atau folder.Ajukan pertanyaan yang membantu Anda memahami kode yang ingin Anda refaktor dan perubahan yang ingin Anda buat.
Misalnya, Anda mungkin meminta GitHub Copilot untuk membantu Anda memahami kode autentikasi yang ada cara memperbarui metode saat ini menggunakan OAuth.
Buat perintah yang menjelaskan pembaruan yang ingin Anda terapkan.
Perintah Anda harus menyertakan deskripsi fitur kode yang ingin Anda terapkan. Contohnya:
#codebase I need to refactor the `EnumHelper` class and remove any code that uses reflection. Use static dictionaries to supply enum description attributes. Use a separate dictionary for each enum. The dictionaries should use values from the `LoanExtensionStatus.cs`, `LoanReturnStatus.cs`, and `MembershipRenewalStatus.cs` files. Explain how to update the EnumHelper class using dictionaries and show me the updated code.Tinjau kode yang disarankan dalam tampilan Obrolan.
Respons yang ditampilkan dalam tampilan Obrolan akan menyertakan cuplikan kode yang dapat Anda gunakan untuk mengimplementasikan fitur tersebut. Anda dapat memasukkan perintah yang diperbarui untuk memperbaiki kode atau meminta detail selengkapnya.
Untuk menerapkan kode yang disarankan, Anda dapat mengarahkan penunjuk mouse ke atas cuplikan kode lalu memilih antara opsi Terapkan, Sisipkan, dan Salin .
- Terapkan: Menerapkan saran kode ke file saat ini di editor.
- Sisipkan: Menyisipkan saran kode pada posisi kursor saat ini di editor.
- Salin: Menyalin saran kode ke clipboard.
Uji kode refaktor Anda untuk memastikan kode berjalan tanpa kesalahan dan menghasilkan hasil yang diharapkan.
Gunakan Perencanaan untuk refaktorisasi kode
Anda dapat menggunakan agen Rencana saat ingin membuat rencana implementasi langkah demi langkah terstruktur sebelum membuat perubahan. Agen Rencana menganalisis basis kode Anda, mengajukan pertanyaan klarifikasi, dan menghasilkan rencana terperinci. Ketika rencana terlihat benar, Anda dapat menyerahkannya ke agen implementasi untuk menjalankannya.
Petunjuk / Saran
Gunakan fitur Ask untuk mengevaluasi kode yang ingin Anda refaktorisasi dan menilai opsi Anda sebelum mulai membuat perubahan. Anda dapat menggunakan Rencana untuk membuat rencana terstruktur lalu menyerahkannya ke agen implementasi.
Buka tampilan Obrolan dan pilih Rencanakan.
Tambahkan konteks ke obrolan.
Tentukan konteks ruang kerja menggunakan
#codebasedan dengan menambahkan file ke obrolan.Buat perintah yang menjelaskan fitur kode yang ingin Anda terapkan.
Perintah Anda harus menyertakan deskripsi fitur kode yang ingin Anda terapkan. Contohnya:
#codebase I need to refactor the `EnumHelper` class and remove any code that uses reflection. Use static dictionaries to supply enum description attributes. Use a separate dictionary for each enum. The dictionaries should use values from the `LoanExtensionStatus.cs`, `LoanReturnStatus.cs`, and `MembershipRenewalStatus.cs` files.Tinjau rencana implementasi terstruktur yang GitHub Copilot hasilkan.
Agen Rencana membuat rencana berurutan yang dapat Anda tinjau sebelum ada perubahan kode dibuat.
Ketika rencana terlihat benar, serahkan ke agen implementasi untuk mengeksekusinya.
Anda dapat menyerahkan rencana ke Agen untuk menerapkan perubahan pada basis kode Anda.
Tinjau pengeditan yang disarankan di editor kode.
Terima atau buang pengeditan yang disarankan.
Anda dapat menavigasi pengeditan menggunakan panah atas dan bawah. Anda dapat Menyimpan (menerima) atau Membatalkan (membuang) pengeditan yang disarankan satu per satu menggunakan menu popup yang muncul di setiap pengeditan. Anda juga dapat menerima atau menolak semua pengeditan sekaligus menggunakan tombol Simpan dan Batalkan di bagian bawah tab editor (atau Tampilan obrolan).
Uji kode refaktor Anda untuk memastikan kode berjalan tanpa kesalahan dan menghasilkan hasil yang diharapkan.
Menggunakan Agen untuk merefaktor kode
Anda dapat menggunakan Agen saat ingin mengotomatiskan proses refaktor kode. Agen bertindak sebagai agen otonom yang dapat mengambil tindakan atas nama Anda. Anda dapat meminta GitHub Copilot untuk melakukan tugas tertentu, dan menghasilkan kode berdasarkan permintaan Anda.
Dengan Agen, Anda dapat menggunakan bahasa alami untuk menentukan tugas tingkat tinggi, dan membiarkan GitHub Copilot alasan otonom tentang permintaan, merencanakan pekerjaan yang diperlukan, dan menerapkan perubahan pada basis kode Anda. Agen menggunakan kombinasi pengeditan kode dan pemanggilan alat untuk menyelesaikan tugas yang Anda tentukan. Saat memproses permintaan Anda, ia memantau hasil pengeditan dan alat, dan melakukan iterasi untuk menyelesaikan masalah apa pun yang muncul.
Penting
Saat Anda menggunakan Agen, GitHub Copilot dapat membuat beberapa permintaan premium untuk menyelesaikan satu tugas. Permintaan premium dapat digunakan melalui perintah yang diinisiasi oleh pengguna dan tindak lanjut yang dilakukan GitHub Copilot atas nama Anda. Total permintaan premium yang digunakan tergantung pada kompleksitas tugas, jumlah langkah yang terlibat, dan model yang dipilih.
Buka tampilan Obrolan dan pilih Agen.
Buat petunjuk yang menjelaskan tugas yang ingin Anda lakukan dengan GitHub Copilot.
Misalkan Anda memiliki proyek kode yang menggunakan dua atau beberapa proses/teknik untuk menyelesaikan tugas yang sama. Anda dapat meminta GitHub Copilot untuk merefaktor kode Anda menggunakan satu pendekatan untuk meningkatkan konsistensi, keberlanjutan, dan performa.
Contohnya:
Review the LINQ code used in the JsonData and JsonLoanRepository classes. Refactor the methods in the JsonPatronRepository class using LINQ queries. Ensure that existing code functionality is maintained.Agen mungkin memanggil beberapa alat untuk menyelesaikan tugas yang berbeda. Secara opsional, pilih ikon Alat untuk mengonfigurasi alat mana yang dapat digunakan untuk merespons permintaan Anda.
Mengonfirmasi pemanggilan alat dan perintah terminal.
Sebelum GitHub Copilot menjalankan perintah terminal atau alat yang bukan bawaan, GitHub Copilot meminta konfirmasi untuk melanjutkan. Konfirmasi diperlukan karena alat mungkin berjalan secara lokal di komputer Anda dan melakukan tindakan yang mengubah file atau data.
GitHub Copilot mendeteksi masalah dan masalah dalam pengeditan kode dan perintah terminal dan akan melakukan iterasi dan melakukan tindakan untuk mengatasinya.
Penting
Meskipun GitHub Copilot mampu menyembuhkan diri sendiri, mungkin tidak selalu dapat menyelesaikan masalah sendiri. Anda dapat menjeda proses dan memberikan konteks lebih lanjut untuk membantu GitHub Copilot memahami masalah. Anda juga dapat membatalkan proses dan memulai kembali dengan perintah baru.
Tinjau pengeditan yang disarankan dan terima atau buang pengeditan yang disarankan.
Uji kode refaktor Anda untuk memastikan kode tersebut menghasilkan hasil yang diharapkan.
Agen harus menyelesaikan masalah sendiri, tetapi Anda masih harus menguji kode untuk memastikannya berfungsi seperti yang diharapkan.
Anda dapat mengembalikan pengeditan yang dibuat oleh Agen menggunakan tombol Batalkan di tampilan Obrolan. Anda juga dapat menggunakan opsi Kembalikan di editor untuk mengembalikan perubahan yang dibuat oleh Agen.
Kapan harus memilih Agen daripada Paket
Pertimbangkan kriteria berikut untuk memilih antara Paket dan Agen:
- Perencanaan: Rencana membuat rencana implementasi langkah demi langkah terstruktur sebelum menulis kode apa pun. Agen secara otonom menentukan konteks dan file yang relevan untuk diedit dan mulai membuat perubahan secara langsung.
- Kompleksitas tugas: Agen lebih cocok untuk tugas kompleks yang memerlukan pengeditan kode dan pemanggilan alat atau perintah terminal.
- Durasi: Agen menggunakan beberapa langkah untuk memproses permintaan, sehingga mungkin perlu waktu lebih lama untuk menghasilkan respons. Misalnya, untuk menentukan konteks dan file yang relevan untuk diedit, tentukan rencana tindakan, dan lainnya.
- Pemulihan otomatis: Agen mengevaluasi hasil dari pengeditan yang dihasilkan dan mungkin melakukan iterasi beberapa kali untuk menyelesaikan masalah sementara.
- Meminta kuota: Saat Anda menggunakan mode Agen, tergantung pada kompleksitas tugas, satu permintaan dapat mengakibatkan banyak permintaan ke backend.
Ringkasan
GitHub Copilot dapat digunakan untuk merefaktor kode di basis kode Anda. Anda dapat menggunakan agen tampilan Obrolan untuk menganalisis, merencanakan, dan menerapkan tugas pemfaktoran ulang kode. Tampilan Obrolan mencakup tiga agen bawaan: Tanyakan, Rencanakan, dan Agen. Anda dapat menggunakan Ajukan pertanyaan tentang basis kode atau konsep teknologi Anda. Anda dapat menggunakan Rencana untuk membuat rencana implementasi terstruktur sebelum menulis kode. Anda dapat menggunakan Agen untuk memulai alur kerja pengkodian agenik.