Copilot Chat'da sohbet bağlamı yönetme

daha iyi yanıtlar almak için örtük bağlamı, başvuruları, sohbet geçmişini ve bağlam penceresi araçlarını birleştirerek GitHub Copilot Chat sohbet bağlamını yönetin.

Bu makalede, Copilot Chat'e daha fazla bilgi sağlayarak daha iyi yanıtlar almayı öğreneceksiniz:

Önkoşullar

Visual Studio'da GitHub Copilot Sohbet'i kullanmaya başlamak için şunları yapmanız gerekir:

Örtük bağlam

Visual Studio, mevcut etkinliğinize dayanarak sohbet komutuna otomatik olarak bağlam sunar.

Aşağıdaki bilgiler, sohbet bağlamında örtük olarak yer alır:

  • Etkin düzenleyicide seçili durumdaki metin.
  • Düzenleyicide şu anda aktif olan dosya.

komut isteminize bağlı olarak, Copilot etkin dosyanın içeriğini okur. Başka bir dosyanın içeriğini sohbet bağlamında açıkça eklemek için, + düğmesini kullanarak önerilen dosyayı seçin.

Copilot Sohbeti'ndeki örtük bağlamın ekran görüntüsü.

Başvuru: kapsam Copilot sonuçları

Kodlamayla ilgili sorularınızı doğal dilde sorabilirsiniz ve GitHub Copilot Chat bunları Visual Studio'da açık olan kod tabanı bağlamında yanıtlar. Referanslarla, Copilot'un sorunuzu yanıtlarken dikkate almasını istediğiniz bilgiler hakkında daha belirgin hale gelebilirsiniz.

Kod tabanınızda belirli bir bağlamı seçerek, uzun bilgi parçaları yazmak veya yapıştırmak zorunda kalmadan kolayca daha iyi sorular oluşturabilirsiniz. Bağlamın belirtilmesi, Copilot'un size daha ilgili yanıtlar sağlamasına da olanak tanır.

Copilot Sohbeti'ndeki referansların ekran görüntüsü.

Bir dosyaya atıfta bulunma

GitHub Copilot Chat'te bir dosyaya kolayca başvurmak için, dosya adının başına bir # simgesi eklemeniz yeterlidir. Örneğin, BasketService.csadlı bir dosyanız varsa sohbette bu dosyaya #BasketService.csolarak başvurun.

Copilot Sohbeti'nde dosya başvurusunun ekran görüntüsü.

Yönteme, sınıfa veya işleve başvurma

Visual Studio 2022 sürüm 17.11artık GitHub Copilot Chat'te belirli bir yönteme, sınıfa veya işleve başvurabilirsiniz.

GitHub Copilot Chat'te bir yönteme, sınıfa veya işleve kolayca başvurmak için yöntem, sınıf veya işlev adının başına bir # simgesi eklemeniz yeterlidir. Örneğin, BasketAddItemadlı bir yönteminiz varsa sohbette bunu #BasketAddItemolarak adlandırın.

Visual Studio'da GitHub Copilot Sohbeti'ndeki yöntemlere yapılan başvuruların ekran görüntüsü.

Tüm çözümü referans al

bağlam için IDE'de etkin olan çözüme başvurmak için @workspace kullanın. Bağlam için @workspace kullanırken, Copilot Chat şu anda açık olan ve IDE'nizde üzerinde çalışılan dosyalar, projeler ve yapılandırmalar hakkındaki bilgilerden yararlanıyor. Bu, Copilot Sohbet'in daha ilgili ve bağlama duyarlı öneriler ve yanıtlar sağlamasına olanak tanır.

Copilot Sohbeti'nde çözüm bağlamı başvuru ekran görüntüsü.

Visual Studio 2022 sürüm 17.11 ile GitHub Copilot Enterprise aboneleri artık sohbetteki @github kullanarak depolarının tamamından bağlam ekleyebilir ve web'de arama yapabilir (yönetici tarafındanarama etkinleştirildiyse). Copilot'un @githubkullanırken sorunuzu yanıtlamak için kullanabileceği GitHub'a özgü becerilerin koleksiyonu hakkında daha fazla bilgi edinmek için bkz. Copilot için GitHub becerilerini kullanma.

Copilot Chat'te GitHub becerilerini kullanmanın ekran görüntüsü.

Git geçmişindeki commit’lere referans vermek

Bir commit’i gözden geçirirken değişiklikleri anlamak, olası sorunları belirlemek veya benzer bir düzenleme taslağı hazırlamak için Copilot’tan yardım almak istiyorsanız, commit bağlamını doğrudan GitHub Copilot Chat’e ekleyebilirsiniz.

İşleme kimliklerini kopyalayıp sohbete yapıştırmak yerine, IDE'den seçilen işleme bağlamını eklemek için Sohbete Ekle'yi kullanın.

Bu yüzeylerden herhangi birinden işlemede Sohbete Ekle'yi kullanın:

  • Git Geçmişi (Git>Dal Geçmişini Görüntüle)
  • Dosya Geçmişi (Çözüm Gezgini içindeki bir dosyaya sağ tıklayın ve ardından Git>View History)
  • Açıklama ekle (Blame) ( düzenleyiciye sağ tıklayın, sonra Git>Açıklama Ekle (Blame))

Aynı anda sohbete birden fazla commit eklemek için birden fazla commit'i seçebilirsiniz.

Git Geçmişi'nde seçili işleme için Sohbete Ekle komutunu gösteren ekran görüntüsü.

Commit bağlamını ekledikten sonra, şunlar gibi istemleri deneyin:

  • Bu değişikliği açıklayın.
  • Bu herhangi bir sorun mu ortaya konur?
  • Bu diğer dosya için benzer bir değişiklik yazın.

Bir istem için bağlam olarak kullanılan ekli bir commit ile Copilot Chat’i gösteren ekran görüntüsü.

Değişikliklerinize referans verin

Visual Studio 2022'nin 17.14 ve sonraki sürümlerinde, Copilot Chat'te Git başvurularını kullanabilirsiniz.

#changes penceresindeki commit edilmemiş değişikliklerinize başvurmak için kullanın. Bu başvuru, Copilot Chat yaptığınız işi özetlemesini, bekleyen düzenlemelerin etkisini açıklamasını veya işlemeden önce sonraki adımları önermesini istediğinizde yararlıdır.

Örneğin, aşağıdakiler gibi sorular sorabilirsiniz:

  • Özetleyin #changes.
  • Şu ana kadar #changes içinde ne yaptım?
  • #changes için birim testleri önerin.

Araçlar>Seçenekler iletişim kutusunu açın, GitHub>Copilot>Kaynak Denetimi Tümleştirmesi öğesini genişletin, Git önizleme özelliklerini etkinleştir seçeneğini belirleyin ve ardından Tamam öğesini seçin.

#changes ile kaydedilmemiş değişikliklere başvuran Copilot Chat ekran görüntüsü.

Bir commit’e başvurun

Copilot Chat’te belirli bir işlemeye atıfta bulunmak için #commit: kullanın. #commit: yazmaya başladığınızda, Copilot arasından seçim yapabileceğiniz son işlemelerin listesini gösterir. Daha eski bir işlemeye başvurmak istiyorsanız, işleme kimliğini doğrudan sonra #commit:girin.

Commit referanslarını aşağıdakiler gibi görevler için kullanabilirsiniz:

  • Açıklayın #commit:.
  • #commit: içindeki değişiklikleri kapsayacak birim testleri yazın.
  • #commit: içindeki olası sorunları bulun.

Bu referans, geçmişte yapılan bir değişikliği gözden geçirmek, bir commit’in arkasındaki amacı incelemek veya Copilot’tan önceki çalışmaları sürdürmenize yardımcı olmasını istemek istediğinizde yararlıdır.

#commit yazdıktan sonra son işleme önerilerini gösteren Copilot Chat ekran görüntüsü:.

Görüntüye başvurma

Visual Studio 17.14 ve sonraki sürümlerde Copilot Sohbeti için görüntü tümleştirmesi sayesinde sohbet isteminize görüntü ekleyebilirsiniz ve copilot'a iyileştirilmiş yanıtlar için ek bağlam sağlayabilirsiniz. Özel yanıtlar oluşturmak için görüntüleri kapsam ve eğik çizgi komutları gibi diğer bağlamsal özelliklerle birlikte kullanın.

Aşağıdaki örnekte, Copilot ekli görüntüyü yorumlayarak bir plan ve sıfırdan renkli bir Breakout oyunu oluşturmak için kod önerir.

Copilot Sohbeti'nde görüntü eklemeye yönelik örnek senaryonun ekran görüntüsü.

Referans çıkış penceresi

Artık soru sormak ve çıkış günlükleriyle ilgili yardım almak için sohbette bağlam olarak çıkış penceresini kullanabilirsiniz. Desteklenen çıkış pencereleri Derleme, Hata Ayıklama, Testler, Kaynak Denetimi, Paket Yöneticisi veya başka bir etkin çıkış penceresi bölmesidir.

Sohbette çıkış günlüklerine aşağıdaki yollardan biriyle başvurun:

  • Doğrudan sohbette başvurmak için #output kullanın.
  • Sohbet girişindeki simgeyi ➕ seçin ve bağlam olarak ekleyin Output logs .
  • Copilot'a doğrudan sorun, örneğin çıkış günlüklerimi denetleyin ve bu hatayı düzeltmeme yardımcı olun.
  • Çıkış Penceresi'ne sağ tıklayın ve Eklemek için Copilot ile Açıkla'ya tıklayın.

Copilot Sohbeti'nde bağlam olarak çıkış penceresinin ekran görüntüsü.

Başvuru URL'leri

İstem kutusuna bir URL yapıştırdığınızda Copilot'ın eğitim verileri bir konuyu kapsamadığında veya belirli bir kaynağa başvurmak istediğinizde, Copilot bilgileri web'den çekerek boşlukları doldurur.

Örneğin, Copilot'tan GitHub'daki en iyi uygulamalara göre bir readme.md dosyası yazmanıza yardım etmesini isteyebilirsiniz.

Bağlam için sohbette URL'ye başvurma işleminin ekran görüntüsü.

Copilot'un yalnızca sağladığınız genel URL'den statik HTML içeriğine başvurabileceğini ve bu sayfadaki diğer bağlantılara, kimlik doğrulamasının arkasındaki sayfalara veya dinamik sayfalardaki içeriğe erişmeyeceğini unutmayın.

Kullanım örnekleri

Bağlam denetimi için başvuruların kullanılmasına ilişkin bazı örnekler aşağıda verilmiştir:

Örnek Copilot'un soru oluşturması için kullandığı bağlam
#MyFile.cs amacı nedir: 66-72? Dosyanın tam bölümü
#BasketService.cs'daki testler nerede? BasketService.cs
/#AddItemToBasket öğesini #BasketService.cs dosyasında açıklayın BasketService.cs'de AddItemToBasket yöntemi
Bu @workspace sepet silme yöntemi var mı? Geçerli çözüm IDE'de açık
#TestCalculator adlı bir test yöntemim var. Doğru şekilde yürütülmesini nasıl sağlayabilirim? TestCalculator yöntemi
Sınıflar #BasketService ile #OrderService arasındaki farkları açıklayabilir misiniz? BasketService sınıfı ve OrderService sınıfı
@workspace'ımda #AddItemToBasket nerede? Geçerli çözüm IDE'de açık
Commit etmeden önce #changes'i özetle Git Değişiklikleri penceresinde kaydedilmemiş değişiklikler
#commit:abc1234'te olası sorunları bulma Belirtilen işleme
App.tsx'teki kullanıcı arabirimimi bu görüntüye benzeyecek şekilde güncelleştirin Yüklenen resim

Copilot Chat tarafından kullanılan kaynakları gözden geçirin

Copilot Chat her sonuçtan sonra kullandığı bağlamı görüntüler, böylece sorunuzu yanıtlarken nelerin dikkate alındığını anlayabilirsiniz. Bir Copilot Chat'e soru sorduğunuzda ve sohbet penceresinde yanıt aldığınızda, yanıtın altında Referanslar açılan menüsü görüntülenir. Referanslar açılan listesindeki girdiler, Copilot Chat tarafından bu yanıtı oluşturmak için referans alınan bağlamı gösterir. Bu bilgiler, sorunuzu daha iyi ve daha ilgili yanıtlar elde etmek için değiştirmenize yardımcı olabilir.

Copilot Sohbeti'nde kullanılan kaynaklar açılır listesinin ekran görüntüsü.

Organize etme: konularla sohbet geçmişi bağlamını yönetme

Bir sohbet oturumunda birden çok sohbet istemini yineleyip gönderirken Copilot, geçerli sohbet isteminiz için bağlam olarak sohbet istemlerinin ve yanıtların geçmişini kullanır. Bu, bağlamı yinelemek zorunda kalmadan takip soruları sorabileceğiniz veya önceki sorunuzu netleştirebileceğiniz anlamına gelir. Örneğin, "Bunun ...", "Şimdi bir test çalışması ekle", "daha ayrıntılı açıklama" ve daha fazlası ile farkı nedir? sorusunu sorabilirsiniz.

Yeni bir sohbet oturumuyla baştan başlamak ve geçerli bağlamı atmak için sohbet görünümünde yeni bir yazışma başlatın. Bu, farklı bir konuya geçmek ve önceki bağlam ve geçmişten kaçınmak istediğinizde kullanışlıdır. Konuşmaların elinizdeki göreve odaklanmasını sağlamak ve yanıtların ilgili geçmişe dayanması için bağlamı net tutmak için yazışmaları kullanın.

Yeni sohbet yazışması

Yeni bir yazışma başlatmak için Sohbet penceresinde Yeni yazışma oluştur'u veya Ctrl+N'yi seçin.

Copilot Sohbeti'nde Yeni yazışma oluştur simgesinin ekran görüntüsü.

Sohbet yazışması değiştirme

Sorunuz için doğru geçmiş bağlamı sağlamak üzere devam eden birden çok iş parçacığı arasından seçim yapabilirsiniz. Sohbet penceresinde önceki yazışma için Ctrl+PgDown veya sonraki yazışma için Ctrl+PgUp kullanabilirsiniz. Ctrl+Shift+T iş parçacığı açılır menüsünü genişletir.

Copilot Sohbeti'nde devam eden yazışmalar arasında geçiş yapma ekran görüntüsü.

Düzenleme: Sohbet geçmişi paneliyle sohbet geçmişini yönetme

Bir sohbet oturumunda birden çok sohbet istemini yineleyip gönderirken Copilot, geçerli sohbet isteminiz için bağlam olarak sohbet istemlerinin ve yanıtların geçmişini kullanır. Bu, bağlamı yinelemek zorunda kalmadan takip soruları sorabileceğiniz veya önceki sorunuzu netleştirebileceğiniz anlamına gelir. Örneğin, "Bunun ...", "Şimdi bir test çalışması ekle", "daha ayrıntılı açıklama" ve daha fazlası ile farkı nedir? sorusunu sorabilirsiniz.

Yeni bir sohbet oturumuyla baştan başlamak ve geçerli bağlamı atmak için sohbet görünümünde yeni bir yazışma başlatın. Bu, farklı bir konuya geçmek ve önceki bağlam ve geçmişten kaçınmak istediğinizde kullanışlıdır. Konuşmaların görev üzerinde odaklanmasını sağlamak ve yanıtların ilgili geçmişe dayanması için bağlamı net tutmak için sohbet geçmişi panelini kullanın.

Yeni sohbet yazışması

Yeni bir yazışma başlatmak için Sohbet penceresinde Yeni yazışma oluştur'u veya Ctrl+N'yi seçin.

Copilot Sohbeti'nde Yeni yazışma oluştur simgesinin ekran görüntüsü.

Sohbet yazışması değiştirme

Sohbet oturumları arasında geçiş yapmak ve sorunuz için doğru geçmiş bağlamı sağlamak için sohbet geçmişi panelini kullanın.

Her sohbet geçmişi girdisi şunları gösterir:

  • Sohbet başlığı
  • En son iletinin önizlemesi
  • Oturum en son ne zaman güncelleştirildi?

Doğrudan bu konuşmaya atlamak için panelde bir oturum seçin.

Oturum başlığını, ileti önizlemesini ve son güncelleştirme zamanını gösteren Sohbet Geçmişi panelinin ekran görüntüsü.

Satır içi sohbeti sohbet penceresine yükseltme

Visual Studio 2022 sürüm 17.11ile artık satır içi sohbet geçmişini sohbet penceresine tanıtarak koruyabilirsiniz. Sohbet penceresinde devam et'i seçin... konuşmanın kaydını ve bağlamını korumak için ve sohbet penceresinde devam edin.

Devam eden satır içi sohbeti sohbet penceresine yükseltme ekran görüntüsü.

Bağlam penceresi kullanımını izleme ve iyileştirme

Copilot ile sohbet ettiğinizde, konuşma geçmişinizi, ekli dosyalarınızı ve diğer bağlamsal girişleri içeren bir bağlam penceresi kullanılır. Bağlam penceresi doldukça, Copilot konuşmanın önceki kısımlarındaki ayrıntıları kaybedebilir.

Geçerli iş parçacığının kullanımını gerçek zamanlı olarak izlemek için bağlam penceresi göstergesini kullanın. Visual Studio sürümünüze ve Copilot Chat kullandığınız yere bağlı olarak, gösterge sohbet giriş alanında halka grafik olarak veya düzenleyicide bir gösterge olarak görünebilir.

  1. İzlemek istediğiniz Copilot Chat iş parçacığını açın veya devam ettirin.
  2. Sohbet giriş alanında veya düzenleyicide bağlam penceresi göstergesini bulun.
  3. Kullanılan bağlamın tam yüzdesini görüntülemek için göstergeyi seçin.
  4. Bağlam kullanımına (örneğin, konuşma iletileri ve çalışma alanı dosyaları) katkıda bulunanların dökümünü gözden geçirin.

Konuşma geçmişini özetleme ve sıkıştırma

Sıkıştırma, mevcut konuşma akışının önceki bölümlerinin kullandığı bağlam miktarını azaltır; böylece aynı konuşma içinde çalışmaya devam edebilirsiniz.

Kullanılabilir bağlam azalırken, aynı konuşmada kalarak yer açmak ve konuşmanın önceki bölümlerini sıkıştırmak için Konuşmayı özetle seçeneğini belirleyin.

Sıkıştırmayı şu yollardan biriyle kullanın:

  • Önceki iletileri otomatik olarak sıkıştırmak için bağlam penceresi göstergesinden Konuşmayı özetle'yi seçin.
  • Sohbete /compact yazarak konuşmayı istediğiniz zaman manuel olarak sıkıştırabilirsiniz.

Sıkıştırmadan sonra, Copilot tam transkript yerine önceki dönüşlerin özetini tutar. Bu, konunun genel gidişatını korurken bağlam penceresinde yer açmaya yardımcı olur.

Sıkıştırmayı şu durumlarda kullanın:

  • Bağlam kullanımı yüksektir ve yakın zamanlardaki önemli bağlamı kaybetmemek istiyorsunuz.
  • Bir ileti dizisi uzadı, ancak yine de aynı sohbette devam etmek istiyorsunuz.
  • Yeni bir izleme soruları kümesi sormadan önce odağı geliştirmek istiyorsunuz.

En iyi yöntemler

Copilot Chat, isteğinizle ilgili bağlamı almak için sohbet geçmişini kullanır. Copilot'a yalnızca ilgili geçmişi vermek için:

  • Yeni bir görev için yeni bir konuşma başlatmak üzere yeni iş parçacıkları kullanın.
  • Aynı yazışmayı korumak istiyorsanız bağlam kullanımı yüksek olduğunda Konuşmayı özetle'yi kullanın.
  • Artık ilgili olmayan veya size istenen sonucu vermeyen istekleri silin.

Sohbet konuşmasını açık tutun ve önerilen çözümü geliştirmek için Copilot'ı tekrarlamaya devam edin ve istemde bulunun. Copilot hem oluşturulan kodun bağlamını hem de geçerli konuşma geçmişinizi içerir. Siz ek sorular sormaya devam ettikçe, Copilot yanıtı gereksinimlerinize göre daha da iyileştirmektedir. GitHub Copilot için Komut İstemi Mühendisliği kısmında, Copilot sonuçlarınızı iyileştirmeye yönelik etkili istemlerle ilgili stratejileri bulabilirsiniz.

Sonraki Adımlar