Visual Studio'da IntelliSense

IntelliSense, kullandığınız kod hakkında daha fazla bilgi edinmenize, yazdığınız parametreleri izlemenize ve yalnızca birkaç tuş vuruşuyla özelliklere ve yöntemlere çağrılar eklemenize yardımcı olacak özellikler içeren bir kod tamamlama yardımıdır.

Bu özellikler şunlardır:

IntelliSense'in birçok yönü dile özgüdür. Farklı diller için IntelliSense hakkında daha fazla bilgi için İlgili içerik bölümünde listelenen makalelere bakın.

Visual Studio, IntelliSense'e ek olarak GitHub Copilot aracılığıyla yapay zeka destekli kod tamamlamaları da sunar. Copilot satır içi önerileri, tam hat ve çok satırlı tamamlamalar sağlamak için IntelliSense ile birlikte çalışır. Daha fazla bilgi edinmek için bkz. GitHub Copilot tamamlamalarını kullanmaya başlama.

Liste Üyeleri

Yönetilen kodda veya C++ içinde nokta (.) gibi bir tetikleyici karakteri yazdıktan sonra bir tür veya :: ad alanındaki geçerli üyelerin listesi görüntülenir. Karakterleri yazmaya devam ederseniz, liste yalnızca bu karakterlerle başlayan veya ad içindeki herhangi bir sözcüğün başlangıcının bu karakterlerle başladığı üyeleri içerecek şekilde filtrelenir. IntelliSense ayrıca camel case eşleştirmesi gerçekleştirir, böylece eşleşmeleri görmek için üye adındaki her camel case'li kelimenin sadece ilk harfini yazabilirsiniz.

Bir öğeyi seçtikten sonra , Sekme tuşuna basarak veya bir boşluk yazarak kodunuza ekleyebilirsiniz. Bir öğeyi seçip nokta yazarsanız, öğeyi izleyen nokta görüntülenir ve bu da başka bir üye listesini getirir. Bir öğeyi seçtiğinizde ancak eklemeden önce, öğe için Hızlı Bilgi'yi alırsınız.

Üye listesinde, soldaki simge ad alanı, sınıf, işlev veya değişken gibi üye türünü temsil eder. Liste uzun olabileceğinden, listede yukarı veya aşağı gitmek için PgUp ve PgDn tuşlarına basabilirsiniz.

IntelliSense liste üyeleri özelliğinin ekran görüntüsü.

Ctrl+J yazarak,IntelliSense>Liste Üyelerini> seçerek veya düzenleyici araç çubuğunda Liste Üyeleri düğmesini seçerek Liste Üyeleri özelliğini el ile çağırabilirsiniz. Boş bir satırda veya tanınabilir bir kapsamın dışında çağırdığınızda, liste genel ad alanında semboller görüntüler.

Liste Üyeleri'ni, özellikle çağrılmadıkça görünmemesi için varsayılan olarak kapatmak için , Araçlar>Seçenekler>Metin Düzenleyicisi>Tüm Diller'e gidin ve Otomatik liste üyelerinin seçimini kaldırın. Liste Üyelerini yalnızca belirli bir dilde kapatmak için bu dilin Genel ayarları'na gidin.

Liste Üyeleri'ni, özellikle çağrılmadıkça görüntülenmemesi için varsayılan olarak kapatmak için, Araçlar>Seçenekler>Dilleri Varsayılanları>>Genel>Deyim Tamamlama'ya gidin ve Otomatik liste üyelerinin seçimini kaldırın. Liste Üyelerini yalnızca belirli bir dilde kapatmak için bu dilin Genel ayarları'na gidin.

Koda yalnızca yazdığınız metnin eklendiği öneri moduna da geçebilirsiniz. Örneğin, listede olmayan bir tanımlayıcı girer ve Sekme tuşuna basarsanız, tamamlama modunda girdi yazılan tanımlayıcının yerini alır. Tamamlama modu ile öneri modu arasında geçiş yapmak için Ctrl+Alt+Space tuşuna basın veya Düzenle>IntelliSense>Otomatik ve yalnızca sekmeli IntelliSense tamamlama arasında geçiş yap seçeneğini seçin.

Parametre Bilgisi

Parametre Bilgisi size bir yöntemin, öznitelik genel türü parametresinin (C#'ta) veya şablonun (C++'da) ihtiyaç duyduğu parametre sayısını, adlarını ve türlerini gösterir.

Kalın yazılmış parametre, işlevi yazarken ihtiyacınız olan sonraki parametreyi gösterir. Aşırı yüklenmiş işlevler için Yukarı ve Aşağı ok tuşlarını kullanarak işlev aşırı yüklemelerine ilişkin diğer parametre bilgilerini görebilirsiniz.

IntelliSense Parametre Bilgisi özelliğinin ekran görüntüsü.

İşlevlere ve parametrelere XML Belgeleri açıklamaları eklediğinizde, Parametre Bilgileri bu açıklamaları gösterir. Daha fazla bilgi için bkz. XML kodu açıklama sağlama.

IntelliSense>Parametre Bilgilerini> seçerek, Ctrl+Shift+Ara Çubuğu'na basarak veya düzenleyici araç çubuğunda Parametre Bilgileri düğmesini seçerek Parametre Bilgileri'ni el ile açabilirsiniz.

Hızlı Bilgi

Hızlı Bilgi , kodunuzdaki herhangi bir tanımlayıcının tam bildirimini görüntüler.

IntelliSense Hızlı Bilgi özelliğinin ekran görüntüsü.

Üyeleri Listele kutusundan bir üye seçtiğinizde Hızlı Bilgi de görüntülenir.

IntelliSense Hızlı Bilgi ve Parametre Bilgileri özelliğinin ekran görüntüsü.

IntelliSense>Hızlı Bilgilerini> seçerek, Ctrl+, Ctrl+I tuşlarına basarak veya düzenleyici araç çubuğunda Hızlı Bilgi düğmesini seçerek Hızlı Bilgi'yi el ile çağırabilirsiniz.

Bir işlev aşırı yüklenmişse, IntelliSense aşırı yüklemenin tüm biçimleri için bilgileri görüntülemeyebilir.

Hızlı Bilgi'yi kapatmak için Araçlar>Seçenekler>Metin Düzenleyicisi>Tüm Diller'e gidin ve Ayarlar bölümünde Hızlı Bilgileri göster'in seçimini kaldırın.

Hızlı Bilgi'yi kapatmak için Araçlar>Seçenekler>Dilleri'ne gidin ve Genel bölümünde Vurgulamada Hızlı Bilgileri Göster'in seçimini kaldırın.

Word'ü Tamamlama

Tam Kelime, terimin belirsizliğini gidermek için yeterli karakteri girdikten sonra bir değişken, komut veya işlev adının geri kalanını tamamlar. Edit>IntelliSense>Complete Word öğesini seçerek, Ctrl+Boşluk tuşuna basarak veya düzenleyici araç çubuğundaki Sözcüğü Tamamla düğmesini seçerek Complete Word işlevini çağırabilirsiniz.

IntelliSense seçenekleri

IntelliSense seçenekleri varsayılan olarak açıktır.

Bunları kapatmak için, Araçlar>Seçenekler>Diller Varsayılanları>>Genel>Deyim Tamamlama'ya gidin ve Parametre bilgileri veya Otomatik liste üyeleri seçimini kaldırın.

Bunları kapatmak için Araçlar>Seçenekler>Metin Düzenleyicisi>Tüm Diller'e gidin ve Parametre bilgileri veya Otomatik liste üyeleri'nin seçimini kaldırın.

Tavsiye

Visual Studio'da kullanıcı arabirimi öğelerinin görünümünü değiştirmek için Araçlar>Seçenekleri>Ortam>Yazı Tipleri ve Renkleri'ne gidin. Bu ayarlar ve bunlarla etkileşim kurma hakkında daha fazla bilgi için bkz. Yazı Tipleri ve Renkler, Ortam, Seçenekler iletişim kutusu.

IntelliSense simgeleri

IntelliSense'teki simgeler, simge değiştiricileri aracılığıyla ek anlamlar taşır. Bu simgeler, nesne simgesinin üzerine katmanlanan yıldızlar, kalpler ve kilitler içerir ve sırasıyla korumalı, dahili veya özel olduğunu belirtir.

İkon Erişilebilirlik Description
Genel Simge Değiştirici Genel sınıf Erişim kısıtlanmamış.
Korumalı Simge Değiştirici Korumalı sınıf Access, içeren sınıf veya içeren sınıftan türetilen türler ile sınırlıdır.
Korumalı İç Simge Değiştirici Korumalı iç sınıf Erişim, cari derleme veya içeren sınıftan türetilen türler ile sınırlıdır.
İç Simge Değiştirici İç sınıf Erişim mevcut derlemeyle sınırlıdır.
Özel Simge Değiştirici Özel sınıf Erişim, geçerli derleme içindeki içeren sınıf veya bu sınıftan türetilen türlerle sınırlıdır. (C# 7.2'den itibaren kullanılabilir.)
İkon Erişilebilirlik Description
Genel Simge Değiştirici Genel sınıf Erişim kısıtlanmamış.
Korumalı Simge Değiştirici Korumalı sınıf Access, içeren sınıf veya içeren sınıftan türetilen türler ile sınırlıdır.
Korumalı İç Simge Değiştirici Korumalı iç sınıf Erişim, cari derleme veya içeren sınıftan türetilen türler ile sınırlıdır.
İç Simge Değiştirici İç sınıf Erişim mevcut derlemeyle sınırlıdır.
Özel Simge Değiştirici Özel sınıf Erişim, geçerli derleme içindeki içeren sınıf veya bu sınıftan türetilen türlerle sınırlıdır. (C# 7.2'den itibaren kullanılabilir.)

IntelliSense sorunlarını giderme

IntelliSense seçenekleri bazı durumlarda beklediğiniz gibi çalışmayabilir.

  • İmleç bir kod hatasının altında: IntelliSense kod öğelerini ayrıştıramadığından, imlecin üzerindeki kodda eksik bir işlev veya başka bir hata varsa IntelliSense'i kullanamayabilirsiniz. İlgili kodu yorum satırı haline getirerek bu sorunu çözebilirsiniz.

  • İmleç bir kod açıklamasındaysa, kaynak dosyanızdaki bir açıklamanın içindeyse IntelliSense kullanamazsınız.

  • İmleç bir dize değişmez değeri içinde: Aşağıdaki örnekte olduğu gibi, imleç dize değişmez değerinin etrafındaki tırnak işaretlerindeyse IntelliSense kullanamazsınız:

    MessageBox( hWnd, "String literal|")
    
  • Otomatik seçenekler kapalı: IntelliSense varsayılan olarak otomatik olarak çalışır, ancak devre dışı bırakabilirsiniz. Otomatik deyim tamamlama devre dışı bırakıldığında bile IntelliSense özelliğini çağırabilirsiniz.