Visual Studio uzantısının anatomisi
VSIX paketi, bir veya daha fazla Visual Studio uzantısını ve Visual Studio'da uzantıları sınıflandırmak ve yüklemek için kullanılan meta verileri içeren bir .vsix dosyasıdır. VSIX paket biçimi, Zip dosyalarını açabilen herhangi bir araç tarafından açılabilmesi anlamına gelen Open Packaging Conventions (OPC) standardını izler.
Uzantı projesi, benzersiz hale getiren birkaç ek özelliği olan bir C# projesidir. Aşağıdaki video, uzantı projelerinin nasıl çalıştığını daha iyi anlamak için bir uzantı projesini inceler:
Dosya yapısı
VSIX Projesi w/Command (Topluluk) şablonunu kullanarak yeni uzantılar oluştururken, dosya yapısı aşağıdaki gibi görünür:
.vsixmanifest dosyası ana dosyadır. Visual Studio tarafından kullanılan uzantı hakkında bilgi içeren bir XML dosyasıdır. Uzantının tüm bileşenleri .vsixmanifest dosyasına kaydedilir. VsIX projesindeki tek zorunlu dosyadır.
VSCommandTable.vsct dosyası, komutların bildirildiği yerdir. Bu bir XML dosyasıdır ve düğme komutlarının, menülerin, klavye kısayol bağlamalarının ve daha fazlasının tanımlarını içerir. Dosya, içeriğini Visual Studio'nın komut tablosu menü yapısının tamamını oluşturmak için kullandığı çıkış .dll bir blobda derler. Bu dosya yalnızca komut tablosundaki bileşenleri bildirir; komut çağrılarını işlemez.
*Package.cs dosyası, çoğu uzantının giriş noktası olan Package sınıfıdır. Burada genellikle komut işleyicileri, araç pencereleri, seçenekler sayfaları, hizmetler ve kayıtlı diğer bileşenler bulunur.
Derleme
Proje, geçerli çözüm derleme yapılandırmanıza bağlı olarak /bin/debug veya /bin/release klasöründe bulunan bir .vsix dosyasında derlenmiştir. Visual Studio uzantısı geliştirme iş yükü, VSIX proje çeşidini işlemek için ayrılmış MSBuild hedefleri ve görevleri sağlar.
VSIX projesi oluşturulduğunda otomatik olarak Deneysel Örneğe dağıtılır. Bu, VSIX proje ayarlarında denetlenebilir:
Deneysel örnek
Visual Studio geliştirme ortamınızı değiştirebilecek test edilmemiş uygulamalardan korumak için VSSDK, deneme yapmak için kullanabileceğiniz deneysel bir alan sağlar. Visual Studio'yu her zamanki gibi kullanarak yeni uygulamalar geliştirirsiniz, ancak bunları bu Deneysel Örneği kullanarak çalıştırırsınız.
VSIX paketi olan her uygulama, Visual Studio deneysel örneğini hata ayıklama modunda başlatır.
Visual Studio'nun deneysel örneğini belirli bir çözümün dışında başlatmak istiyorsanız, komut penceresinde aşağıdaki komutu çalıştırın:
devenv.exe /RootSuffix Exp
Daha fazla genişletilebilirlik kavramı için bu araç setini takip etmek için kullanışlı kaynaklara göz atın.