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
Vytvořte projekt VSIX s názvem FirstPackage. Šablonu projektu VSIX najdete v dialogovém okně Nový projekt vyhledáním "vsix".
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.
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.
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í.
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
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 metoduInitialize()
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)); }
Sestavte projekt a spusťte ladění. Zobrazí se experimentální instance.
Otevřete řešení v experimentální instanci. Mělo by se zobrazit okno se zprávou s textem First Package Inside Initialize().