Copilot kullanımına giriş
Categories:
- Copilot Labs yetenekleri
- Copilot nedir
- Anlamak
- Öneriler
- Hata ayıklama
- Gözden geçirme
- Yeniden düzenleme
- Belgeleme
- Custom kullanarak Copilot sınırlarını genişletme
- Daha profesyonel öneriler almak
- Sade metin önerileri
- Ayarlar
- Veri güvenliği
- Sıkça sorulan sorular
GitHub Copilot, makine öğrenimine dayalı bir kod tamamlama aracıdır ve kodunuzu daha hızlı yazmanıza ve kodlama verimliliğinizi artırmaya yardımcı olur.
Copilot Labs yetenekleri
| Yetenek | Açıklama | Not | örnek |
|---|---|---|---|
Explain |
Kod parçası açıklaması üret | Gelişmiş seçeneklerle talimatları özelleştir, ihtiyacınızı daha net belirtin | ![]() |
Show example code |
Kod parçası örneği üret | Gelişmiş seçenekler mevcuttur | ![]() |
Language Translation |
Kod parçası çevirisi üret | Bu çeviri programlama dillerine dayalıdır, örneğin C++ -> Python | ![]() |
Readable |
Kodun okunabilirliğini artır | Basit biçimlendirme değil, gerçek okunabilirlik artışı | ![]() |
Add Types |
Tip çıkarımı | Otomatik tip değişkenleri belirli tiplere dönüştürülür | ![]() |
Fix bug |
Hataları düzelt | Bazı yaygın hataları düzeltir | ![]() |
Debug |
Kodu hata ayıklamasını kolaylaştır | Hata ayıklama için log çıktısı veya kesme noktası ekler | ![]() |
Clean |
Kodu temizle | Kodun gereksiz kısımlarını kaldırır, yorumlar/baskı/terk edilmiş kod vb. | ![]() |
List steps |
Kodun adımlarını listele | Bazı kodların yürütülmesi sıraya bağlıdır, yürütme sırasını belirtmek için yorum eklenir | ![]() |
Make robust |
Kodu daha sağlam hale getir | Sınır/hadde/tekrar girme vb. durumları göz önünde bulundurur | ![]() |
Chunk |
Kodu parçalara ayır | Genellikle fonksiyon etkili satır sayısı<=50, iç içe<=4, çıkış<=7, döngü karmaşıklığı<=20 | ![]() |
Document |
Kodun belgesini üret | Yorumlarla belge üretir, ayrıca koddan yorum ve belge üretir | ![]() |
Custom |
Özel işlemler | Copilot’a kodunu nasıl işleyeceğini söyle | ![]() |
Copilot nedir
Web sitesi tanımı basit ve net: Yapay zeka eş programcın —— senin eş programcın
Eş programlama: Agile yazılım geliştirme yöntemidir, iki programcı aynı bilgisayarda işbirliği yapar: biri kodu girer, diğeri her satırı inceler. Roller sık sık değişir, mantıksal kesinliği ve sorun önleme sağlar.
Copilot, kodlama işine aşağıdaki yollarla katılarak eş programcı rolünü üstlenir.
Anlamak
Copilot büyük bir dil modelidir, kodumuzu anlayamaz, biz de Copilot’un modelini anlayamayız, burada anlamak bir programcı ile bir grup programcı arasındaki karşılıklı anlayışı ifade eder. Hepimiz bazı ortak anlayışlarla birlikte kod yazarız.

Copilot, bağlamı anlamak için bilgi toplar, bilgiler şunları içerir:
- Düzenlenmekte olan kod
- İlgili dosyalar
- IDE’de açılan dosyalar
- Kütüphane adresi
- Dosya yolu
Copilot sadece bir yorum satırıyla anlamaya çalışmaz, bir sonraki adımın ne olacağına dair yeterli bağlam bilgisini toplar.
Öneriler
| Tüm blok önerileri | inline öneriler |
|---|---|
![]() |
![]() |
En yaygın öneri alım yönteminin, doğrudan kod yazmak yerine, bir açıklama yorumuyla GitHub Copilot’un tüm blok önerilerini yönlendirmek olduğu bilinir. Ancak bu yorum fazlalığına yol açabilir, yorum ne kadar çoksa o kadar iyi değildir, yorum kodun ana kısmı değildir. İyi kod yorum olmadan da anlaşılır, uygun adlandırma, mantıklı tasarım ve net mantık sayesindedir. Inline öneri kullanırken, uygun değişken adı/fonksiyon adı/sınıf adı verildiğinde Copilot her zaman uygun önerilerde bulunabilir.
Uygun dış girdilerin yanı sıra, Copilot mevcut kod parçasına dayalı öneriler de destekler, Copilot Labs->Show example code belirli bir fonksiyonun örnek kodunu oluşturmanıza yardımcı olur, kodu seçip Show example codea tıklamanız yeterlidir.
Ctrl+Enter, her zaman çok fazla ilham verir, üç dosya oluşturdum, boş bir main.cpp, boş bir calculator.h, calculator.cpp’de “toplama” ve “çıkarma” uyguladım, Copilot aşağıdaki önerileri verdi:
- “Çarpma” ve “bölme” uygulamaları ekle
- “Toplama, çıkarma, çarpma, bölme"yı main’de çağır
- calculator statik kitaplığının oluşturulması ve kullanılması yöntemleri
- main fonksiyonunun çalışma sonucu ve doğru sonuç
- calculator.h başlık dosyasının önerilen içeriği
- g++ derleme komutu
- gtest testi
- CMakeLists.txt içeriği ve testleri içerir
- objdump -d main > main.s montaj kodunu gösterir ve montaj kodunu gösterir
- ar statik kitaplığın içeriğini gösterir ve statik kitaplığın içeriğini gösterir
Varsayılan yapılandırmada, her Ctrl+Enter tuşuna basıldığında gösterilen içerik büyük ölçüde farklıdır, önceki oluşturulan içeriği geri izleyemezsiniz, daha istikrarlı içerik üretmek istiyorsanız temperature değerini [0, 1] olarak ayarlayabilirsiniz. Değer ne kadar düşükse, oluşturulan içerik o kadar istikrarlı olur; değer ne kadar yüksekse, oluşturulan içerik o kadar belirsiz olur.
Yukarıdaki öneriler, günlük kullanımdaki genel öneri içeriklerinin çok üzerindedir, muhtemelen proje gerçekten çok basit olduğundan dolayıdır, derleme dosyası, başlık dosyası tamamlandığında öneri o kadar çok olmaz, yine de sık sık iyi bir ilham kaynağı olur.
Copilot önerilerini kullanmak için kısayollar
| Eylem | Kısayol | Komut adı |
|---|---|---|
| inline öneriyi kabul et | Tab |
editor.action.inlineSuggest.commit |
| öneriyi reddet | Esc |
editor.action.inlineSuggest.hide |
| sonraki inline öneriyi göster | Alt+] |
editor.action.inlineSuggest.showNext |
| önceki inline öneriyi göster | Alt+[ |
editor.action.inlineSuggest.showPrevious |
| inline öneriyi tetikle | Alt+\ |
editor.action.inlineSuggest.trigger |
| ayrı panelde daha fazla öneri göster | Ctrl+Enter |
github.copilot.generate |
Hata ayıklama
Genellikle iki hata ayıklama yöntemi vardır, yazdırma ve kesme noktası.
- Copilot, bağlama göre uygun yazdırma veya loglamayı seçerek otomatik olarak yazdırma kodu oluşturmanıza yardımcı olabilir.
- Copilot mevcut kod yapısını değiştirmenize ve rahat bir kesme noktası konumu sağlamaya yardımcı olabilir. Bazı iç içe kod stilleri kesme noktası koymak için zordur, Copilot bunları doğrudan değiştirebilir.
Copilot Labs önceden aşağıdaki işlevleri ayarlar:
- Debug, hata ayıklama kodu üretir, örneğin yazdırma, kesme noktası ve diğer hata ayıklama kodları.
Gözden geçirme
Gözden geçirme karşılıklıdır, biz ve copilot sık sık birbirimizi gözden geçirmeliyiz, hızlı üretilen koda güvenmemeliyiz.
Copilot Labs önceden aşağıdaki işlevleri ayarlar:
- Fix bug, bulduğu hatayı doğrudan düzeltir, önce kodunuzu iyi bir şekilde kaydetmeli ve Copilot’un değişikliklerini dikkatlice gözden geçirmelisiniz.
- Make robust, kodu daha sağlam hale getirir, Copilot ele alınmamış durumları keşfeder ve geliştirilmiş kod üretir, bunlardan ilham almalı ve daha titiz olmalıyız.
Yeniden düzenleme
Copilot Labs önceden aşağıdaki işlevleri ayarlar:
- Readable, okunabilirliği artırır, sadece biçimlendirmek değil, gerçek okunabilirlik artışı, ancak Copilot’un değişikliklerini dikkatle incelemeye dikkat etmelisiniz.
- Clean, kodu daha temiz hale getirir, gereksiz kodları kaldırır.
- Chunk, kodu daha anlaşılır hale getirir, kodu parçalara ayırır, büyük bir fonksiyonu birden fazla küçük fonksiyona böler.
Belgeleme
Copilot Labs önceden aşağıdaki işlevleri ayarlar:
- Document, belge üretir, örneğin fonksiyon yorumları ve diğer belgeler.
Custom kullanarak Copilot sınırlarını genişletme
Custom göze çarpmıyor, ancak Copilot’a sonsuz olasılık sağlar. Yeni bir programlama dili olarak anlayabiliriz, bu programlama dili İngilizce veya Çince’dir.
Custom ile şunları girebilirsiniz
-
Yorum kodunu kaldır

-
Çarpma ve bölme yeteneği ekle

-
Go olarak yeniden yaz

-
Üçgen fonksiyon hesaplaması ekle

-
Diferansiyel hesaplama ekle, burada Çince pek işe yaramaz,support calculate differentialkullanın, düşük sıcaklık modunda güvenilir bir cevap yoktur, yüksek sıcaklık modunda birkaç saçma cevap vardır.
Günlük işlerde, istediğiniz zaman Copilot’a ihtiyaçlarınızı sunabilir, Custom yeteneği sayesinde Copilot’un birçok operasyonu gerçekleştirmesine yardımcı olabilir.
Bazı örnekler:
| prompts | açıklama |
|---|---|
generate the cmake file |
cmake dosyası üret |
generate 10 test cases for tan() |
10 test durumu üret |
format like google style |
kodu biçimlendir |
consider edge cases |
sınır durumları göz önünde bulundur |
confirm memory release |
bellek serbest bırakmasını onayla |
Custom kullanımı hayal gücüne tamamen bırakılmıştır, ancak bazen güvenilir değildir, öneriyi kullanmadan önce kodunuzu iyi bir şekilde kaydetmeniz ve ardından yaptığı değişiklikleri iyi bir şekilde incelemeniz önerilir.
Daha profesyonel öneriler almak
Copilot’a verilen ipucu ne kadar netse, verdiği öneri o kadar doğrudur, profesyonel ipuçları daha profesyonel öneriler elde eder. Uygun olmayan kodlar, kod derlemeyi etkilemez ve iş sürecini etkilemez, ancak okunabilirliği, bakım kolaylığını, genişletilebilirliği, yeniden kullanılabilirliği etkiler, bu özellikler de çok önemlidir, daha profesyonel öneriler elde etmek istiyorsanız, en azından bazı en iyi uygulamaların İngilizce adlarını öğrenmelisiniz.
- Öncelikle anlaşılabilir İngilizce kullanmak, açık kaynak projeleri izleyerek İngilizce öğrenilebilir.
- Adlandırma kuralları, adlandırma kavramların en temel tanımıdır, iyi adlandırma belirsizliği önler, okuyucuyu iş ayrıntılarına sokmaktan kaçınır ve böylece kodun okunabilirliğini artırır, aynı zamanda en iyi bir uygulamadır.
- Genellikle sadece mantıklı bir değişken adı gerekir, Copilot güvenilir bir bütün öneri verir.
- Tasarım desenleri listesi, tasarım desenleri farklı sorunları çözmek için bir şablondur, farklı sorunlar için SOLID tasarım temel ilkelerinin uygun bir şekilde tercih edilmesi, çözüm tasarımlama süresini azaltır, kod kalitesini artırır.
- Sadece ihtiyaç duyulan desen adını yazmanız yeterlidir, Copilot tam bir kod parçası oluşturur.
- Algoritma listesi, iyi algoritmalar, bir sınıf sorunu çözmek için yüksek zeka birikimleridir, geliştiricilerin belirli sorunu soyutlaması ve verileri algoritmaya uygun şekilde girdi olarak soyutlaması gerekir.
- Algoritma kodları genellikle evrenseldir, sadece algoritma adını yazmanız yeterlidir, Copilot algoritma kod parçasını oluşturur ve Copilot her zaman bağlamdaki veri yapılarını algoritmaya akıllıca uygular.
Sade metin önerileri
| en | zh |
|---|---|
| GitHub Copilot, OpenAI Codex’i kullanarak editörünüzden gerçek zamanlı olarak kod ve tam fonksiyonlar önerir. | GitHub Copilot, OpenAI Codex’i kullanarak editörünüzden gerçek zamanlı olarak kod ve tam fonksiyonlar önerir. |
| Milyarlarca satır koda eğitildi, GitHub Copilot doğal dil ipuçlarını onlarca dilde kod önerilerine dönüştürür. | Milyarlarca satır koda eğitildi, GitHub Copilot doğal dil ipuçlarını onlarca dilde kod önerilerine dönüştürür. |
| Yalnız uçmayın. Dünyanın dört bir yanındaki geliştiriciler, daha hızlı kodlamak, boilerplate kodundan ziyade iş mantığına odaklanmak ve en önemlisini yapmak için GitHub Copilot kullanıyor: harika yazılım üretmek. | Yalnız uçmayın. Dünyanın dört bir yanındaki geliştiriciler, daha hızlı kodlamak, boilerplate kodundan ziyade iş mantığına odaklanmak ve en önemlisini yapmak için GitHub Copilot kullanıyor: harika yazılım üretmek. |
| Daha büyük sorunlara odaklanın. Boilerplate ve tekrarlayan kod kalıpları oluşturmak için daha az zaman harcayın, önemli olan şeylere daha fazla zaman ayırın: harika yazılım üretmek. İstediğiniz mantığı açıklayan bir yorum yazın ve GitHub Copilot hemen çözümü uygulamak için kod önerisi sunar. | Daha büyük sorunlara odaklanın. Boilerplate ve tekrarlayan kod kalıpları oluşturmak için daha az zaman harcayın, önemli olan şeylere daha fazla zaman ayırın: harika yazılım üretmek. İstediğiniz mantığı açıklayan bir yorum yazın ve GitHub Copilot hemen çözümü uygulamak için kod önerisi sunar. |
| Sizin için AI tabanlı öneriler alın. GitHub Copilot, projenin bağlamı ve stil kurallarına dayanarak öneriler sunar. Kod satırlarını, fonksiyon önerilerini hızlıca inceleyin ve hangisini kabul, red ya da düzenleyeceğinize karar verin. | Sizin için AI tabanlı öneriler alın. GitHub Copilot, projenin bağlamı ve stil kurallarına dayanarak öneriler sunar. Kod satırlarını, fonksiyon önerilerini hızlıca inceleyin ve hangisini kabul, red ya da düzenleyeceğinize karar verin. |
| Bilinmeyen alanda güvenle kodlayın. Yeni bir dilde veya çerçevede çalışıyor olmanızdan ya da sadece kodlamayı öğreniyor olmanızdan bağımsız olarak GitHub Copilot yolunuzu bulmanıza yardımcı olabilir. Bir bug’ı çözün ya da belgelerde veya web’de araştırma yapmadan yeni bir çerçeveyi nasıl kullanacağınızı öğrenin. | Bilinmeyen alanda güvenle kodlayın. Yeni bir dilde veya çerçevede çalışıyor olmanızdan ya da sadece kodlamayı öğreniyor olmanızdan bağımsız olarak GitHub Copilot yolunuzu bulmanıza yardımcı olabilir. Bir bug’ı çözün ya da belgelerde veya web’de araştırma yapmadan yeni bir çerçeveyi nasıl kullanacağınızı öğrenin. |
Bu çevirilerin hepsi Copilot tarafından üretilmiştir, bu önerilerin modele dayalı mı yoksa çeviri davranışı sonucu mu üretildiğinden emin olamayız. Aslında, en sütununda yazdığınız İngilizce içerik, zh sütunundaki içeriğe Copilot tarafından “çevrilebilir” (üretilebilir).

Ayarlar
İstemci ayarları
| Ayar | Açıklama | Not |
|---|---|---|
| temperature | Örnekleme sıcaklığı | 0.0 - 1.0, 0.0 en yaygın kod parçalarını üretir, 1.0 en yaygın olmayan ve daha rastgele kod parçalarını üretir |
| length | Oluşturulan kod önerisinin maksimum uzunluğu | Varsayılan 500 |
| inlineSuggestCount | Oluşturulan satır içi öneri sayısı | Varsayılan 3 |
| listCount | Oluşturulan öneri sayısı | Varsayılan 10 |
| top_p | Öncelikle gösterilen olasılık N önerileri | Varsayılan tüm olası öneriler gösterilir |
Kişisel hesap ayarları iki ayar içerir, biri telif hakkı ile ilgili, diğeri gizlilikle ilgilidir.
- Açık kaynak kodlu önerileri kullanıp kullanmayacağınız, temel olarak Copilot’un oluşturduğu kod parçasındaki telif hakkı sorunlarından kaçınmak, açık kaynak lisansı kısıtlamalarından kaçınmak içindir.
- Kişisel kod parçalarının ürünün geliştirilmesi için kullanılıp kullanılmayacağı, gizlilik sızıntısı riskini önlemek içindir.
Veri güvenliği
Copilot’un bilgi toplama
- Ticari sürüm
- Fonksiyon kullanım bilgileri, kişisel bilgiler içerebilir
- Kod parçaları toplar, öneri sağlandıktan hemen sonra atar, herhangi bir kod parçasını saklamaz
- Veri paylaşımı, GitHub, Microsoft, OpenAI
- Kişisel sürüm
- Fonksiyon kullanım bilgileri, kişisel bilgiler içerebilir
- Kod parçaları toplar, öneri sağlandıktan sonra, kişisel telemetry ayarına göre saklar veya atar
- Kod parçaları içerir, düzenlenecek kod, ilişkili dosyalar, IDE’de açılan dosyalar, kütüphane adresi, dosya yolu
- Veri paylaşımı, GitHub, Microsoft, OpenAI
- Kod veri koruması, 1. Şifreleme. 2. Copilot ekibi ile ilişkili GitHub/OpenAI çalışanlarına erişim. 3. Rol tabanlı erişim kontrolü ve çok faktörlü doğrulama gerekir
- Kod parçalarının kullanılmasını önlemek (saklama veya eğitim), 1. Ayarlar 2. Copilot ekibiyle iletişime geçin
- Özel kod kullanılır mı? Hayır.
- Kişisel bilgileri (isim, doğum günü vb.) çıktılayabilir mi? Nadirdir, hâlâ geliştirilmektedir.
- Ayrıntılı gizlilik bildirimi
Sıkça sorulan sorular
- Copilot’un eğitim verileri, Github’ın açık depolarından gelir.
- Copilot’un yazdığı kod mükemmel mi? Elbette değil.
- Yeni bir platform için kod yazabilir mi? Şu anda sınırlı yetenek.
- Copilot’u daha iyi nasıl kullanabiliriz? Kodu küçük fonksiyonlara ayırın, fonksiyonun işlevini doğal dille tanımlayın ve giriş/çıkışları belirtin, anlamlı değişken adı ve fonksiyon adı kullanın.
- Copilot’un ürettiği kodda hatalar olur mu? Elbette kaçınılmaz değildir.
- Copilot’un ürettiği kod doğrudan kullanılabilir mi? Elbette değil, bazen değiştirilmesi gerekir.
- Copilot’un ürettiği kod ticari projelerde kullanılabilir mi? Evet.
- Copilot’un ürettiği kod Copilot’un fikri mülkiyetine ait mi? Hayır.
- Copilot, eğitim setinden kopyalama yapıyor mu? Copilot kod kopyalamaz, 150 satırdan fazla kodun eğitim setiyle eşleşmesi çok düşük bir ihtimaldir, aşağıdaki iki durumda ortaya çıkar
- Bağlam bilgisi çok az olduğunda
- Genel bir sorunun çözümü olduğunda
- Açık kodla tekrar etmeyi önlemek için nasıl yapılır, filter ayarlayın

- Copilot’un ürettiği kodu doğru nasıl kullanabiliriz? 1. Üretilen kodu kendiniz test/inceleme; 2. İncelemeden önce otomatik derleme veya çalıştırma yapmayın.
- Copilot’un her doğal dilde aynı performansı var mı? En iyi performans İngilizcedir.
- Copilot hakaret içeren içerik üretir mi? Filtrelenmiş, ancak ortaya çıkma ihtimali vardır.














