Vytvoření rozšíření pomocí balíčku VSPackage

Tento návod ukazuje, jak vytvořit projekt VSIX a přidat položku projektu VSPackage. Balíček VSPackage použijeme k získání služby UI Shell, abychom zobrazili okno se zprávou.

Vytvoření balíčku VSPackage

  1. Vytvořte projekt VSIX s názvem FirstPackage. Šablonu projektu VSIX najdete v dialogovém okně Nový projekt vyhledáním "vsix".

  2. Po otevření projektu přidejte šablonu položky balíčku sady Visual Studio s názvem FirstPackage. V Průzkumník řešení klikněte pravým tlačítkem myši na uzel projektu a vyberte Přidat>novou položku. V dialogovém okně Přidat novou položku přejděte na Visual C#>Rozšiřitelnost a vyberte Visual Studio Package. V poli Název v dolní části okna změňte název souboru příkazu na FirstPackage.cs.

  3. Sestavte projekt a spusťte ladění.

    Zobrazí se experimentální instance sady Visual Studio. Další informace o experimentální instanci naleznete v tématu Experimentální instance.

  4. V experimentální instanci otevřete okno Rozšíření nástrojů>a Aktualizace. Tady byste měli vidět rozšíření FirstPackage . (Pokud otevřete Rozšíření a Aktualizace v pracovní instanci sady Visual Studio, neuvidíte FirstPackage).

Načtení balíčku VSPackage

V tomto okamžiku se rozšíření nenačte, protože není nic, co by ho mohlo načíst. Rozšíření můžete obecně načíst, když pracujete s jeho uživatelským rozhraním (kliknutím na příkaz nabídky, otevřením okna nástroje) nebo zadáním toho, že by se balíček VSPackage měl načíst v konkrétním kontextu uživatelského rozhraní. Další informace o načítání balíčků VSPackage a kontextů uživatelského rozhraní najdete v tématu Načítání balíčků VSPackage. V tomto postupu vám ukážeme, jak načíst balíček VSPackage při otevření řešení.

  1. Otevřete soubor FirstPackage.cs. Vyhledejte deklaraci FirstPackage třídy. Nahraďte existující atributy následujícími atributy:

    [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. Pojďme přidat zprávu, která nám dá vědět, že balíček VSPackage se načetl. K tomu používáme metodu VSPackage Initialize() , protože služby sady Visual Studio můžete získat až po vytvoření lokality balíčku VSPackage. (Další informace o získávání služeb najdete v tématu Postupy: Získání služby.) Nahraďte metodu Initialize()FirstPackage kódem, který získá SVsUIShell službu, získá IVsUIShell rozhraní a volá jeho ShowMessageBox metodu.

    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. Sestavte projekt a spusťte ladění. Zobrazí se experimentální instance.

  4. Otevřete řešení v experimentální instanci. Mělo by se zobrazit okno se zprávou s textem First Package Inside Initialize().