Pengantar Penggunaan Copilot
Categories:
- Kemampuan Copilot Labs
- Apa itu Copilot
- Memahami
- Saran
- Debug
- Pemeriksaan
- Refactoring
- Dokumentasi
- Memperluas Batas Copilot dengan Custom
- Mendapatkan Saran yang Lebih Profesional
- Saran Teks Biasa
- Pengaturan
- Keamanan Data
- Pertanyaan Umum
GitHub Copilot adalah alat pelengkapan kode berbasis pembelajaran mesin yang membantu Anda menulis kode lebih cepat dan meningkatkan efisiensi pengkodean.
Kemampuan Copilot Labs
| Kemampuan | Deskripsi | Catatan | Contoh |
|---|---|---|---|
Explain | Menghasilkan penjelasan untuk cuplikan kode | Ada opsi lanjutan untuk menyesuaikan petunjuk, menjelaskan kebutuhan Anda dengan lebih jelas | ![]() |
Show example code | Menghasilkan contoh kode untuk cuplikan kode | Ada opsi lanjutan untuk menyesuaikan | ![]() |
Language Translation | Menghasilkan terjemahan untuk cuplikan kode | Terjemahan ini didasarkan pada bahasa pemrograman, misalnya C++ -> Python | ![]() |
Readable | Meningkatkan keterbacaan kode | Bukan sekadar format, meningkatkan keterbacaan yang sebenarnya | ![]() |
Add Types | Inferensi tipe | Mengubah variabel tipe otomatis menjadi tipe eksplisit | ![]() |
Fix bug | Memperbaiki bug | Memperbaiki bug umum | ![]() |
Debug | Membuat kode lebih mudah di-debug | Menambahkan pencetakan log atau variabel sementara untuk breakpoint | ![]() |
Clean | Membersihkan kode | Membersihkan bagian kode yang tidak perlu, komentar/pencetakan/kode yang dibuang, dll. | ![]() |
List steps | Mendaftar langkah-langkah kode | Beberapa kode eksekusi sangat bergantung pada urutan, perlu memberi komentar secara eksplisit tentang urutan eksekusi | ![]() |
Make robust | Membuat kode lebih tangguh | Mempertimbangkan batas/multithreading/reentrant, dll. | ![]() |
Chunk | Membagi kode menjadi bagian-bagian | Umumnya diharapkan baris efektif fungsi <=50, bersarang <=4, fan-out <=7, kompleksitas lingkaran <=20 | ![]() |
Document | Menghasilkan dokumentasi kode | Melalui penulisan komentar untuk menghasilkan kode, juga dapat menghasilkan komentar dan dokumentasi melalui kode | ![]() |
Custom | Operasi kustom | Memberi tahu copilot bagaimana mengoperasikan kode Anda | ![]() |
Apa itu Copilot
Introduksi resmi sangat sederhana: Programmer pasangan Anda — programmer pasangan Anda
Pemrograman berpasangan adalah metode pengembangan perangkat lunak agile, dua programmer bekerja sama di depan satu komputer: satu mengetik kode, satu lagi memeriksa setiap baris kode. Peran sering kali dipertukarkan, memastikan logika ketat dan pencegahan masalah.
Copilot berpartisipasi dalam pekerjaan pengkodean melalui cara berikut, mewujudkan peran programmer pasangan.
Memahami
Copilot adalah model bahasa besar, ia tidak dapat memahami kode kita, dan kita juga tidak dapat memahami model Copilot, di sini memahami adalah saling memahami antara seorang programmer dan sekelompok programmer. Semua orang menulis kode berdasarkan beberapa konsensus.

Copilot mengumpulkan informasi untuk memahami konteks, informasi meliputi:
- Kode yang sedang diedit
- File terkait
- File yang sudah dibuka di IDE
- Alamat library
- Jalur file
Copilot tidak hanya memahami melalui satu baris komentar, ia mengumpulkan cukup banyak informasi kontekstual untuk memahami langkah selanjutnya yang akan dilakukan.
Saran
| Saran keseluruhan | Saran inline |
|---|---|
![]() | ![]() |
Seperti yang diketahui umum, cara paling umum untuk mendapatkan saran adalah melalui komentar yang menjelaskan kebutuhan daripada langsung menulis kode, sehingga memandu GitHub Copilot untuk memberikan saran keseluruhan. Namun, ini mungkin menyebabkan masalah redundansi komentar, komentar bukan semakin banyak semakin baik, komentar dapat membantu pemahaman, tetapi bukan bagian utama dari kode. Kode yang baik jelas tanpa komentar, mengandalkan penamaan yang sesuai, desain yang masuk akal, dan logika yang jelas. Saat menggunakan saran inline, selama memberikan nama variabel/fungsi/kelas yang sesuai, Copilot selalu dapat memberikan saran yang sesuai.
Selain input eksternal yang sesuai, Copilot juga mendukung memberikan saran berdasarkan cuplikan kode yang sudah ada, Copilot Labs->Show example code dapat membantu menghasilkan contoh kode untuk fungsi tertentu, cukup pilih kode dan klik Show example code.
Ctrl+Enter, selalu bisa memberi banyak inspirasi, saya membuat tiga file, file main.cpp kosong, file calculator.h kosong, di calculator.cpp menerapkan “tambah” dan “kurang”, Copilot memberikan saran berikut:
- Tambahkan implementasi “perkalian” dan “pembagian”
- Panggil implementasi “tambah kurang kali bagi” di main
- Metode pembuatan dan penggunaan library statis calculator
- Hasil eksekusi fungsi main, dan hasilnya benar
- Isi saran header calculator.h
- Perintah kompilasi g++
- Kasus uji gtest
- Isi CMakeLists.txt, termasuk pengujian
- objdump -d main > main.s melihat kode assembly, dan menampilkan kode assembly
- ar melihat isi library statis, dan menampilkan isi library statis
Dengan konfigurasi default, setiap kali menekan Ctrl+Enter konten yang ditampilkan sangat berbeda, tidak dapat melihat kembali konten yang dihasilkan sebelumnya, jika perlu konten yang dihasilkan lebih stabil, dapat mengatur nilai temperature [0, 1]. Semakin kecil nilainya, semakin stabil konten yang dihasilkan; semakin besar nilainya, semakin tidak dapat diprediksi konten yang dihasilkan.
Saran di atas jauh melebihi konten saran umum yang digunakan sehari-hari, mungkin karena proyek memang terlalu sederhana, begitu file kompilasi dan header ditulis lengkap, saran tidak akan sebanyak itu, tetapi tetap sering memiliki efek inspiratif yang baik.
Shortcut untuk menggunakan saran Copilot
| Tindakan | Shortcut | Nama Perintah |
|---|---|---|
| Terima saran inline | Tab | editor.action.inlineSuggest.commit |
| Abaikan saran | Esc | editor.action.inlineSuggest.hide |
| Tampilkan saran inline berikutnya | Alt+] | editor.action.inlineSuggest.showNext |
| Tampilkan saran inline sebelumnya | Alt+[ | editor.action.inlineSuggest.showPrevious |
| Picu saran inline | Alt+\ | editor.action.inlineSuggest.trigger |
| Tampilkan lebih banyak saran di panel terpisah | Ctrl+Enter | github.copilot.generate |
Debug
Umumnya ada dua metode debug, pencetakan dan breakpoint.
- Copilot dapat membantu menghasilkan kode pencetakan secara otomatis, memilih format pencetakan atau log berdasarkan konteks.
- Copilot dapat membantu memodifikasi struktur kode yang ada, memberikan posisi breakpoint yang mudah. Beberapa gaya kode bersarang sulit untuk diberi breakpoint, Copilot dapat langsung memodifikasinya.
Copilot Labs telah menyediakan fungsi berikut:
- Debug, menghasilkan kode debug, seperti pencetakan, breakpoint, dan kode debug lainnya.
Pemeriksaan
Pemeriksaan bersifat timbal balik, kita dan copilot perlu sering saling memeriksa, jangan mudah percaya pada kode yang dihasilkan dengan cepat.
Copilot Labs telah menyediakan fungsi berikut:
- Fix bug, langsung memperbaiki bug yang ditemukannya, perlu menyimpan kode Anda terlebih dahulu, periksa modifikasi Copilot dengan hati-hati.
- Make robust, membuat kode lebih tangguh, Copilot akan menemukan situasi yang belum ditangani, menghasilkan kode perbaikan, kita harus terinspirasi olehnya, berpikir lebih matang.
Refactoring
Copilot Labs telah menyediakan fungsi berikut:
- Readable, meningkatkan keterbacaan, benar-benar meningkatkan keterbacaan, bukan sekadar format, tetapi harus berhati-hati memeriksa modifikasi Copilot.
- Clean, membuat kode lebih ringkas, menghilangkan kode yang tidak perlu.
- Chunk, membuat kode lebih mudah dipahami, membagi kode menjadi bagian-bagian, membagi fungsi besar menjadi beberapa fungsi kecil.
Dokumentasi
Copilot Labs telah menyediakan fungsi berikut:
- Document, menghasilkan dokumentasi, seperti komentar fungsi, dan dokumentasi lainnya.
Memperluas Batas Copilot dengan Custom
Custom tidak mencolok, tetapi membuat Copilot memiliki kemungkinan tak terbatas. Kita dapat memahaminya sebagai bahasa pemrograman baru, bahasa pemrograman ini adalah bahasa Inggris atau bahasa Mandarin.
Anda dapat menggunakan Custom untuk memasukkan
Hapus kode komentar
Tambahkan kemampuan perkalian dan pembagian
Tulis ulang dalam go
Tambahkan perhitungan fungsi trigonometri
Tambahkan perhitungan diferensial, di sini bahasa Mandarin tidak berfungsi, gunakansupport calculate differential, dalam mode suhu rendah, tidak ada jawaban yang dapat diandalkan, dalam mode suhu tinggi, ada beberapa jawaban yang aneh.
Dalam pekerjaan sehari-hari, Anda dapat mengajukan kebutuhan Anda kepada Copilot kapan saja, melalui kemampuan Custom, Anda dapat membuat Copilot membantu menyelesaikan banyak operasi yang ingin Anda lakukan.
Beberapa contoh:
| prompt | Deskripsi |
|---|---|
generate the cmake file | Menghasilkan file cmake |
generate 10 test cases for tan() | Menghasilkan 10 kasus uji |
format like google style | Format kode |
pertimbangkan kasus batas | Pertimbangkan kasus batas |
konfirmasi pelepasan memori | Konfirmasi pelepasan memori |
Penggunaan Custom penuh dengan imajinasi, tetapi terkadang juga tidak terlalu dapat diandalkan, disarankan untuk menyimpan kode Anda terlebih dahulu sebelum menggunakan, kemudian memeriksa modifikasi yang dilakukannya dengan hati-hati.
Mendapatkan Saran yang Lebih Profesional
Semakin jelas petunjuk yang Anda berikan kepada Copilot, semakin akurat saran yang diberikannya, petunjuk profesional dapat memperoleh saran yang lebih profesional. Banyak kode yang tidak tepat tidak hanya tidak memengaruhi kompilasi kode, tetapi juga tidak memengaruhi operasi bisnis, tetapi memengaruhi keterbacaan, keterpeliharaan, ekspansi, dan penggunaan kembali, karakteristik ini juga sangat penting, jika ingin mendapatkan saran yang lebih profesional, kita sebaiknya memahami beberapa nama Inggris dari praktik terbaik.
- Pertama adalah menggunakan bahasa Inggris yang dapat dipahami, dapat belajar bahasa Inggris dengan melihat proyek open source.
- Konvensi penamaan, penamaan adalah definisi paling dasar dari konsep, penamaan yang baik dapat menghindari ambiguitas, menghindari pembaca tenggelam dalam detail bisnis, sehingga meningkatkan keterbacaan kode, juga merupakan praktik terbaik.
- Biasanya hanya perlu nama variabel yang masuk akal, Copilot dapat memberikan saran keseluruhan yang dapat dipercaya.
- Daftar pola desain, pola desain adalah templat untuk memecahkan masalah, secara rasional mengorbankan prinsip desain SOLID untuk masalah yang berbeda, menghemat waktu desain solusi, meningkatkan kualitas kode.
- Hanya perlu menulis nama pola yang dibutuhkan, Copilot dapat menghasilkan cuplikan kode lengkap.
- Daftar algoritma, algoritma yang baik adalah kristalisasi kebijaksanaan tingkat tinggi untuk memecahkan kelas masalah, pengembang harus secara mandiri mengabstraksi masalah spesifik, mengabstraksi data dan kemudian memasukkannya ke algoritma.
- Kode algoritma biasanya bersifat umum, cukup menulis nama algoritma, Copilot dapat menghasilkan cuplikan kode algoritma, dan Copilot selalu dapat dengan cerdik menerapkan struktur data konteks ke algoritma.
Saran Teks Biasa
| en | zh |
|---|---|
| GitHub Copilot menggunakan OpenAI Codex untuk menyarankan kode dan seluruh fungsi secara real-time, langsung dari editor Anda. | GitHub Copilot menggunakan OpenAI Codex untuk menyarankan kode dan seluruh fungsi secara real-time, langsung dari editor Anda. |
| Dilatih pada miliaran baris kode, GitHub Copilot mengubah petunjuk bahasa alami menjadi saran pengkodean di seluruh puluhan bahasa. | Dilatih pada miliaran baris kode, GitHub Copilot mengubah petunjuk bahasa alami menjadi saran pengkodean di seluruh puluhan bahasa. |
| Jangan terbang solo. Pengembang di seluruh dunia menggunakan GitHub Copilot untuk mengkode lebih cepat, fokus pada logika bisnis daripada boilerplate, dan melakukan hal yang paling penting: membangun perangkat lunak hebat. | Jangan terbang solo. Pengembang di seluruh dunia menggunakan GitHub Copilot untuk mengkode lebih cepat, fokus pada logika bisnis daripada boilerplate, dan melakukan hal yang paling penting: membangun perangkat lunak hebat. |
| Fokus pada memecahkan masalah yang lebih besar. Habiskan lebih sedikit waktu menciptakan boilerplate dan pola kode berulang, dan lebih banyak waktu pada hal yang penting: membangun perangkat lunak hebat. Tulis komentar yang menggambarkan logika yang Anda inginkan dan GitHub Copilot akan segera menyarankan kode untuk mengimplementasikan solusi tersebut. | Fokus pada memecahkan masalah yang lebih besar. Habiskan lebih sedikit waktu menciptakan boilerplate dan pola kode berulang, dan lebih banyak waktu pada hal yang penting: membangun perangkat lunak hebat. Tulis komentar yang menggambarkan logika yang Anda inginkan dan GitHub Copilot akan segera menyarankan kode untuk mengimplementasikan solusi tersebut. |
| Dapatkan saran berbasis AI, hanya untuk Anda. GitHub Copilot membagikan rekomendasi berdasarkan konteks dan konvensi gaya proyek. Dengan cepat berpindah dari baris kode, saran fungsi lengkap, dan putuskan mana yang akan diterima, ditolak, atau diedit. | Dapatkan saran berbasis AI, hanya untuk Anda. GitHub Copilot membagikan rekomendasi berdasarkan konteks dan konvensi gaya proyek. Dengan cepat berpindah dari baris kode, saran fungsi lengkap, dan putuskan mana yang akan diterima, ditolak, atau diedit. |
| Kode dengan percaya diri di wilayah yang tidak dikenal. Apakah Anda bekerja dalam bahasa atau framework baru, atau hanya belajar mengkode, GitHub Copilot dapat membantu Anda menemukan jalan. Tangani bug, atau pelajari cara menggunakan framework baru tanpa menghabiskan sebagian besar waktu Anda menjelajahi dokumen atau mencari di web. | Kode dengan percaya diri di wilayah yang tidak dikenal. Apakah Anda bekerja dalam bahasa atau framework baru, atau hanya belajar mengkode, GitHub Copilot dapat membantu Anda menemukan jalan. Tangani bug, atau pelajari cara menggunakan framework baru tanpa menghabiskan sebagian besar waktu Anda menjelajahi dokumen atau mencari di web. |
Terjemahan ini semua dihasilkan oleh Copilot, tidak dapat dipastikan apakah saran ini didasarkan pada generasi model atau dihasilkan oleh perilaku terjemahan. Faktanya, Anda menulis konten bahasa Inggris apa pun di kolom en tabel, dapat diterjemahkan (dihasilkan) oleh Copilot ke konten di kolom zh.

Pengaturan
Pengaturan klien
| Pengaturan | Deskripsi | Catatan |
|---|---|---|
| temperature | Suhu sampling | 0.0 - 1.0, 0.0 menghasilkan cuplikan kode paling umum, 1.0 menghasilkan cuplikan kode paling tidak umum dan lebih acak |
| length | Panjang maksimum saran kode yang dihasilkan | Default 500 |
| inlineSuggestCount | Jumlah saran inline yang dihasilkan | Default 3 |
| listCount | Jumlah saran yang dihasilkan | Default 10 |
| top_p | Prioritaskan menampilkan saran dengan probabilitas N teratas | Secara default menampilkan semua saran yang mungkin |
Pengaturan akun pribadi memiliki dua pengaturan, satu terkait hak cipta, satu terkait privasi.
- Apakah menggunakan kode sumber terbuka untuk memberikan saran, terutama untuk menghindari masalah hak cipta dalam cuplikan kode yang dihasilkan oleh Copilot, menghindari batasan lisensi sumber terbuka.
- Apakah mengizinkan menggunakan cuplikan kode pribadi untuk meningkatkan produk, menghindari risiko kebocoran privasi.
Keamanan Data
Pengumpulan informasi Copilot
- Versi komersial
- Informasi penggunaan fungsi, mungkin berisi informasi pribadi
- Mengumpulkan cuplikan kode, segera membuang setelah memberikan saran, tidak menyimpan cuplikan kode apa pun
- Berbagi data, GitHub, Microsoft, OpenAI
- Versi pribadi
- Informasi penggunaan fungsi, mungkin berisi informasi pribadi
- Mengumpulkan cuplikan kode, berdasarkan pengaturan telemetry pribadi, menyimpan atau membuang setelah memberikan saran
- Cuplikan kode termasuk, kode yang sedang diedit, file terkait, file yang sudah dibuka di IDE, alamat library, jalur file
- Berbagi data, GitHub, Microsoft, OpenAI
- Perlindungan data kode, 1. Enkripsi. 2. Tim Copilot terkait GitHub/OpenAI sebagian karyawan dapat melihat. 3. Akses memerlukan kontrol akses berbasis peran dan verifikasi multifaktor
- Menghindari cuplikan kode digunakan (disimpan atau dilatih), 1. Pengaturan 2. Hubungi Tim Copilot
- Apakah kode pribadi akan digunakan? Tidak.
- Apakah akan menghasilkan informasi pribadi (nama, ulang tahun, dll.)? Jarang terjadi, masih dalam proses perbaikan.
- Pernyataan privasi terperinci
Pertanyaan Umum
- Data pelatihan Copilot, berasal dari repositori publik Github.
- Apakah kode yang ditulis Copilot sempurna? Tidak tentu.
- Dapatkah menulis kode untuk platform baru? Kemampuan terbatas saat ini.
- Bagaimana cara menggunakan Copilot dengan lebih baik? Memecah kode menjadi fungsi kecil, menggunakan bahasa alami untuk menggambarkan fungsi dan input/output fungsi, menggunakan nama variabel dan fungsi yang memiliki makna spesifik.
- Apakah kode yang dihasilkan oleh Copilot akan memiliki bug? Tentu tidak dapat dihindari.
- Dapatkah kode yang dihasilkan oleh Copilot digunakan secara langsung? Tidak tentu, terkadang perlu dimodifikasi.
- Dapatkah kode yang dihasilkan oleh Copilot digunakan untuk proyek komersial? Bisa.
- Apakah kode yang dihasilkan oleh Copilot milik kekayaan intelektual Copilot? Bukan.
- Apakah Copilot menyalin kode dari dataset pelatihan? Copilot tidak menyalin kode, sangat kecil kemungkinannya ada lebih dari 150 baris kode yang dapat dicocokkan dengan dataset pelatihan, dua situasi berikut ini akan muncul
- Ketika informasi konteks sangat sedikit
- Adalah solusi umum untuk masalah umum
- Bagaimana menghindari duplikasi dengan kode publik, atur filter

- Bagaimana cara menggunakan kode yang dihasilkan oleh Copilot dengan benar? 1. Uji/periksa kode yang dihasilkan secara mandiri; 2. Jangan kompilasi atau jalankan kode yang dihasilkan sebelum pemeriksaan.
- Apakah Copilot memiliki performa yang sama di setiap bahasa alami? Performa terbaik adalah bahasa Inggris.
- Apakah Copilot akan menghasilkan konten yang menyinggung? Sudah ada filter, tetapi tidak menutup kemungkinan munculnya.














