Mengarahkan Copilot dengan konteks

Pengembangan Perangkat Lunak dengan GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Pentingnya konteks

Pengembangan Perangkat Lunak dengan GitHub Copilot

Pentingnya konteks

Pengembangan Perangkat Lunak dengan GitHub Copilot
Pengembangan Perangkat Lunak dengan GitHub Copilot

Variabel #codebase

$$

#codebase: Melakukan pencarian kode semantik di seluruh proyek

Contoh prompt:

Bagaimana autentikasi pengguna ditangani? #codebase

Hasil:

  • 🔍 Memindai seluruh codebase
  • 💻 Menyertakan logika, pemanggilan fungsi, atau pengaturan konfigurasi yang relevan dalam jawabannya
Pengembangan Perangkat Lunak dengan GitHub Copilot

Bagaimana Copilot memahami codebase Anda

Tipe indeks:

  • Indeks lokal: Disimpan di mesin Anda
  • Indeks jarak jauh: Untuk repositori yang dihosting di GitHub
Pengembangan Perangkat Lunak dengan GitHub Copilot

Memeriksa tipe indeks Anda

Pengembangan Perangkat Lunak dengan GitHub Copilot

Memeriksa tipe indeks Anda

Pengembangan Perangkat Lunak dengan GitHub Copilot

Variabel #changes

$$

#changes: Merujuk perubahan kontrol versi terbaru

Contoh prompt:

Apakah perubahan ini akan merusak alur login? #changes

Gunakan saat:

  • 💾 Mengevaluasi modifikasi kode
Pengembangan Perangkat Lunak dengan GitHub Copilot

Variabel #selection

$$

#selection: Merujuk blok kode yang disorot

Contoh prompt:

Bisakah Anda refactor ini? #selection

Gunakan saat:

  • 🔧 Melakukan edit cepat
  • 📝 Membuat prompt terarah
Pengembangan Perangkat Lunak dengan GitHub Copilot

Variabel #fetch

  • Dokumentasi 📚, referensi API 💻, posting blog 📰

$$

#fetch: Mengambil konten halaman web

Contoh prompt:

Ringkas dokumentasi ini #fetch https://example.com/docs

Hasil:

  • 🌐 Mengambil halaman web dan menggunakannya sebagai konteks
Pengembangan Perangkat Lunak dengan GitHub Copilot

Variabel #files

$$

#files: Melampirkan file tertentu ke prompt

Contoh prompt:

Bisakah Anda memeriksa file ini untuk isu penanganan error? #files:utils/data_loader.py

Hasil:

  • 🔍 Menganalisis isi file yang dirujuk
  • 📄 Menambahkannya ke konteks prompt
Pengembangan Perangkat Lunak dengan GitHub Copilot

Variabel dan tool chat lainnya

$$

Variable/tool Description
#search Mengaktifkan pencarian file di workspace saat ini.
#testFailure Mendapatkan info kegagalan unit test. Berguna saat menjalankan dan mendiagnosis test.
#problems Menambahkan isu dan masalah workspace dari panel Problems sebagai konteks. Berguna saat memperbaiki atau debug kode.
#terminalLastCommand Mendapatkan perintah terminal terakhir dan outputnya.
#githubRepo Melakukan pencarian kode di repo GitHub.
1 https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
Pengembangan Perangkat Lunak dengan GitHub Copilot
Pengembangan Perangkat Lunak dengan GitHub Copilot

Membangun interaksi chat progresif

Satu prompt kompleks:

Tambahkan integrasi PostgreSQL dengan autentikasi, persistensi, sesi, penanganan error, dan connection pooling

Alur kompleksitas progresif:

  1. Apa pendekatan terbaik untuk menambah persistensi database? #codebase
  2. Implementasikan koneksi database dengan pendekatan yang disarankan
  3. Bantu desain skema untuk kelas Task dan User
  4. Sekarang tambahkan manajemen sesi dan penanganan error dasar
  5. ...
Pengembangan Perangkat Lunak dengan GitHub Copilot

Mulai chat baru untuk mengosongkan konteks

Pengembangan Perangkat Lunak dengan GitHub Copilot

Mulai chat baru untuk mengosongkan konteks

Pengembangan Perangkat Lunak dengan GitHub Copilot

Pengembangan Perangkat Lunak dengan GitHub Copilot

Ayo berlatih!

Pengembangan Perangkat Lunak dengan GitHub Copilot

Preparing Video For Download...