C# IntelliSense

C# IntelliSense, dile özgü bir kod tamamlama yardımıdır. Kod düzenleyicisinde C# kodu yazdığınızda ve Anlık mod komut penceresinde hata ayıkladığınızda bunu kullanabilirsiniz.

Tamamlama listeleri

C# dilindeki IntelliSense tamamlama listeleri Liste Üyeleri, Tam Word ve daha fazlası için belirteçler içerir. Aşağıdakilere hızlı erişim sağlar:

  • Bir türün veya ad alanının üyeleri

  • Değişkenler, komutlar ve işlev adları

  • Kod parçacıkları

  • Dil anahtar sözcükleri

  • Genişletme yöntemleri

C# içindeki tamamlama listeleri, ilgisiz belirteçleri filtreleyip bağlama göre belirteçleri önceden seçin. Daha fazla bilgi için bkz . Filtrelenmiş tamamlama listeleri.

Tamamlama listelerindeki kod parçacıkları

C# dilinde tamamlama listesi, önceden tanımlanmış kod gövdelerini programınıza kolayca eklemenize yardımcı olacak kod parçacıkları içerir. Kod parçacıkları, kod parçacığının kısayol metni olarak tamamlanma listesinde görünür. Varsayılan olarak C# dilinde kullanılabilen kod parçacıkları hakkında daha fazla bilgi için bkz . C# kod parçacıkları.

Tamamlama listelerindeki dil anahtar sözcükleri

Tamamlanma listesi, bunları programınıza eklemenize yardımcı olmak için C# dili anahtar sözcükleri içerir. C# dili anahtar sözcükleri hakkında daha fazla bilgi için bkz . C# anahtar sözcükleri.

Tamamlama listelerindeki uzantı yöntemleri

C# dilinde tamamlanma listesi kapsamdaki uzantı yöntemlerini içerir.

Uzantı yöntemleri örnek yöntemlerinden farklı bir simge kullanır. Aynı ada sahip bir örnek yöntemi ve uzantı yöntemi kapsam dahilinde olduğunda, tamamlanma listesinde uzantı yöntemi simgesi görüntülenir.

Not

Nesneler için String tamamlama listesi tüm uzantı yöntemlerini görüntülemez.

Filtrelenmiş tamamlama listeleri

IntelliSense, filtreleri kullanarak gereksiz üyeleri tamamlanma listesinden kaldırır. C# şu öğeler için görüntülenen tamamlanma listelerini filtreler:

  • Arabirimler ve temel sınıflar: IntelliSense, arabirimden ve temel sınıf tamamlama listelerinden gereksiz öğeleri otomatik olarak kaldırır, Bu kaldırma işlemi sınıf bildirim tabanlarını ve arabirim listelerini ve kısıtlama listelerini içerir. Örneğin, sabit listeleri temel sınıflar için kullanılamadığından, sabit listeleri temel sınıfların tamamlanma listesinde görünmez. Temel sınıfların tamamlanma listesi yalnızca arabirimleri ve ad alanlarını içerir. Listeden bir öğe seçip bir Virgül anahtarı yazarsanız, IntelliSense temel sınıfları tamamlama listesinden kaldırır. C# birden çok devralmayı desteklemediğinden bunu yapar. Kısıtlama yan tümceleri için de aynı davranış oluşur.

  • Öznitelikler: Bir türe öznitelik uyguladığınızda, tamamlama listesi yalnızca bu türleri içeren ad alanından azalan türleri içerecek şekilde filtrelenmiş olur. Örneğin, Attribute.

  • Catch yan tümceleri: Tamamlama listesinde yalnızca geçerli try-catch anahtar sözcükleri görüntülenir.

  • Nesne başlatıcılar: Tamamlama listesinde yalnızca başlatılabilir üyeler görünür.

  • new anahtar sözcüğü: Yazıp new Ara Çubuğu tuşuna bastığınızda bir tamamlama listesi görüntülenir. IntelliSense, kodunuzdaki bağlama göre listedeki bir öğeyi otomatik olarak seçer. Örneğin IntelliSense, yöntemlerdeki bildirimler ve dönüş deyimleri için tamamlama listesindeki öğeleri otomatik olarak seçer.

  • enum anahtar sözcüğü: Sabit listesi ataması için eşittir işaretinden sonra Boşluk tuşuna bastığınızda bir tamamlama listesi görüntülenir. IntelliSense, kodunuzdaki bağlama göre listedeki bir öğeyi otomatik olarak seçer. Örneğin, siz anahtar sözcüğü yazdıktan return sonra ve bildirim yaptığınızda IntelliSense tamamlama listesindeki öğeleri otomatik olarak seçer.

  • ve işleçleri olarak: or is anahtar sözcüğünü yazdıktan as sonra Boşluk tuşuna bastığınızda IntelliSense otomatik olarak filtrelenmiş bir tamamlama listesi görüntüler.

  • Olaylar: anahtar sözcüğünü eventyazdığınızda, tamamlanma listesi yalnızca temsilci türlerini içerir.

  • Parametre yardımı: IntelliSense, siz girdikçe parametrelerle eşleşen ilk yöntem aşırı yüklemesine otomatik olarak sıralar. Birden çok yöntem aşırı yüklemesi varsa, listede bir sonraki olası aşırı yüklemeye gitmek için yukarı ve aşağı okları kullanabilirsiniz.

En son kullanılan üyeler

IntelliSense, otomatik nesne adı tamamlaması için açılır Liste Üyeleri kutusunda yakın zamanda seçtiğiniz üyeleri hatırlar. Üye Listesi'ni bir sonraki kullanışınızda, en son kullanılan üyeler en üstte gösterilir. IntelliSense, her Visual Studio oturumu arasında en son kullanılan üyelerin geçmişini temizler.

override

Geçersiz kılma yazıp Boşluk tuşuna bastığınızda IntelliSense, bir açılır liste kutusunda geçersiz kılabileceğiniz tüm geçerli temel sınıf üyelerini görüntüler. Yöntemin dönüş türünü yazdıktan sonra override IntelliSense'in yalnızca aynı türü döndüren yöntemleri göstermesini ister. IntelliSense herhangi bir eşleşme bulamazsa tüm temel sınıf üyelerini görüntüler.

Yapay zeka destekli IntelliSense

Visual Studio IntelliCode yapay zekayla geliştirilmiş IntelliSense tamamlama listeleri sağlar. IntelliCode, yalnızca alfabetik bir üye listesi sunmak yerine en olası doğru API'yi tahmin eder. Dinamik listeyi sağlamak için geçerli kod bağlamınızı ve desenlerinizi kullanır.

Otomatik kod oluşturma

using Ekle

IntelliSense kullanarak ekle işlemi, gerekli using yönergeleri otomatik olarak kod dosyanıza ekler. Bu özellik, odağınızı kodun başka bir bölümüne kaydırmanızı gerektirmek yerine yazdığınız koda odaklanmanızı sağlar.

Kullanarak ekle işlemini başlatmak için imleci çözümlenebilen bir tür başvurusunun üzerine getirin. Örneğin, bir konsol uygulaması oluşturduğunuzda ve ardından yöntemin Main gövdesine eklediğinizdeXmlReader, tür başvurusu çözümlenemediğinden bu kod satırında kırmızı dalgalı çizgi görünür. Ardından Hızlı Eylemler menüsü aracılığıyla Kullanarak ekle işlemini çağırabilirsiniz. Kullanma <ad alanı> menü öğesi yalnızca imleç çözümlenmemiş başvuruya konumlandırıldığında görünür.

Bu örnekte, yönergeyi using kodunuza otomatik olarak eklemek için hata ampulü simgesini seçin ve ardından System.Xml; komutunu kullanmayı seçin.

Önizleme görüntüsüyle Kullanarak ekleme işlemini gösteren ekran görüntüsü.

Yapıştırma sırasında eksik using yönergelerini ekle

Kod dosyanıza bir tür yapıştırdığınızda IntelliSense kodunuza otomatik olarak eksik using yönergeler ekleyebilir. Bu özellik, dosyaya bir tür yapıştırırken eksik using yönergelerini ekleme görevini otomatikleştirerek size zaman kazandırır.

Bu özelliği etkinleştirmek için:

  1. Araçlar Seçenekleri'ni> seçin.
  2. Sol bölmeden Metin Düzenleyicisi>C# (veya Visual Basic) >Gelişmiş'i seçin.
  3. Kullanım Yönergeleri'nin altında, Yapıştırmada eksik using yönergeleri ekle'yi seçin.

Kullanımı kaldırma ve sıralama

Kullanımı Kaldır ve Sırala seçeneği, kaynak kodun davranışını değiştirmeden ve bildirimlerini sıralar using ve extern kaldırır. Zaman içinde, gereksiz ve düzenlenmemiş using yönergeler nedeniyle kaynak dosyaları okumak çok büyük ve zor hale gelebilir. Kullanımları Kaldır ve Sırala seçeneği kullanılmayan using yönergeleri kaldırarak kaynak kodu sıkıştırıyor ve sıralayarak okunabilirliği artırır.

Bu seçeneği kullanmak için menü çubuğundan IntelliSense Sıralama Kullanımlarını Düzenle'yi>seçin veya kod düzenleyicisine sağ tıklayıp Kullanımları Kaldır ve Sırala'yı seçin.>

Arabirim uygulama

IntelliSense, kod düzenleyicisinde çalışırken arabirim uygulamanıza yardımcı olacak bir seçenek sağlar. Normalde, bir arabirimi düzgün uygulamak için sınıfınızdaki arabirimin her üyesi için bir yöntem bildirimi oluşturmanız gerekir. Bir sınıf bildirimine arabirimin adını yazdıktan sonra IntelliSense hızlı eylemler ampulü görüntüler. Ampul, açık veya örtük adlandırma kullanarak arabirimi otomatik olarak uygulama seçeneği sunar. Açık adlandırma altında, yöntem bildirimleri arabiriminin adını taşır. Örtük adlandırma altında, yöntem bildirimleri ait oldukları arabirimi göstermez. Açıkça adlandırılmış arabirim yöntemine yalnızca bir arabirim örneği aracılığıyla erişilebilir, sınıf örneği üzerinden erişilmeyebilir. Daha fazla bilgi için bkz . Açık arabirim uygulaması.

Uygulama arabirimi, arabirimi karşılamak için gereken en az yöntem saplaması sayısını oluşturur. Bir temel sınıf arabirimin parçalarını uygularsa, bu saplamalar yeniden oluşturulmuyor demektir.

Soyut temel sınıfı uygulama

IntelliSense, kod düzenleyicisinde çalışırken soyut bir temel sınıfın üyelerini otomatik olarak uygulamanıza yardımcı olacak bir seçenek sağlar. Normalde, soyut bir temel sınıfın üyelerini uygulamak için türetilmiş sınıfınızdaki soyut temel sınıfın her yöntemi için yeni bir yöntem tanımı oluşturulması gerekir. Bir sınıf bildirimine soyut temel sınıfın adını yazdıktan sonra, IntelliSense hızlı eylemler ampulü görüntüler. Ampul, temel sınıf yöntemlerini otomatik olarak uygulama seçeneği sunar.

Soyut Temel Sınıf Uygula özelliği tarafından oluşturulan yöntem saptamaları, MethodStub.snippet dosyasında tanımlanan kod parçacığı tarafından modellenir. Kod parçacıkları değiştirilebilir. Daha fazla bilgi için bkz . İzlenecek yol: Visual Studio'da kod parçacığı oluşturma.

Kullanımdan oluştur

Kullanımdan Oluştur özelliği, sınıfları ve üyeleri tanımlamadan önce kullanmanızı sağlar. Kullanmak istediğiniz ancak tanımlanmamış herhangi bir sınıf, oluşturucu, yöntem, özellik, alan veya sabit listesi için saplama oluşturabilirsiniz. Geçerli konumunuzu kodda bırakmadan yeni türler ve üyeler oluşturabilirsiniz. Bunun yapılması iş akışınızda kesintiyi en aza indirir.

Tanımlanmamış her tanımlayıcının altında kırmızı bir dalgalı çizgi görünür. Fare işaretçisini tanımlayıcının üzerine getirdiğinizde, araç ipucunda bir hata iletisi görüntülenir. Uygun seçenekleri görüntülemek için aşağıdaki yordamlardan birini kullanın:

  • Tanımlanmamış tanımlayıcıyı seçin. Tanımlayıcının altında hızlı eylemler hata ampulü görüntülenir. Hata ampulü seçin.

  • Tanımlanmamış tanımlayıcıyı seçin ve Ctrl+Nokta (.) tuşlarına basın.

  • Tanımlanmamış tanımlayıcıya sağ tıklayın ve hızlı eylemler ve yeniden düzenlemeler'i seçin.

Aşağıdaki seçenekler görüntülenebilir:

  • Özellik oluşturma

  • Alan oluştur

  • Metot oluşturma

  • Sınıf oluşturma

  • Yeni tür oluşturma (sınıf, yapı, arabirim veya sabit listesi için)

Olay işleyicileri oluşturma

Kod düzenleyicisinde IntelliSense, olay alanlarına yöntemleri (olay işleyicileri) bağlamanıza yardımcı olabilir.

bir .cs dosyasındaki bir olay alanının ardından işleci yazdığınızda +=, IntelliSense sizden Sekme tuşuna basma seçeneğini ister. Bu, olayı işleyen yönteme işaret eden yeni bir temsilci örneği ekler.

İstenilen bir bağlama olay işleyicisi yöntemini gösteren ekran görüntüsü.

Sekme tuşuna basarsanız, IntelliSense deyimi sizin için otomatik olarak tamamlar ve olay işleyicisi başvuruyu kod düzenleyicisinde seçili metin olarak görüntüler. Otomatik olay bağlamasını tamamlamak için IntelliSense, olay işleyicisi için boş bir saplama oluşturmak üzere Sekme tuşuna yeniden basmanızı ister.

Oluşturulan olay işleyici yöntemini gösteren ekran görüntüsü.

Sekme tuşuna yeniden basarsanız, IntelliSense doğru imzaya sahip bir yöntem saplaması ekler ve imleci olay işleyicinizin gövdesine yerleştirir.

IntelliSense tarafından oluşturulan yeni bir temsilci mevcut bir olay işleyicisine başvuruda bulunursa, IntelliSense bu bilgileri araç ipucunda iletir. Daha sonra bu başvuruda değişiklik yapabilirsiniz; metin, kod düzenleyicisinde zaten seçilidir. Aksi takdirde, otomatik olay bağlaması tamamlanır.

Not

Olay kanca deyimine dönmek için Görünüm menüsündeki (Ctrl+-) Geriye Git komutunu kullanın.