Aracılığıyla paylaş


İzlenecek yol: Sihirbaz Oluşturma

Visual Studio 2013 içinde, eklentiler kullanım dışı bırakılmıştır.Eklentilerinizi VSPackage uzantılarına yükseltmenizi öneririz.Yükseltme hakkında daha fazla bilgi için bkz. SSS: Eklentileri VSPackage Uzantılarına Dönüştürme.

Eklenti Sihirbazı gibi sihirbazlar, kullanıcıyı karmaşık, yinelenen veya zor bir görevi yerine getirmek için bir dizi eylem arasında yönlendiren programlardır.Örneğin Windows, ağ kaynaklarına bağlanmak, yazıcılara bağlanmak vb. işlemler için sihirbazları kullanır.

Visual Studio içinde sihirbazlar genellikle bir dizi soru sorarak kullanıcıdan bilgi toplar ve kod oluşturmak için sonuçları kullanır.Öte yandan, sihirbazlar her zaman kullanıcı arabirimini (UI) görüntülemez.Arka planda görünmez şekilde kod üretmek için programlanabilirler.

Üç farklı sihirbaz türü vardır.

  • Yeni Proje sihirbazları— adından da anlaşılacağı gibi, bu sihirbazlar, kullanıcıya kendi kodunu ekleyebileceği bir başlangıç noktası vererek belirli bir tür projeye yeni kod oluşturmak için kullanılır.Bu en çok kullanılan sihirbaz türüdür.

  • Yeni öğe ekleme sihirbazları—Bu sihirbazlar, projeye Web formları, metin dosyaları, HTML sayfaları, XML sayfaları gibi yeni öğeler eklemek için kullanılır.

  • Özel sihirbazlar—Bu sihirbazlar iletişim kutusundan çağrılmaz.Bunun yerine, bunlar doğrudan eklentilerden, makrolardan veya başka türdeki koddan çağrılır.Bunlar bir arabirim görüntüleyebilir de görüntülenmeyebilir de.Her iki durumda da, bunlar kodu üretir.Bu en az kullanılan sihirbaz türüdür.

Sihirbaz türü ne olursa olsun, tümü ortak özelliklere sahiptirler.

  • Bunlar IDTWizard arabirimini uygulayan ve sihirbazın çalıştırmasını istediğiniz kodu içeren ilişkili bir yönteme (Execute) sahip .NET nesneleridir.

  • Tümü kendilerini Visual Studio içinde görüntülemek için bir .vsz dosyası kullanır.

  • Bunların tümü kod oluşturur veya başka bir görevi gerçekleştirir.

Öğelerin görünümünü kendi oluşturduğunuz sihirbazlarda özelleştirebilirsiniz.Sihirbazlar büyük çoğunlukla bir veya birden çok pencere ya da sayfadan oluşur.Sayfalar, sayfanın üst veya sol tarafındaki gibi açıklayıcı bir resim, etiket açıklaması, yönergeler ve İleri ve Geri gibi gezinti denetimlerinin yerleştirilebileceği bir alanı içerebilir.

Visual C++ öğesinde sihirbaz oluşturma süreci standart Visual Studio sihirbazları oluşturmaktan biraz farklıdır.Visual C++ hedefleyen sihirbazların oluşturulması hakkındaki ek bilgiler için bkz. Sihirbaz Tasarlama ve Özel Sihirbaz Oluşturma.

[!NOT]

Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir.Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler.Daha fazla bilgi için bkz. Visual Studio'da Geliştirme Ayarlarını özelleştirme.

Temel Sihirbaz Örneği

Visual Studio Eklenti Sihirbazı

Bu resim, bir eklenti oluşturmak için sizi bir dizi adımla yönlendiren yeni bir proje türü sihirbaz olan Eklenti Sihirbazı panelini göstermektedir.Sihirbazlar görünümünü özelleştirebilseniz de, standart türden sihirbazlar için Eklenti Sihirbazı iyi bir örnektir.Tamamlanan sihirbazlar Yeni Proje veya Yeni Öğe Ekle iletişim kutusunda şablon olarak kullanılabilir.

Aşağıda, bir temel sihirbazın ve isteğe bağlı olarak bir özel simgenin nasıl oluşturulacağı gösterilmiştir.

Visual Basic ve Visual C#'de bir temel sihirbaz oluşturmak için

  1. Yönetici olarak Visual Studio öğesini çalıştırın.Sihirbazı kayıt ettirmek, kayıt defterini güncelleştirmeyi gerektirir, bu yüzden bu ayrıcalığı gerektirir.

  2. MyNewWizard olarak adlandırılan yeni bir Sınıf Kitaplığı projesi oluşturun.

  3. Projeye EnvDTE ve EnvDTE80 öğelerine başvurular ekleyin.

    Bunu yapmak için, projeyi sağ tıklayın ve Ekle, Başvuru öğesini tıklayın.Başvuru iletişim kutusunun .NET sekmesinde, EnvDTE ve EnvDTE80'e tıklayın ve sonra da Tamam'ı tıklayın.

Sınıf modülünde EnvDTE ve EnvDTE80 başvurularını ekleyin ve IDTWizard arabirimini uygulayın.Bu Visual C# örneği için ayrıca System.Windows.Forms ve System.Runtime.InteropServices için bir başvuru eklemelisiniz.

Imports EnvDTE 
Imports EnvDTE80
Public Class Class1
    Implements IDTWizard
using System;
using System.Collections.Generic;
using System.Text;
using EnvDTE; 
using EnvDTE80; 
using System. Windows.Forms;

using System.Runtime.InteropServices;

namespace MyNewWizard
{

[ComVisible(true)]

[Guid("20184B81-7C38-4E02-A1E3-8D564EEC2D25"),

ProgId("MyNewWizard.Class1")]

    public class Class1 : IDTWizard
    {
    }
}

Visual Basic içine Implements deyimini eklerken, otomatik olarak bir Execute yöntem yordamı oluşturmak için imleci satırın sonuna getirin ve Enter tuşuna basın.Bununla birlikte Visual C# için Execute yordamını el ile eklemelisiniz:

public class Class1 : IDTWizard
    {
    public void Execute(object Application,  
        int hwndOwner, ref object[] contextParams,  
        ref object[] customParams,  
        ref EnvDTE.wizardResult retval)
  1. Sihirbazın Execute yordamını çalıştırmasını istediğiniz kodu ekleyin.Bu örnek için yalnızca basit bir mesaj kutusu ekleyeceğiz.

    Aşağıdakilere sahip olmanız gerekir:

    Imports EnvDTE
    Imports EnvDTE80
    
    Public Class Class1
        Implements IDTWizard
    
        Public Sub Execute(ByVal Application As Object, ByVal _
        hwndOwner As Integer, ByRef ContextParams() As Object, ByRef _
        CustomParams() As Object, ByRef retval As EnvDTE.wizardResult) _
        Implements EnvDTE.IDTWizard.Execute
            MsgBox("The wizard is now running.")
        End Sub
    End Class 
    
    using System.Text;
    using EnvDTE;
    using EnvDTE80;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    
    namespace MyNewWizardCS
    {
        public class Class1 : IDTWizard
        {
    
        public void Execute(object Application, 
            int hwndOwner, ref object[] contextParams, 
            ref object[] customParams, 
            ref EnvDTE.wizardResult retval)
        {
            MessageBox.Show("The wizard is now running.");
        }
    }
    
    }
    

    Sihirbaz başladığında Execute yordamı çağrılır.

  2. Çözüm Gezgini'ndeki projenize sağ tıklayın ve Proje Özellikleri sayfasını açmak için Özellikler'e tıklayın ve Derle sekmesine tıklayıp sayfanın altındaki COM birlikte çalışması için kaydol kutusunu işaretleyin.

  3. AssemblyInfo.cs dosyasında ComVisible özniteliğini bulun ve true olarak ayarlayın.

  4. Oluştur menüsünden Yapı Çözümü öğesini tıklayarak sınıf kitaplığı .dll uzantısını oluşturmak için proje oluşturun.

  5. MyNewWizard.vsz adlı sihirbaz için .vsz metin dosyası oluşturun.

    Bunu yapmak için, <Visual Studio Install Directory>\VC#\CSharpProjectItems\Windows Forms adresinde bulunanlardan herhangi biri gibi varolan bir .vsz dosyasının kopyasını hazırlayın ve "MyNewWizard.vsz" olarak yeniden adlandırın.

    .vsz dosyası, sihirbazı tanıması için ve bunu Yeni Proje veya Yeni Öğe Ekle iletişim kutusunda görüntülemek için Visual Studio öğesini etkinleştiren bir metin dosyasıdır.Wizard parametresi, projenin veya GUID'in progID (Project.Classname) öğesine ayarlanmalıdır.Daha fazla bilgi için bkz. Sihirbazları Başlatmak için .Vsz Dosyalarını Yapılandırma.

    [!NOT]

    İsteğe bağlı olarak, sihirbaz için bir VSDir dosyası da oluşturabilirsiniz.Bu, Yeni Proje veya Yeni Dosya iletişim kutusunda sihirbazın açıklaması olarak görüntülenen bilgileri içerir.Ayrıca bir simge belirtmenize ve listedeki konumunu düzenlemenize olanak tanır.Daha fazla bilgi için bkz. .Vsdir Dosyalarını Kullanarak Öğe Ekleme ve Yeni Proje İletişim Kutularına Sihirbazlar Ekleme.

  6. MyNewWizard.vsz öğesinin içeriğini aşağıdakilerle değiştirin:

    VSWizard 7.0
    Wizard=MyNewWizard.Class1
    Param=First Item
    Param=Second Item
    
  7. Yeni .vsz dosyasını sihirbazın görünmesini istediğiniz dizine kaydedin.

    Bu örnek için sihirbazın Visual Basic projeleri için Yeni Öğe Ekle iletişim kutusunda görünmesini istiyoruz, bu yüzden .vsz dosyasını aşağıdaki dizine kaydedin: <Visual Studio Install Directory>\VB\VBProjectItems.

  8. Visual Studio uygulamasından çıkın ve yeniden başlatın.

    Bu Visual Studio öğesini yeni .vsz dosyasını okumaya zorlar.

  9. Windows Uygulaması projesi gibi yeni bir Visual Basic projesi oluşturun.

  10. Modelleme projesine sağ tıklayın, Ekle'ye gelin ve sonra Yeni Öğe'ye tıklayın.

    Yeni Öğe Ekle iletişim kutusunda yeni sihirbazınızı (MyNewWizard) görmelisiniz.

  11. Sihirbazı, ardından Ekle düğmesini tıklayın.

    "Sihirbaz şimdi çalışıyor" iletisini görürsünüz.

Yeni sihirbaz için özel bir simge görüntülemek için

  • .Dll dosyası olarak aynı temel dosya adı uzantısı olan bir simge dosyasını, sihirbaz dosyasıyla aynı dizinde olan bir .ico uzantısıyla birlikte yerleştirin.

    Örneğin sihirbaz MyNewWizard.dll olarak adlandırılırsa .ico dosyasını MyNewWizard.ico olarak adlandırın.

    -veya-

  • VSDir dosyası oluşturduysanız, dosyada simge (.ico) dosyasının yolunu belirtin.

Ayrıca bkz.

Görevler

Nasıl yapılır: Eklentiler Oluşturma

Başvuru

IDTWizard

Kavramlar

Otomasyon Nesne Modeli Grafiği

.Vsdir Dosyalarını Kullanarak Öğe Ekleme ve Yeni Proje İletişim Kutularına Sihirbazlar Ekleme

Sihirbazları Başlatmak için .Vsz Dosyalarını Yapılandırma

Diğer Kaynaklar

Eklentiler ve Sihirbazlar Oluşturma

Visual Studio Komutları ve Anahtarları