Sdílet prostřednictvím


Přidání příkazu na panel nástrojů Průzkumník řešení

Tento návod ukazuje, jak přidat tlačítko na panel nástrojů Průzkumník řešení.

Libovolný příkaz na panelu nástrojů nebo nabídce se v sadě Visual Studio nazývá tlačítko. Po kliknutí na tlačítko se spustí kód v obslužné rutině příkazu. Související příkazy jsou obvykle seskupené dohromady a tvoří jednu skupinu. Nabídky nebo panely nástrojů fungují jako kontejnery pro skupiny. Priorita určuje pořadí, ve kterém se jednotlivé příkazy ve skupině zobrazují v nabídce nebo na panelu nástrojů. Můžete zabránit zobrazení tlačítka na panelu nástrojů nebo v nabídce tím, že řídíte jeho viditelnost. Příkaz uvedený v <VisibilityConstraints> části souboru .vsct se zobrazí pouze v přidruženém kontextu. Viditelnost nelze použít u skupin.

Další informace o nabídkách, příkazech panelu nástrojů a souborech .vsct naleznete v tématu Příkazy, nabídky a panely nástrojů.

Poznámka:

Pomocí souborů tabulky příkazů XML (.vsct) místo souborů konfigurace tabulky příkazů (.ctc) definujte, jak se v balíčku VSPackage zobrazují nabídky a příkazy. Další informace najdete v tématu Tabulka příkazů sady Visual Studio (. Soubory Vsct).

Vytvoření rozšíření pomocí příkazu nabídky

Vytvořte projekt VSIX s názvem SolutionToolbar. Přidejte šablonu položky příkazu nabídky s názvem ToolbarButton. Informace o tom, jak to udělat, naleznete v tématu Vytvoření rozšíření pomocí příkazu nabídky.

Přidání tlačítka na panel nástrojů Průzkumník řešení

Tato část návodu ukazuje, jak přidat tlačítko na panel nástrojů Průzkumník řešení. Po kliknutí na tlačítko se spustí kód v metodě zpětného volání.

  1. V souboru ToolbarButtonPackage.vsct přejděte do oddílu<Symbols>. Uzel <GuidSymbol> obsahuje skupinu nabídek a příkaz vygenerovaný šablonou balíčku. <IDSymbol> Přidejte do tohoto uzlu prvek, který deklaruje skupinu, která bude obsahovat váš příkaz.

    <IDSymbol name="SolutionToolbarGroup" value="0x0190"/>
    
  2. <Groups> V části po existující položce skupiny definujte novou skupinu, kterou jste deklarovali v předchozím kroku.

    <Group guid="guidToolbarButtonPackageCmdSet"
           id="SolutionToolbarGroup" priority="0xF000">
            <Parent guid="guidSHLMainMenu" id="IDM_VS_TOOL_PROJWIN"/>
          </Group>
    

    Nastavení nadřazeného páru GUID:ID na guidSHLMainMenu panelu nástrojů Průzkumník řešení a IDM_VS_TOOL_PROJWIN nastavení hodnoty s vysokou prioritou ji umístí za ostatní skupiny příkazů.

  3. <Buttons> V části změňte nadřazené ID vygenerované <Button> položky tak, aby odráželo skupinu, kterou jste definovali v předchozím kroku. Upravený <Button> prvek by měl vypadat takto:

    <Button guid="guidToolbarButtonPackageCmdSet" id="ToolbarButtonId" priority="0x0100" type="Button">
        <Parent guid="guidToolbarButtonPackageCmdSet" id="SolutionToolbarGroup" />
        <Icon guid="guidImages" id="bmpPicStrikethrough" />
        <Strings>
            <ButtonText>Invoke ToolbarButton</ButtonText>
        </Strings>
    </Button>
    
  4. Sestavte projekt a spusťte ladění. Zobrazí se experimentální instance.

    Panel nástrojů Průzkumník řešení by měl zobrazit nové příkazové tlačítko napravo od existujících tlačítek. Ikona tlačítka je přeškrtnuté.

  5. Klikněte na nové tlačítko.

    Mělo by se zobrazit dialogové okno se zprávou ToolbarButtonPackage Inside SolutionToolbar.ToolbarButton.MenuItemCallback().

Řízení viditelnosti tlačítka

Tato část názorného postupu ukazuje, jak řídit viditelnost tlačítka na panelu nástrojů. Nastavením kontextu na jeden nebo více projektů v <VisibilityConstraints> části souboru SolutionToolbar.vsct omezíte zobrazení tlačítka pouze v případě, že je otevřený projekt nebo projekty.

Zobrazení tlačítka při otevření jednoho nebo více projektů

  1. <Buttons> V části ToolbarButtonPackage.vsct přidejte mezi a <Icons> značky <Button> existující prvek <Strings> dva příznaky příkazů.

    <CommandFlag>DefaultInvisible</CommandFlag>
    <CommandFlag>DynamicVisibility</CommandFlag>
    

    Značky DefaultInvisible a DynamicVisibility příznaky musí být nastavené tak, aby se položky v oddílu <VisibilityConstraints> mohly projevit.

  2. Vytvořte <VisibilityConstraints> oddíl se dvěma <VisibilityItem> položkami. Nový oddíl umístěte těsně za koncovou </Commands> značku.

    <VisibilityConstraints>
        <VisibilityItem guid="guidToolbarButtonPackageCmdSet"
              id="ToolbarButtonId"
              context="UICONTEXT_SolutionHasSingleProject" />
        <VisibilityItem guid="guidToolbarButtonPackageCmdSet"
              id="ToolbarButtonId"
              context="UICONTEXT_SolutionHasMultipleProjects" />
    </VisibilityConstraints>
    

    Každá položka viditelnosti představuje podmínku, pod kterou se zobrazí zadané tlačítko. Pokud chcete použít více podmínek, musíte pro stejné tlačítko vytvořit více položek.

  3. Sestavte projekt a spusťte ladění. Zobrazí se experimentální instance.

    Panel nástrojů Průzkumník řešení neobsahuje přeškrtnuté tlačítko.

  4. Otevřete jakékoli řešení, které obsahuje projekt.

    Přeškrtnuté tlačítko se zobrazí na panelu nástrojů napravo od existujících tlačítek.

  5. V nabídce Soubor klepněte na tlačítko Zavřít řešení. Tlačítko zmizí z panelu nástrojů.

    Viditelnost tlačítka je řízena sadou Visual Studio, dokud se nenačte balíček VSPackage. Po načtení balíčku VSPackage se viditelnost tlačítka řídí nástrojem VSPackage. Další informace naleznete v tématu MenuCommands vs. OleMenuCommands.