GitHub Copilot di Seluruh Lingkungan: Teknik IDE, Obrolan, dan Baris Perintah - nurkomarhidaya/pemrograman-AI GitHub Wiki
Jelajahi kemampuan multifaset GitHub Copilot di berbagai lingkungan pengembangan. Pelajari cara memanfaatkan pengkodean berbantuan AI di IDE Anda, terlibat dalam percakapan bahasa alami untuk tugas yang kompleks, dan tingkatkan produktivitas baris perintah Anda.
Tujuan pembelajaran
Di akhir modul ini, Anda akan dapat:
- Pahami cara memanfaatkan saran otomatis GitHub Copilot, panel beberapa saran, dan kemampuannya untuk beradaptasi dengan gaya pengkodean yang berbeda.
- Pahami cara memberikan konteks ke GitHub Copilot melalui komentar sebaris, komentar blok, string dokumen, dan jenis komentar lainnya untuk meningkatkan akurasi pembuatan kode.
- Pahami cara berinteraksi dengan GitHub Copilot melalui percakapan bahasa alami untuk menghasilkan kode yang kompleks, men-debug masalah, dan mendapatkan penjelasan kode secara real-time.
- Memahami cara meningkatkan relevansi saran GitHub Copilot Chat dengan menggunakan referensi cakupan, perintah garis miring, dan agen
- Pahami cara berinteraksi dengan GitHub Copilot di CLI untuk mendapatkan penjelasan perintah, saran, dan bahkan menjalankan perintah berdasarkan kebutuhan tertentu.
Prasyarat
- Pengetahuan dasar pengkodean.
- Akses GitHub Copilot: Untuk menggunakannya, Anda dapat menginstal ekstensi GitHub Copilot yang tersedia untuk Anda di Lingkungan Pengembangan Terpadu (IDE) berikut:
- Visual Studio
- Kode Visual Studio
- Neovim
- IDE JetBrains (IntelliJ, PyCharm, WebStorm, dll.)
- Akun GitHub yang akan Anda sambungkan ke Copilot dari editor kode Anda.
Modul ini adalah bagian dari jalur pembelajaran ini
Dasar-dasar GitHub Copilot - Memahami pemrogram pasangan AI
Perkenalan
GitHub Copilot adalah asisten pengkodean bertenaga AI canggih yang dapat secara dramatis meningkatkan efisiensi pengembang. GitHub Copilot menghemat waktu bagi pengembang, memungkinkan mereka untuk berkonsentrasi pada pemecahan masalah dan inovasi tingkat yang lebih tinggi dengan menghapus tugas-tugas kasar dari piring mereka dan menyediakan penyelesaian kode yang relevan dan menghasilkan seluruh blok kode.
GitHub Copilot menawarkan opsi interaksi fleksibel yang disesuaikan dengan alur kerja Anda. Baik melalui penyelesaian kode, obrolan, atau perintah, Copilot bertemu Anda di mana pun Anda berada, meningkatkan pengalaman pengembangan dan produktivitas Anda. Memahami mode interaksi ini adalah kunci untuk membuka potensi penuh GitHub Copilot dan mengoptimalkan alur kerja pengkodean Anda.
Modul ini mencakup berbagai metode untuk berinteraksi dengan GitHub Copilot, memandu Anda tentang kapan, di mana, dan bagaimana menggunakan metode ini untuk mengomunikasikan tujuan Anda secara efektif ke Copilot dan memberikannya informasi yang diperlukan untuk menyelesaikan tugas Anda.
Dalam modul ini Anda akan belajar tentang:
- Cara memanfaatkan saran otomatis GitHub Copilot, panel beberapa saran, dan kemampuannya untuk beradaptasi dengan gaya pengkodean yang berbeda.
- Cara memberikan konteks ke GitHub Copilot melalui komentar sebaris, komentar blok, docstring, dan jenis komentar lainnya untuk meningkatkan akurasi pembuatan kode.
- Berinteraksi dengan GitHub Copilot melalui percakapan bahasa alami untuk menghasilkan kode yang kompleks, men-debug masalah, dan mendapatkan penjelasan kode secara real-time.
- Cara meningkatkan relevansi saran GitHub Copilot Chat dengan menggunakan referensi cakupan, perintah garis miring, dan agen
- Cara berinteraksi dengan GitHub Copilot di CLI untuk mendapatkan penjelasan perintah, saran, dan bahkan menjalankan perintah berdasarkan kebutuhan tertentu.
- Cara menyiapkan konfigurasi GitHub Copilot CLI, alias, dan mengelola pengaturan privasi, termasuk memilih keluar dari pengumpulan data penggunaan.
Penyelesaian kode dengan GitHub Copilot
Fitur penyelesaian kode GitHub Copilot hidup langsung di dalam IDE Anda, tempat Anda menulis dan meninjau kode Anda. GitHub Copilot terintegrasi secara mulus dengan editor seperti Visual Studio Code atau JetBrains, menawarkan fitur seperti sugesti otomatis, panel beberapa saran, dan dukungan untuk berbagai gaya pengkodean. Anda terutama berinteraksi dengan GitHub Copilot melalui alat IDE ini, dan memahami bagaimana dan di mana menggunakannya membantu Anda mengoptimalkan kemampuan pembuatan kodenya yang kuat.
Dalam unit ini, kami membahas:
- Bahasa yang didukung GitHub Copilot
- Saran otomatis
- Panel beberapa saran
- Dukungan untuk gaya pengkodean yang berbeda dalam saran
- Bagaimana GitHub Copilot menggabungkan komentar pengkodean untuk saran
Bahasa yang didukung GitHub Copilot
GitHub Copilot memberikan dukungan yang kuat untuk berbagai bahasa pemrograman dan kerangka kerja, dengan kemampuan yang kuat dalam:
- Ular sawah
- JavaScript
- Skrip Ketik
- Ruby
- Pergi
- C#
- C++
Meskipun bahasa-bahasa ini menerima dukungan yang luar biasa, GitHub Copilot juga dapat membantu dengan banyak bahasa dan kerangka kerja lainnya.
Saran otomatis
Copilot menawarkan saran kode saat Anda mengetik: terkadang menyelesaikan baris saat ini, terkadang menyarankan blok kode yang sama sekali baru. Anda dapat menerima semua, memisahkan, atau mengabaikan saran tersebut. Kemampuan untuk memberikan saran real-time dan sadar konteks ini menghemat waktu pengembangan yang berharga dengan mengurangi kebutuhan untuk mencari sintaks, memecahkan masalah logika, atau berulang kali menulis pola umum.
Panel beberapa saran
Saat Anda mengerjakan blok kode dan GitHub Copilot menawarkan saran, Anda akan melihat cuplikan kode berwarna abu-abu. Untuk menjelajahi opsi lainnya, arahkan kursor ke saran untuk mengungkapkan panel kontrol GitHub Copilot.
Klik tombol panah maju atau mundur di panel kontrol untuk melihat saran berikutnya atau sebelumnya. Anda juga dapat menggunakan pintasan keyboard:
- macOS: Option (⌥) atau Alt+] (berikutnya), Option (⌥) atau Alt+[ (sebelumnya)
- Windows atau Linux: Alt+] (berikutnya), Alt+[ (sebelumnya)
Meskipun GitHub Copilot luar biasa dalam menyarankan kode untuk Anda, ia juga menunjukkan kemampuannya untuk beradaptasi melalui cara-cara berikut:
- Implementasi Metode: Saat Anda mulai mengetik nama metode, Copilot dapat menyarankan seluruh implementasi, mengikuti gaya pengkodean yang Anda tetapkan.
- Konvensi Penamaan: Ini mengambil konvensi penamaan pilihan Anda untuk variabel, fungsi, dan kelas.
- Pemformatan: Copilot menyesuaikan dengan gaya lekukan, penempatan tanda kurung, dan preferensi pemformatan lainnya.
- Gaya Komentar: Ini dapat meniru gaya komentar Anda, apakah Anda lebih suka komentar sebaris, komentar blokir, atau string dokumen.
- Pola Desain: Saat proyek Anda secara konsisten menggunakan pola desain tertentu, Copilot menyarankan kode yang selaras dengan pola ini.
Menggunakan komentar pengkodean untuk saran
Aspek kunci dari kemampuan ini adalah bagaimana ia menggabungkan komentar pengkodean untuk meningkatkan sarannya. Bagian ini mengeksplorasi berbagai cara GitHub Copilot memanfaatkan komentar untuk meningkatkan kemampuan penyelesaian dan pembuatan kodenya.
Memahami konteks komentar
Saat diintegrasikan ke dalam basis kode yang ada, GitHub Copilot menggunakan berbagai aspek kode Anda untuk memberikan saran yang lebih relevan, termasuk komentar kode. Pengembang sering menggunakan komentar untuk mengklarifikasi maksud kode dan meningkatkan kolaborasi, dan Copilot, sebagai asisten pengkodean AI Anda, menggunakan komentar ini dengan cara yang hampir sama. Dengan memahami maksud di balik komentar, Copilot dapat memberikan saran kode yang lebih akurat dan sadar konteks melalui dua proses utama:
- Pemrosesan Bahasa Alami: Copilot menggunakan teknik pemrosesan bahasa alami (NLP) canggih untuk menafsirkan makna dan maksud di balik komentar dalam kode.
- Analisis Kontekstual: Ini menganalisis komentar dalam kaitannya dengan kode di sekitarnya, memahami relevansi dan tujuannya dalam konteks file atau proyek yang lebih luas.
Jenis komentar yang digunakan
Copilot dapat bekerja dengan berbagai jenis komentar untuk menginformasikan sarannya:
- Komentar sebaris: Penjelasan singkat di samping baris kode tertentu.
- Komentar blokir: Penjelasan yang lebih panjang yang mungkin menjelaskan fungsi atau kelas.
- Docstrings: String dokumentasi formal dalam bahasa seperti Python.
- Komentar TODO: Catatan tentang implementasi atau peningkatan di masa mendatang.
- Dokumentasi API: Komentar yang menjelaskan penggunaan dan parameter fungsi atau metode.
Pembuatan kode berbasis komentar
Copilot menggunakan komentar dalam beberapa cara untuk menghasilkan dan menyarankan kode:
- Implementasi fungsi: Saat fungsi dijelaskan dalam komentar, Copilot dapat menyarankan seluruh implementasi berdasarkan deskripsi tersebut.
- Penyelesaian kode: Copilot menggunakan komentar untuk memberikan penyelesaian kode yang lebih akurat, memahami maksud pengembang.
Dalam contoh ini, kita memiliki komentar yang menjelaskan fungsi untuk membalikkan string. Berdasarkan komentar ini, Copilot kemungkinan akan menyarankan implementasi menggunakan notasi irisan Python dengan langkah -1, yang secara efisien membalikkan string.
- Penamaan variabel: Komentar dapat memengaruhi saran Copilot untuk nama variabel, membuatnya lebih deskriptif dan sesuai konteks.
Di sini, kami memiliki komentar yang menjelaskan daftar buku favorit pengguna. Copilot kemungkinan akan menyarankan nama variabel deskriptif yang sesuai dengan konteksnya. Dalam hal ini, ia menyarankan "favorite_books" sebagai nama variabel, yang dengan jelas menggambarkan isi daftar.
- Pemilihan algoritma: Saat komentar menjelaskan algoritme atau pendekatan tertentu, Copilot dapat menyarankan kode yang selaras dengan metode tersebut.
Dalam contoh di atas, kami memberikan komentar yang menguraikan langkah-langkah algoritma pengurutan gelembung. Berdasarkan komentar ini, Copilot kemungkinan akan menyarankan implementasi yang mengikuti langkah-langkah yang dijelaskan.
Terapkan algoritma arry sort
1. Ulangi daftar sebanyak n-1 kali
2. untuk setiap iterasi:
a. Bandingkan elemen yang berdekatan
b. Tukar jika urutannya salah
3. Elemen terbesar yang tidak diurutkan akan "array" ke posisi yang benar
Obrolan GitHub Copilot
GitHub Copilot Chat adalah fitur lanjutan dari ekosistem GitHub Copilot, yang dirancang untuk menyediakan asisten AI percakapan interaktif kepada pengembang langsung di dalam lingkungan pengembangan mereka. Ini memungkinkan pengembang untuk melakukan percakapan bahasa alami tentang kode mereka, mengajukan pertanyaan, dan menerima tanggapan dan saran cerdas secara real-time. Dalam unit ini, kita akan membahas:
- Cara membuat kode menggunakan GitHub Copilot Chat.
- Penelusuran kesalahan menggunakan GitHub Copilot Chat.
- Cara mendapatkan penjelasan kode menggunakan GitHub Copilot Chat.
- Menggunakan perintah garis miring untuk melakukan tindakan dengan GitHub Copilot.
- Menggunakan agen GitHub Copilot kustom untuk meningkatkan petunjuk.
Untuk mengakses Copilot di IDE Anda, klik ikon obrolan di bilah navigasi kiri.
GitHub Copilot Chat sangat bermanfaat dalam skenario tertentu:
- Pembuatan kode yang kompleks Saat Anda perlu menerapkan algoritme yang kompleks, struktur data, atau menghasilkan kode boilerplate untuk pola desain tertentu, Copilot Chat dapat membantu merampingkan prosesnya. Ini dapat membantu dalam membuat ekspresi reguler yang rumit, membuat kueri SQL terperinci, atau mengembangkan struktur data lanjutan seperti pengurutan Gelembung di Python.
- Bantuan debugging Jika Anda mengalami error dalam kode, Copilot Chat dapat berguna dalam menganalisis pesan error dan menyarankan perbaikan potensial. Ini dapat membantu mengidentifikasi kesalahan logis dan memberikan penjelasan langkah demi langkah tentang bagian kode yang bermasalah. Salah satu cara untuk mencapainya adalah dengan menggunakan obrolan sebaris Copilot dengan menyorot potongan kode yang berisi kesalahan, klik kanan dan pilih Copilot, lalu obrolan sebaris.
Misalnya, Anda mungkin bertanya, "Saya mendapatkan metode ini. Bisakah Anda membantu saya men-debugnya?"NullReferenceException
- Penjelasan kode Copilot Chat juga dapat digunakan untuk lebih memahami cuplikan kode yang kompleks. Ini dapat memecah kode menjadi istilah yang lebih sederhana, menjelaskan tujuan dan fungsionalitas kode yang tidak dikenal, dan menawarkan wawasan tentang praktik terbaik dan potensi pengoptimalan. Misalnya, Anda dapat bertanya: - "Bisakah Anda menjelaskan bagaimana kode asinkron/menunggu ini bekerja di Python?"
Cara meningkatkan respons GitHub Copilot Chat
Anda dapat secara signifikan meningkatkan kualitas dan relevansi respons GitHub Copilot Chat dengan fitur utama tertentu. Mari selami mereka.
Referensi cakupan
Untuk meningkatkan akurasi dan relevansi respons yang disediakan oleh GitHub Copilot Chat, penting untuk membatasi pertanyaan Anda dengan benar menggunakan referensi. Inilah cara Anda dapat melakukannya:
- Referensi file: Anda dapat menentukan file tertentu dalam pertanyaan Anda dengan menambahkan a sebelum nama file.#file:
Misalnya, jika Anda bekerja dengan file bernama , Anda dapat menggunakan perintah #file untuk memilihnya dan mereferensikannya langsung dalam pertanyaan Anda sebagai . Ini memberi tahu Copilot Chat untuk fokus pada konten file tersebut saat membuat respons.controller.js#file:controller.js
- Referensi Lingkungan: Anda dapat mereferensikan seluruh solusi atau ruang kerja dengan menggunakan . Hal ini memungkinkan Obrolan Copilot untuk mempertimbangkan konteks yang lebih luas dari proyek dan konfigurasi yang saat ini terbuka di IDE Visual Studio Anda. Misalnya, bertanya "@workspace di mana fungsi hitung?" akan mendorong Copilot untuk mempertimbangkan seluruh solusi untuk menemukan informasi yang paling relevan.@workspace
Perintah garis miring
Perintah garis miring di GitHub Copilot Chat memungkinkan Anda menentukan maksud kueri Anda dengan cepat. Ini dapat secara signifikan meningkatkan kualitas respons yang Anda terima dengan membuat permintaan Anda lebih fokus. Berikut adalah beberapa perintah garis miring yang umum digunakan:
- /Doc: Menambahkan komentar ke kode yang ditentukan atau dipilih. Misalnya, Anda dapat mengetik diikuti dengan kode yang ingin Anda dokumentasikan, dan Copilot akan menghasilkan komentar yang sesuai./doc
- /menjelaskan: Memberikan penjelasan untuk kode yang dipilih. Ini sangat berguna ketika Anda perlu memahami apa yang dilakukan bagian kode tertentu. Misalnya, akan memberi Anda penjelasan rinci tentang file itu./explain the #file:controller.js
- /perbaiki: Mengusulkan perbaikan untuk masalah dalam kode yang dipilih. Jika Anda menghadapi masalah, Anda dapat menyorot bagian yang bermasalah dan menggunakannya untuk menerima saran untuk menyelesaikan masalah tersebut./fix
- /menghasilkan: Membantu dalam menghasilkan kode baru berdasarkan kebutuhan Anda. Misalnya, akan membuat fungsi untuk melakukan tugas./generate code to find the root of a number in client.js
- /Mengoptimalkan: Menganalisis dan menyarankan peningkatan pada waktu berjalan atau efisiensi kode yang dipilih. Misalnya, menghitung akan fokus pada peningkatan kinerja metode spesifik tersebut./optimize the method in controller.js
- /Tes: Secara otomatis membuat pengujian unit untuk kode yang dipilih. Anda cukup menyorot kode dan menggunakannya untuk membuat pengujian./tests using Mocha
Agen Copilot
Agen GitHub Copilot adalah alat kustom yang dapat Anda bangun dan integrasikan dengan GitHub Copilot Chat untuk menyediakan fungsionalitas tambahan yang disesuaikan dengan kebutuhan spesifik Anda. Selain perintah garis miring, Anda dapat menggunakan agen tertentu dalam Obrolan Copilot di IDE untuk menangani tugas yang berbeda:
- @workspace: Agen ini memungkinkan Anda untuk memperluas konteks pertanyaan apa pun yang Anda ajukan kepada Copilot ke seluruh proyek. Ini sangat berguna untuk mendapatkan kode yang dihasilkan yang akan segera sesuai dengan proyek Anda, menggunakan informasi dari seluruh proyek Anda. Ini juga dapat digunakan untuk mendapatkan jawaban tentang seluruh basis kode Anda.
Anda juga dapat menggunakan tindakan cerdas "@workspace /baru" yang memungkinkan Anda menghasilkan proyek yang benar-benar baru dari awal berdasarkan kebutuhan Anda. Misalnya, "@workspace /new buat halaman file html baru dan javascript untuk perhitungan lanjutan"
Klik "Buat Ruang Kerja" untuk melanjutkan pembuatan kode dan begitu saja Anda memiliki proyek baru dengan kode yang Anda minta.
- @terminal: Agen ini berguna untuk pertanyaan terkait baris perintah. Misalnya, Anda dapat memintanya untuk menemukan file terbesar di direktori atau menjelaskan perintah terakhir yang Anda jalankan.
- @vscode: Gunakan agen ini untuk mengajukan pertanyaan yang terkait dengan Visual Studio Code, seperti cara men-debug atau mengubah pengaturan dalam IDE.
Dengan memanfaatkan alat dan teknik ini secara efektif, Anda dapat secara signifikan meningkatkan kualitas respons yang Anda terima dari GitHub Copilot Chat, membuat pengalaman pengkodean Anda lebih efisien dan produktif.
Berbagi umpan balik di GitHub Copilot Chat
Sebagian besar IDE dengan integrasi Obrolan Copilot memiliki mekanisme umpan balik bawaan. Misalnya, di VS Code, Anda dapat menemukan opsi umpan balik di awal saran GitHub Copilot Chat. Arahkan kursor ke atas saran, dan Anda akan melihat tombol jempol ke atas dan jempol ke bawah.
Klik jempol untuk menilai saran sebagai bermanfaat.
Klik jempol ke bawah untuk menilai yang tidak membantu.
Ringkasan
Selamat telah menyelesaikan modul ini! Anda telah memperoleh wawasan berharga tentang berbagai cara berinteraksi dengan GitHub Copilot, meningkatkan kemampuan Anda untuk memanfaatkan alat pengkodean berbantuan AI yang kuat ini secara efektif. Dengan selesainya modul ini, Anda sekarang memiliki pengetahuan untuk:
- Pelajari cara memanfaatkan saran otomatis GitHub Copilot dan panel beberapa saran untuk penyelesaian kode yang efisien.
- Pahami bagaimana GitHub Copilot beradaptasi dengan gaya pengkodean yang berbeda dan menggabungkan komentar pengkodean untuk saran yang lebih baik.
- Gunakan GitHub Copilot Chat secara efektif untuk pembuatan kode yang kompleks, bantuan debugging, dan penjelasan kode.
- Tingkatkan respons Obrolan Copilot menggunakan referensi cakupan, perintah garis miring, dan agen Copilot.
- Berinteraksi dengan GitHub Copilot melalui antarmuka baris perintah, termasuk mendapatkan penjelasan dan saran perintah.
- Konfigurasikan pengaturan CLI GitHub Copilot, termasuk pengaturan alias dan preferensi penanganan data.