Aracılığıyla paylaş


Visual Studio SDK’nın İçinde

Bu bölümde Visual Studio mimarisi, bileşenleri, hizmetleri, şemaları, yardımcı programları ve benzerleri dahil olmak üzere Visual Studio uzantıları hakkında ayrıntılı bilgi sağlanır.

Genişletilebilirlik Mimarisi

Aşağıdaki çizimde Visual Studio genişletilebilirlik mimarisi gösterilmektedir. VSPackage'lar, IDE genelinde hizmet olarak paylaşılan uygulama işlevselliği sağlar. Standart IDE, IDE pencereleme işlevine erişim sağlayan gibi SVsUIShellçok çeşitli hizmetler de sunar.

Ortam Mimarisi grafiği

Visual Studio mimarisinin genelleştirilmiş görünümü

VSPackage’lar

VSPackage'lar, Visual Studio'yu kullanıcı arabirimi öğeleri, hizmetler, projeler, düzenleyiciler ve tasarımcılarla oluşturan ve genişleten yazılım modülleridir. VSPackages, Visual Studio'nun merkezi mimari birimidir. Daha fazla bilgi için bkz . VSPackages.

Visual Studio Kabuğu

Visual Studio kabuğu temel işlevler sağlar ve bileşeni VSPackage'lar ve MEF uzantıları arasında çapraz iletişimi destekler. Daha fazla bilgi için bkz . Visual Studio Shell.

Kullanıcı Deneyimi Yönergeleri

Visual Studio için yeni özellikler tasarlamayı planlıyorsanız, tasarım ve kullanılabilirlik ipuçları için şu yönergelere göz atmalısınız: Visual Studio Kullanıcı Deneyimi Yönergeleri.

Komutlar

Komutlar, belge yazdırma, görünümü yenileme veya yeni dosya oluşturma gibi görevleri yerine getiren işlevlerdir.

Visual Studio'yu genişlettiğiniz zaman komutlar oluşturabilir ve bunları Visual Studio kabuğuna kaydedebilirsiniz. Bu komutların IDE'de, örneğin bir menü veya araç çubuğunda nasıl görüneceğini belirtebilirsiniz. Genellikle Araçlar menüsünde özel bir komut ve Görünüm menüsünün Diğer Windows alt menüsünde bir araç penceresi görüntüleme komutu görüntülenir.

Bir komut oluşturduğunuzda, bunun için bir olay işleyicisi de oluşturmanız gerekir. Olay işleyicisi, komutun ne zaman görünür veya etkin olduğunu belirler, metnini değiştirmenize olanak tanır ve etkinleştirildiğinde komutun uygun şekilde yanıt vereceğini garanti eder. Çoğu durumda IDE, arabirimini kullanarak IOleCommandTarget komutları işler. Visual Studio'daki komutlar, yerel seçime göre en içteki komut bağlamından başlayarak ve genel seçime göre en dıştaki bağlama devam ederek işlenir. Ana menüye eklenen komutlar betik oluşturma için hemen kullanılabilir.

Daha fazla bilgi için bkz . Komutlar, Menüler ve Araç Çubukları.

Menüler ve araç çubukları, kullanıcıların komutları çağırması için bir yol sağlar. Menüler, genellikle araç penceresinin üst kısmında tek tek metin öğeleri olarak görüntülenen komut satırları veya sütunlarıdır. Alt menüler, kullanıcı küçük bir ok içeren komutlara tıkladığında görüntülenen ikincil menülerdir. Kullanıcı belirli kullanıcı arabirimi öğelerine sağ tıkladığında bağlam menüleri görüntülenir. Bazı yaygın menü adları Dosya, Düzenle, Görünüm ve Pencere'dir. Daha fazla bilgi için bkz . Menüleri ve Komutları Genişletme.

Araç çubukları, düğme satırları veya sütunları ve birleşik giriş kutuları, liste kutuları ve metin kutuları gibi diğer denetimlerdir. Araç çubuğu düğmeleri genellikle Dosya Aç komutu için klasör simgesi veya Yazdır komutu için yazıcı gibi simge görüntülerine sahiptir. Tüm araç çubuğu öğeleri komutlarla ilişkilendirilir. Bir araç çubuğu düğmesine tıkladığınızda, bu düğmenin ilişkili komutu çalıştırılır. Açılan denetim söz konusu olduğunda, açılan listedeki her öğe farklı bir komutla ilişkilendirilir. Bölücü denetimi gibi bazı araç çubuğu denetimleri karmadır. Denetimin bir tarafı araç çubuğu düğmesi, diğer tarafı ise tıklandığında birkaç komut görüntüleyen aşağı ok şeklindedir.

Araç Pencereleri

Araç pencereleri, bilgileri görüntülemek için IDE'de kullanılır. Araç kutusu, Çözüm Gezgini, Özellikler penceresi ve Web Tarayıcısı, araç pencerelerine örnek olarak verilebilir.

Araç pencereleri genellikle kullanıcının etkileşim kurabileceği çeşitli denetimler sunar. Örneğin Özellikler penceresi, kullanıcının belirli bir amaca hizmet eden nesnelerin özelliklerini ayarlamasına olanak tanır. Özellikler penceresi bu anlamda özelleşmiştir, ancak birçok farklı durumda kullanılabildiğinden de geneldir. Benzer şekilde, Çıktı penceresi metin tabanlı çıkış sağladığından özeldir, ancak Visual Studio'daki birçok alt sistem bunu Visual Studio kullanıcısına çıkış sağlamak için kullanabileceğinden geneldir.

Birkaç araç penceresi içeren Visual Studio'nun aşağıdaki resmini göz önünde bulundurun:

Ekran görüntüsü

Araç pencerelerinden bazıları, Çözüm Gezgini araç penceresini görüntüleyen ve diğer araç pencerelerini gizleyen ancak sekmelere tıklayarak kullanılabilir hale getiren tek bir bölmede bir araya getirilir. Resimde, hata listesi ve çıkış penceresi adlı diğer iki araç penceresi tek bir bölmede bir araya yerleştirilmiş olarak gösterilir.

Ayrıca, çeşitli düzenleyici pencerelerini gösteren ana belge bölmesi de gösterilir. Araç pencerelerinde genellikle tek bir örnek olsa da (örneğin, yalnızca bir Çözüm Gezgini açabilirsiniz), düzenleyici pencerelerinde birden çok örnek olabilir. Bunların her biri ayrı bir belgeyi düzenlemek için kullanılır ancak tümü aynı bölmeye yerleştirilmiştir. Resimde, bir form tasarımcısı penceresi olmak üzere iki düzenleyici penceresi olan bir belge bölmesi gösterilir. Belge bölmesindeki tüm pencereler sekmelere tıklanarak kullanılabilir, ancak EditorPane.cs dosya içeren düzenleyici penceresi görünür ve etkindir.

Visual Studio'yu genişlettiğinizde, Visual Studio kullanıcılarının uzantınızla etkileşim kurmasına olanak sağlayan araç pencereleri oluşturabilirsiniz. Visual Studio kullanıcılarının belgeleri düzenlemesine izin veren kendi düzenleyicilerinizi de oluşturabilirsiniz. Araç pencereleriniz ve düzenleyicileriniz Visual Studio ile tümleştirileceği için, bunları bir sekmeye doğru şekilde yerleştirilecek veya görünecek şekilde programlamanız gerekmez. Visual Studio'da doğru şekilde kaydedildiklerinde, Visual Studio'daki araç pencerelerinin ve belge pencerelerinin tipik özelliklerine otomatik olarak sahip olurlar. Daha fazla bilgi için bkz . Araç Pencerelerini Genişletme ve Özelleştirme.

Belge Pencereleri

Belge penceresi, çok belgeli arabirim (MDI) penceresinin çerçeveli alt penceresidir. Belge pencereleri genellikle metin düzenleyicileri, form düzenleyicileri (tasarımcılar olarak da bilinir) veya düzenleme denetimlerini barındırmak için kullanılır, ancak diğer işlevsel türleri de barındırabilir. Yeni Dosya iletişim kutusu, Visual Studio'nun sağladığı belge pencerelerinin örneklerini içerir.

Çoğu düzenleyici bir programlama diline veya HTML sayfaları, çerçeve kümeleri, C++ dosyaları veya üst bilgi dosyaları gibi bir dosya türüne özgüdür. Yeni Dosya iletişim kutusunda bir şablon seçerek, kullanıcı şablonla ilişkilendirilmiş dosya türü için düzenleyici için dinamik olarak bir belge penceresi oluşturur. Kullanıcı var olan bir dosyayı açtığında belge penceresi de oluşturulur.

Belge pencereleri MDI istemci alanıyla sınırlıdır. Her belge penceresinin üst kısmında bir sekme vardır ve sekme sırası MDI alanında açık olabilecek diğer pencerelere bağlanır. Belge penceresinin sekmesine sağ tıklanması, MDI alanını birden çok yatay veya dikey sekme grubuna bölme seçeneklerini içeren bir kısayol menüsü görüntüler. MDI alanının bölünmesi, aynı anda birden çok dosya görüntülenmesini sağlar. Daha fazla bilgi için bkz . Belge Pencereleri.

Düzenleyiciler

Visual Studio düzenleyicisi, Yönetilen Genişletilebilirlik Çerçevesi (MEF) yoluyla bunu özelleştirmenize ve kendi içerik türünüz için kullanmanıza olanak tanır. Çoğu durumda düzenleyiciyi genişletmek için VSPackage oluşturmanız gerekmez, ancak kabuktaki özellikleri (örneğin, menü komutu veya kısayol tuşu) eklemek istiyorsanız, MEF uzantısını VSPackage ile birleştirebilirsiniz.

Ayrıca, örneğin bir veritabanını okumak ve yazmak veya tasarımcı kullanmak istiyorsanız özel bir düzenleyici oluşturabilirsiniz. Not Defteri veya Microsoft WordPad gibi bir dış düzenleyici de kullanabilirsiniz. Daha fazla bilgi için bkz . Düzenleyici ve Dil Hizmeti Uzantıları.

Dil Hizmetleri

Visual Studio düzenleyicisinin yeni programlama anahtar sözcüklerini ve hatta yeni bir programlama dilini desteklemesini istiyorsanız, bir dil hizmeti oluşturursunuz. Her dil hizmeti belirli düzenleyici özelliklerini tamamen, kısmen veya hiç uygulamayabilir. Nasıl yapılandırıldığına bağlı olarak, dil hizmeti söz dizimi vurgulama, küme ayracı eşleştirme, IntelliSense desteği ve düzenleyicideki diğer özellikleri sağlayabilir.

Dil hizmetinin merkezinde ayrıştırıcı ve tarayıcı bulunur. Tarayıcı (veya sözcük oluşturucu) bir kaynak dosyayı belirteç olarak bilinen öğelere böler ve ayrıştırıcı bu belirteçler arasındaki ilişkileri kurar. Bir dil hizmeti oluşturduğunuzda, Visual Studio'nun dilin belirteçlerini ve dil bilgisini anlayabilmesi için ayrıştırıcıyı ve tarayıcıyı uygulamanız gerekir. Yönetilen veya yönetilmeyen dil hizmetleri oluşturabilirsiniz. Daha fazla bilgi için bkz . Eski Dil Hizmeti Genişletilebilirliği.

Projeler

Visual Studio'da projeler, geliştiricilerin kaynak kodu ve diğer kaynakları düzenlemek ve oluşturmak için kullandığı kapsayıcılardır. Projeler, kaynak kodu, Web hizmetleri ve veritabanlarına yönelik başvuruları ve diğer kaynakları düzenlemenize, derlemenize, hata ayıklamanıza ve dağıtmanıza olanak sağlar. VSPackage'lar proje türleri, proje alt türleri ve özel araçlar sağlayarak Visual Studio proje sistemini genişletebilir.

Projeler, bir uygulama oluşturmak için birlikte çalışan bir veya daha fazla projeden oluşan bir grup olan bir çözümde de bir araya toplanabilir. Çözümle ilgili proje ve durum bilgileri, metin tabanlı çözüm (.sln) dosyası ve ikili çözüm kullanıcı seçeneği (.suo) dosyası olmak üzere iki çözüm dosyasında depolanır. Bu dosyalar, Visual Basic'in önceki sürümlerinde kullanılan grup (.vbg) dosyalarına ve C++'ın önceki sürümlerinde kullanılan çalışma alanı (.dsw) ve kullanıcı seçenekleri (.opt) dosyalarına benzer.

Daha fazla bilgi için bkz . Projeler ve Çözümler.

Proje ve Öğe Şablonları

Visual Studio önceden tanımlanmış proje şablonları ve proje öğesi şablonları içerir. Ayrıca kendi şablonlarınızı oluşturabilir veya topluluktan şablonlar edinebilir ve bunları Visual Studio ile tümleştirebilirsiniz. MSDN Kod Galerisi, şablonlar ve uzantılar için gidilir.

Şablonlar, belirli bir uygulama, denetim, kitaplık veya sınıf oluşturmak için gereken proje yapısını ve temel dosyaları içerir. Şablonlardan birine benzeyen bir yazılım geliştirmek istediğinizde, şablonu temel alan bir proje oluşturun ve ardından bu projedeki dosyaları değiştirin.

Not

Bu şablon mimarisi Visual C++ projeleri için desteklenmez.

Daha fazla bilgi için bkz . Proje ve Proje Öğesi Şablonları Ekleme.

Özellikler ve Seçenekler

Özellikler penceresi, seçili tek veya birden çok öğenin özelliklerini görüntüler: Özellikler Seçenekleri sayfalarını genişletme, programlama dili veya VSPackage gibi belirli bir bileşenle ilgili seçenekler kümesi içerir: Seçenekler ve Seçenekler Sayfaları. Ayarlar genellikle içeri ve dışarı aktarılabilir kullanıcı arabirimiyle ilgili özelliklerdir: Kullanıcı Ayarlar desteği.

Visual Studio Services

Hizmet, bileşenlerin tüketmesi için belirli bir arabirim kümesi sağlar. Visual Studio, uzantılar da dahil olmak üzere tüm bileşenler tarafından kullanılabilecek bir hizmet kümesi sağlar. Örneğin, Visual Studio hizmetleri araç pencerelerinin dinamik olarak gösterilmesini veya gizlenebilmesini, Yardım, durum çubuğu veya UI olaylarına erişimi etkinleştirmesini sağlar. Visual Studio düzenleyicisi, düzenleyici uzantıları tarafından içeri aktarılabilir hizmetler de sağlar. Daha fazla bilgi için bkz . Hizmetleri Kullanma ve Sağlama.

Hata Ayıklayıcı

Hata ayıklayıcı, dile özgü hata ayıklama bileşenlerinin kullanıcı arabirimidir. Yeni bir dil hizmeti oluşturduysanız, hata ayıklayıcıya bağlanmak için belirli bir hata ayıklama altyapısı oluşturmanız gerekir. Daha fazla bilgi için bkz . Visual Studio Hata Ayıklayıcısı Genişletilebilirliği.

Kaynak Denetimi

Kaynak denetimi eklentisi veya VSPackage uygulama hakkında bilgi için bkz . Kaynak Denetimi.

Sihirbazlar

Sihirbazı yeni bir proje türüyle birlikte oluşturabilirsiniz; böylece sihirbaz, kullanıcılarınızın bu tür yeni bir proje oluştururken doğru kararları vermelerine yardımcı olabilir. Daha fazla bilgi için bkz . Sihirbazlar.

Özel Araçlar

Özel araçlar, bir aracı projedeki bir öğeyle ilişkilendirmenize ve dosya her kaydedildiğinde bu aracı çalıştırmanıza olanak sağlar. Daha fazla bilgi için bkz . Özel Araçlar.

VSSDK Yardımcı Programları

VSSDK, VSPackage'ların farklı yönleriyle çalışmak için ihtiyacınız olabilecek bir dizi yardımcı program içerir. Daha fazla bilgi için bkz . VSSDK Yardımcı Programları.

Windows Installer'ın kullanımı

Bazı durumlarda VSIX yükleyicisi yerine Windows Installer'ı kullanmanız gerekebilir: örneğin, kayıt defterine yazmanız gerekebilir. Windows Installer'ı uzantılarınızla kullanma hakkında bilgi için bkz . Windows Installer ile VSPackage Yükleme.

Yardım Görüntüleyicisi

Kendi yardım ve F1 sayfalarınızı Yardım Görüntüleyicisi ile tümleştirebilirsiniz. Daha fazla bilgi için bkz . Microsoft Yardım Görüntüleyicisi SDK'sı.