VSPackage ile uzantı oluşturma

Bu kılavuzda bir VSIX projesi oluşturma ve VSPackage proje öğesi ekleme adımları gösterilmektedir. BIR ileti kutusu göstermek üzere UI Shell hizmetini almak için VSPackage'ı kullanacağız.

VSPackage oluşturma

  1. FirstPackage adlı bir VSIX projesi oluşturun. "vsix" araması yaparak VSIX proje şablonunu Yeni Proje iletişim kutusunda bulabilirsiniz.

  2. Proje açıldığında FirstPackage adlı bir Visual Studio paket öğesi şablonu ekleyin. Çözüm Gezgini proje düğümüne sağ tıklayın ve Yeni Öğe Ekle'yi>seçin. Yeni Öğe Ekle iletişim kutusunda Visual C#>Genişletilebilirlik'e gidin ve Visual Studio Paketi'ni seçin. Pencerenin en altındaki Ad alanında, komut dosyası adını FirstPackage.cs olarak değiştirin.

  3. Projeyi derleyin ve hata ayıklamaya başlayın.

    Visual Studio'nun deneysel örneği görüntülenir. Deneysel örnek hakkında daha fazla bilgi için bkz . Deneysel örnek.

  4. Deneysel örnekte Araçlar>Uzantıları ve Güncelleştirmeler penceresini açın. FirstPackage uzantısını burada görmeniz gerekir. (Şunu açarsanız:Visual Studio'nun çalışma örneğinizdeki uzantılar ve Güncelleştirmeler FirstPackage'ı görmezsiniz).

VSPackage'i yükleme

Bu noktada uzantı yüklenmez çünkü yüklenmesine neden olan hiçbir şey yoktur. Bir uzantıyı genellikle kullanıcı arabirimiyle etkileşim kurarken (bir menü komutuna tıklayarak, araç penceresi açarak) veya VSPackage'ın belirli bir kullanıcı arabirimi bağlamında yüklenmesini belirterek yükleyebilirsiniz. VSPackage'ları ve kullanıcı arabirimi bağlamlarını yükleme hakkında daha fazla bilgi için bkz . VSPackage'ları yükleme. Bu yordamda, bir çözüm açıkken VSPackage'ın nasıl yükleneceklerini göstereceğiz.

  1. FirstPackage.cs dosyasını açın. sınıfının bildirimini FirstPackage arayın. Mevcut öznitelikleri aşağıdaki özniteliklerle değiştirin:

    [PackageRegistration(UseManagedResourcesOnly = true)]
    [InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)] // Info on this package for Help/About
    [ProvideAutoLoad(UIContextGuids80.SolutionExists)]
    [Guid(FirstPackage.PackageGuidString)]
    public sealed class FirstPackage : Package
    
  2. VSPackage'ın yüklendiğini bize haber veren bir ileti ekleyelim. Bunu yapmak için VSPackage'ın Initialize() yöntemini kullanırız çünkü Visual Studio hizmetlerini yalnızca VSPackage sitesi oluşturulduktan sonra alabilirsiniz. (Hizmetleri alma hakkında daha fazla bilgi için bkz. Nasıl yapılır: Hizmet alma.) Initialize() yöntemini FirstPackage hizmeti alan SVsUIShell , arabirimini alan IVsUIShell ve yöntemini çağıran ShowMessageBox kodla değiştirin.

    protected override void Initialize()
    {
        base.Initialize();
    
        IVsUIShell uiShell = (IVsUIShell)GetService(typeof(SVsUIShell));
        Guid clsid = Guid.Empty;
        int result;
        Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(uiShell.ShowMessageBox(
            0,
            ref clsid,
            "FirstPackage",
             string.Format(CultureInfo.CurrentCulture, "Inside {0}.Initialize()", this.GetType().FullName),
            string.Empty,
            0,
            OLEMSGBUTTON.OLEMSGBUTTON_OK,
            OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST,
            OLEMSGICON.OLEMSGICON_INFO,
            0,
            out result));
    }
    
  3. Projeyi derleyin ve hata ayıklamaya başlayın. Deneysel örnek görüntülenir.

  4. Deneysel örnekte bir çözüm açın. Initialize() İçinde İlk Paket yazan bir ileti kutusu görmeniz gerekir.