Visual Studio düzenleyicisini genişletme
Visual Studio düzenleyicisi, özelliklerine eklenen uzantıları destekler. Mevcut bir dilde kod ekleyip değiştiren veya CodeLens gibi bazı düzenleyici özelliklerinin davranışını özelleştiren uzantılar örnek olarak verilebilir.
Visual Studio düzenleyicisi genellikle herhangi bir türde belge olarak bilinen metin dosyalarını düzenleme işlevini ifade eder. Tek tek dosyalar düzenleme için açılabilir ve açık düzenleyici penceresi TextView
olarak adlandırılır.
Düzenleyici nesne modeli, Düzenleyicisi kavramları bölümünde açıklanmıştır.
Aşağıdaki bölümlerde VisualStudio.Genişletilebilirlik'in desteklediği üst düzey düzenleyici genişletilebilirlik senaryoları özetlemektedir. Ancak, bu senaryoların her biri kavramlar ve API'ler açısından zengin olduğundan, API'lerin daha ayrıntılı bir açıklamasını ve bunların nasıl kullanılacağını sağlamak için ayrı ve daha ayrıntılı bir bölüm bağlanır.
Düzenleyicide metin okuma ve değişiklikleri gözlemleme
Visual Studio düzenleyicisinin en temel genişletilebilirlik noktası, düzenleyicideki metni okumak veya metni düzenlemektir. Bu senaryolar, düzenleyici tabanlı uzantıların temelini oluşturur. Örneğin, uyarılar veya hatalar gibi tanılama bilgileri sağlamak için uzantının düzenleyicideki kodu okuması ve ardından yorumlaması gerekir. Uzantı ayrıca düzenleyicideki metnin ne zaman değiştirildiğini veya yeni bir dosyanın açılıp açılmadığını veya açık bir dosyanın kapatıldığını algılamak için bir yönteme de ihtiyaç duyar.
VisualStudio.Genişletilebilirlik kullanarak metin okuma ve metin değişikliklerini izleme hakkında ayrıntılı yönergeler için bkz. Düzenleyicide metinle çalışma
Düzenleyicide metinde düzenleme yapma
Metni otomatik olarak ekleyerek (GUID'yi otomatik oluşturup eklemek gibi) düzenleme üretkenliğini artırmayı amaçlayan herhangi bir uzantının nereye ve ne eklendiğini tanımlamak için API'lere ihtiyacı vardır. Ancak VisualStudio.Genişletilebilirlik uzantısı modeli, metin düzenleme uzantıları geliştirirken belirli ilkelere bağlı kalmayı gerektiren kodu işlem dışı ve zaman uyumsuz olarak yürütür.
VisualStudio.Genişletilebilirlik kullanarak metin düzenleme hakkında ayrıntılı yönergeler için bkz. Düzenleyicide metni değiştirme
Düzenleyici özelliklerini genişletme
Uzantılar, metni düzenlemenin yanı sıra düzenleyicide bağlamsal bilgiler sağlayan birçok özelliğe de eklenti yapabilir. Aşağıdaki bölümlerde düzenleyicide genişletilebilen farklı özellikler özetlenmiştir.
Metin görünümü kenar boşluğu
Uzantılar, Visual Studio düzenleyicisine yeni metin görünümü kenar boşlukları ekleyebilir. Metin görünümü kenar boşluğu, dört kenarından birinde bulunan bir metin görünümüne eklenmiş dikdörtgen bir kullanıcı arabirimi denetimidir. Bu kullanıcı arabirimi denetimleri, geliştiricilerin düzenleyicide çalışmaya devam etmesini sağlayan bir bakışta ek bilgiler sunar. Visual Studio düzenleyicisindeki en popüler özelliklerin çoğu, yakınlaştırma denetimi, kesme noktası göstergesi, satır numarası göstergesi ve daha fazlası gibi metin görünümü kenar boşluklarını kullanır.
Uzantınızla metin görünümü kenar boşluğunu özelleştirme hakkında ayrıntılı bir açıklama için bkz. Visual Studio düzenleyicisini yeni bir kenar boşluğuyla genişletme,
CodeLens
Uzantılar, Visual Studio düzenleyicisine yeni Code Lensler ekleyebilir. CodeLens, bir kod öğesine başvuru sayısı, son birim testi çalıştırmasının sonuçları veya birim testi çalıştırma/hata ayıklama eylemleri gibi eyleme dönüştürülebilir bağlamsal bilgiler sağlayan metin satırlarının üzerinde görüntülenen görsel bir göstergedir. Bazı yaygın CodeLens türleri, belirli bir kod bloğuna başvuran tüm farklı kod bölümleri hakkında bilgi sağlayan kod referansı CodeLens ve belirli kod bloğunun kaynak kontrolünde nasıl değiştirildiği hakkında bilgi sağlayan kod geçmişi CodeLens'ini içerir.
Uzantınızla kendi CodeLens'inizi sağlama hakkında ayrıntılı yönergeler için bkz. Visual Studio düzenleyicisini yeni bir CodeLens ile genişletme
Etiketleyiciler
Uzantılar, Visual Studio düzenleyicisine yeni tagger'lar ekleyebilir. Tagger'lar, verileri metin aralıklarıyla ilişkilendirmek için kullanılır; bu tür veriler diğer Visual Studio özellikleri (örneğin, CodeLens) tarafından kullanılır.
Kendi etiketleyicilerinizi uzantınızla sağlamak için ayrıntılı yönergeler için bkz. Visual Studio düzenleyicisini yeni bir etiketleyici ile genişletme
İlgili içerik
Düzenleyici kavramlarıhakkında düzenleyici arabirimleri ve türleri öğrenin.
Basit bir düzenleyici tabanlı uzantı için örnek kodu gözden geçirin:
İleri düzey kullanıcılar Düzenleyicisi RPC desteğihakkında bilgi edinmek isteyebilir.