Mengelola konteks obrolan dengan referensi

Cakup pertanyaan Anda ke GitHub Copilot Chat dengan menggunakan referensi, selain pengetahuan kontekstual implisitnya, untuk mendapatkan jawaban yang lebih baik.

Dalam artikel ini, Anda mempelajari cara mendapatkan jawaban yang lebih baik dengan memberikan informasi selengkapnya ke Obrolan Copilot:

  • Memahami konteks implisit yang dimanfaatkan Copilot di belakang layar
  • Batasi obrolan ke file-file tertentu menggunakan referensi
  • Lampirkan gambar ke permintaan Anda untuk memberikan konteks tambahan dan mengilustrasikan ide Anda dengan lebih baik
  • Tinjau sumber yang digunakan oleh Copilot untuk menghasilkan jawaban
  • Gunakan utas yang berbeda untuk setiap obrolan Copilot Anda, agar riwayat obrolan dan konteks tetap berbeda dalam setiap obrolan.

Prasyarat

Untuk mulai menggunakan GitHub Copilot Chat di Visual Studio, Anda memerlukan:

Konteks implisit

Visual Studio secara otomatis menyediakan konteks ke prompt obrolan berdasarkan aktivitas Anda saat ini.

Informasi berikut secara implisit disertakan dalam konteks obrolan:

  • Teks yang saat ini dipilih di editor aktif.
  • File saat ini aktif di editor.

Bergantung pada perintah Anda, Copilot membaca konten file aktif. Untuk secara eksplisit menyertakan konten file lain dalam konteks obrolan, pilih file yang disarankan menggunakan + tombol dalam tampilan obrolan untuk Menambahkan lampiran.

Cuplikan layar konteks implisit dalam Copilot Chat.

Referensi: Ruang Lingkup Hasil Copilot

Anda dapat mengajukan pertanyaan terkait pengodean dalam bahasa alami dan GitHub Copilot Chat akan menjawabnya dalam konteks basis kode yang terbuka di Visual Studio. Dengan referensi, Anda bisa mendapatkan lebih spesifik tentang informasi yang Anda inginkan untuk dipertimbangkan Copilot saat menjawab pertanyaan Anda.

Dengan memilih konteks tertentu di basis kode Anda, Anda dapat membentuk pertanyaan yang lebih baik dengan mudah tanpa harus menulis atau menempelkan informasi yang panjang. Menentukan konteks juga memungkinkan Copilot untuk memberi Anda jawaban yang lebih relevan.

Cuplikan layar referensi di Obrolan Copilot.

Merujuk file

Untuk mereferensikan file dengan mudah di GitHub Copilot Chat, cukup tambahkan simbol # di awal nama file. Misalnya, jika Anda memiliki file bernama BasketService.cs, sebutkan di obrolan sebagai #BasketService.cs.

Cuplikan layar referensi file di Copilot Chat.

Mereferensikan metode, kelas, atau fungsi

Dengan Visual Studio 2022 versi 17.11, Anda sekarang dapat mereferensikan metode, kelas, atau fungsi tertentu di GitHub Copilot Chat.

Untuk mereferensikan metode, kelas, atau fungsi dengan mudah di GitHub Copilot Chat, cukup tambahkan simbol # di awal metode, kelas, atau nama fungsi. Misalnya, jika Anda memiliki metode bernama BasketAddItem, rujuk sebagai #BasketAddItemdi obrolan.

Cuplikan layar referensi ke metode di GitHub Copilot Chat di Visual Studio.

Mereferensikan seluruh solusi

Gunakan @workspace untuk merujuk ke solusi yang aktif di IDE untuk konteksnya. Saat menggunakan @workspace untuk konteks, Copilot Chat memanfaatkan informasi tentang file, proyek, dan konfigurasi yang saat ini terbuka dan sedang dikerjakan dalam IDE Anda. Ini memungkinkan Obrolan Copilot untuk memberikan saran dan jawaban yang lebih relevan dan sadar konteks.

Cuplikan layar konteks solusi referensi di Obrolan Copilot.

Dengan Visual Studio 2022 versi 17.11, pelanggan GitHub Copilot Enterprise sekarang dapat menggunakan @github dalam obrolan untuk menyertakan konteks dari seluruh repositori mereka dan untuk mencari web (jika pencarian diaktifkan oleh admin Anda). Untuk mempelajari selengkapnya tentang koleksi keterampilan khusus GitHub yang dapat digunakan Copilot untuk menjawab pertanyaan Anda saat menggunakan @github, lihat Menggunakan keterampilan GitHub untuk Copilot.

Cuplikan layar penggunaan keterampilan GitHub di Obrolan Copilot.

Mereferensikan gambar

Dengan integrasi visi untuk Copilot Chat di Visual Studio 17.14 dan yang lebih baru, Anda dapat melampirkan gambar ke permintaan obrolan Anda, menyediakan Copilot dengan konteks tambahan untuk respons yang ditingkatkan. Gunakan gambar dalam kombinasi dengan cakupan dan fitur kontekstual lainnya seperti perintah garis miring untuk menghasilkan respons yang disesuaikan.

Dalam contoh berikut, Copilot menginterpretasikan gambar terlampir untuk menghasilkan rencana dan menyarankan kode untuk membuat game Breakout berwarna-warni dari awal.

Cuplikan layar skenario contoh penambahan gambar di Obrolan Copilot.

Jendela output referensi

Anda sekarang dapat menggunakan jendela output sebagai konteks dalam obrolan untuk mengajukan pertanyaan dan mendapatkan bantuan dengan log output. Jendela output yang didukung termasuk Build, Debug, Pengujian, Kontrol Sumber, Pengelola Paket, atau panel jendela output aktif lainnya.

Referensikan log output dalam obrolan dengan salah satu cara berikut:

  • Gunakan #output untuk mereferensikannya langsung dalam obrolan.
  • ➕ Pilih ikon di input obrolan dan tambahkan Output logs sebagai konteks.
  • Tanyakan Copilot secara langsung, misalnya, Periksa log output saya dan bantu saya memperbaiki kesalahan ini.
  • Klik kanan di Jendela Output dan pilih Jelaskan dengan Copilot untuk menghubungkannya.

Cuplikan layar jendela output untuk konteks dalam Copilot Chat.

URL Referensi

Tempelkan URL di kotak perintah dan Copilot akan menarik informasi dari web untuk mengisi kosong saat data pelatihan Copilot tidak mencakup topik atau saat Anda ingin mereferensikan sumber daya tertentu.

Misalnya, Anda dapat meminta Copilot untuk membantu Anda menulis file readme.md berdasarkan praktik terbaik di GitHub.

Cuplikan layar mereferensikan URL dalam obrolan untuk konteks.

Perhatikan bahwa Copilot hanya dapat mereferensikan konten HTML statis dari URL publik yang Anda berikan dan tidak akan mengakses tautan lain di halaman tersebut, halaman di belakang autentikasi, atau konten dari halaman dinamis.

Contoh penggunaan

Berikut adalah beberapa contoh penggunaan referensi untuk kontrol konteks:

Example konteks digunakan oleh Copilot untuk membentuk pertanyaan
Apa tujuan #MyFile.cs: 66-72? Bagian yang tepat dari file
Di mana tes dalam #BasketService.cs? BasketService.cs
/jelaskan #AddItemToBasket dalam #BasketService.cs Metode AddItemToBasket di BasketService.cs
Apakah ada metode hapus basket di @workspace ini? Solusi saat ini terbuka di IDE
Saya memiliki metode pengujian bernama #TestCalculator. Bagaimana cara memastikan bahwa itu dijalankan dengan benar? Metode TestCalculator
Bisakah Anda menjelaskan perbedaan antara kelas #BasketService dan #OrderService? Kelas BasketService dan kelas OrderService
Di @workspace mana #AddItemToBasket? Solusi saat ini terbuka di IDE
Perbarui UI saya di App.tsx agar menyerupai gambar ini Gambar yang diunggah

Tinjau sumber yang digunakan oleh Copilot Chat

Copilot Chat menampilkan konteks yang digunakan setelah setiap hasil, sehingga Anda dapat mengetahui apa yang diperhitungkan ketika menjawab pertanyaan Anda. Saat Anda mengajukan pertanyaan di Copilot Chat dan mendapatkan jawaban di jendela obrolan, dropdown Referensi muncul di bawah jawaban tersebut. Entri dalam daftar dropdown Referensi memperlihatkan konteks yang dirujuk oleh Copilot Chat untuk menghasilkan respons tersebut. Informasi ini dapat membantu Anda memodifikasi pertanyaan Anda untuk mendapatkan jawaban yang lebih baik dan lebih relevan.

Cuplikan layar Referensi yang digunakan di Copilot Chat.

Mengatur: mengelola konteks riwayat obrolan dengan utas

Saat Anda melakukan iterasi dan mengirim beberapa perintah obrolan dalam sesi obrolan, Copilot menggunakan riwayat perintah dan respons obrolan sebagai konteks untuk permintaan obrolan Anda saat ini. Ini berarti Anda dapat mengajukan pertanyaan tindak lanjut atau mengklarifikasi pertanyaan Anda sebelumnya tanpa harus mengulangi konteks. Misalnya, Anda dapat bertanya "Bagaimana perbedaan ini dari ...", "Sekarang tambahkan kasus pengujian", "jelaskan secara lebih rinci", dan banyak lagi.

Untuk memulai kembali dengan sesi obrolan baru dan membuang konteks saat ini, mulai utas baru dalam tampilan obrolan. Ini berguna ketika Anda ingin pindah ke topik yang berbeda dan menghindari konteks dan riwayat sebelumnya. Gunakan utas untuk menjaga percakapan tetap fokus pada tugas yang sedang ditangani, dan jaga agar konteks tetap jelas sehingga jawaban didasarkan pada konteks sejarah yang relevan.

Percakapan baru

Pilih Buat utas baru atau Ctrl+N di jendela obrolan untuk memulai utas baru.

Cuplikan layar ikon Buat utas baru di Obrolan Copilot.

Beralih ke percakapan obrolan

Anda dapat memilih dari berbagai utas yang sedang berlangsung untuk memberikan konteks historis yang tepat untuk pertanyaan Anda. Anda dapat menggunakan Ctrl+PgDown untuk utas sebelumnya atau Ctrl+PgUp untuk utas berikutnya di jendela obrolan. Ctrl+Shift+T memperluas menu dropdown utas.

Cuplikan layar beralih di antara utas yang sedang berlangsung di Copilot Chat.

Mengalihkan obrolan dalam baris ke jendela obrolan

Dengan Visual Studio 2022 versi 17.11, Anda sekarang dapat mempertahankan riwayat obrolan sebaris Anda dengan meningkatkannya ke jendela obrolan . Pilih Lanjutkan di jendela obrolan... untuk mempertahankan rekaman dan konteks percakapan, dan lanjutkan di jendela obrolan.

Cuplikan layar mengalihkan utas yang sedang berlangsung dari obrolan sebaris ke jendela obrolan.

Praktik terbaik

Copilot Chat menggunakan riwayat chat untuk mendapatkan konteks tentang permintaan Anda. Untuk memberikan kepada Copilot hanya riwayat yang relevan:

  • Gunakan utas untuk memulai percakapan baru terkait dengan tugas baru.
  • Hapus permintaan yang tidak lagi relevan atau yang tidak memberi Anda hasil yang diinginkan.

Biarkan percakapan obrolan tetap terbuka dan terus melakukan iterasi serta meminta Copilot agar solusi yang disarankan menjadi lebih baik. Copilot memiliki konteks kode yang dihasilkan dan riwayat percakapan Anda saat ini. Saat Anda terus mengajukan pertanyaan tambahan, Copilot selanjutnya menyempurnakan respons sesuai dengan kebutuhan Anda. Lihat Rekayasa Prompt untuk GitHub Copilot untuk strategi tentang rekayasa prompt efektif guna meningkatkan hasil GitHub Copilot Anda.

Langkah selanjutnya