Udostępnij za pośrednictwem


Dodawanie polecenia do paska narzędzi Eksplorator rozwiązań

W tym przewodniku pokazano, jak dodać przycisk do paska narzędzi Eksplorator rozwiązań.

Dowolne polecenie na pasku narzędzi lub menu jest nazywane przyciskiem w programie Visual Studio. Po kliknięciu przycisku zostanie wykonany kod w procedurze obsługi poleceń. Zazwyczaj powiązane polecenia są grupowane razem w celu utworzenia jednej grupy. Menu lub paski narzędzi działają jako kontenery dla grup. Priorytet określa kolejność wyświetlania poszczególnych poleceń w grupie w menu lub na pasku narzędzi. Możesz uniemożliwić wyświetlanie przycisku na pasku narzędzi lub w menu, kontrolując jego widoczność. Polecenie wymienione w <VisibilityConstraints> sekcji pliku vsct jest wyświetlane tylko w skojarzonym kontekście. Nie można zastosować widoczności do grup.

Aby uzyskać więcej informacji na temat menu, poleceń paska narzędzi i plików vsct , zobacz Polecenia, menu i paski narzędzi.

Uwaga

Użyj plików tabeli poleceń XML (vsct) zamiast plików konfiguracji tabeli poleceń (ctc), aby zdefiniować sposób wyświetlania menu i poleceń w pakietach VSPackage. Aby uzyskać więcej informacji, zobacz Tabela poleceń programu Visual Studio (. Pliki vsct).

Tworzenie rozszerzenia za pomocą polecenia menu

Utwórz projekt VSIX o nazwie SolutionToolbar. Dodaj szablon elementu polecenia menu o nazwie ToolbarButton. Aby uzyskać informacje o tym, jak to zrobić, zobacz Create an extension with a menu command (Tworzenie rozszerzenia za pomocą polecenia menu).

Dodawanie przycisku do paska narzędzi Eksplorator rozwiązań

W tej sekcji przewodnika pokazano, jak dodać przycisk do paska narzędzi Eksplorator rozwiązań. Po kliknięciu przycisku zostanie uruchomiony kod w metodzie wywołania zwrotnego.

  1. W pliku ToolbarButtonPackage.vsct przejdź do <Symbols> sekcji. Węzeł <GuidSymbol> zawiera grupę menu i polecenie, które zostało wygenerowane przez szablon pakietu. Dodaj element do tego węzła, aby zadeklarować grupę <IDSymbol> , która będzie przechowywać polecenie.

    <IDSymbol name="SolutionToolbarGroup" value="0x0190"/>
    
  2. W sekcji po istniejącym wpisie <Groups> grupy zdefiniuj nową grupę zadeklarowaną w poprzednim kroku.

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

    Ustawienie nadrzędnej pary guidSHLMainMenu IDENTYFIKATORA GUID:ID na IDM_VS_TOOL_PROJWINpasku narzędzi Eksplorator rozwiązań i ustawienie wartości o wysokim priorytcie umieszcza ją po innych grupach poleceń.

  3. <Buttons> W sekcji zmień identyfikator nadrzędny wygenerowanego <Button> wpisu, aby odzwierciedlić grupę zdefiniowaną w poprzednim kroku. Zmodyfikowany <Button> element powinien wyglądać następująco:

    <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. Skompiluj projekt i rozpocznij debugowanie. Zostanie wyświetlone wystąpienie eksperymentalne.

    Pasek narzędzi Eksplorator rozwiązań powinien wyświetlić przycisk nowego polecenia po prawej stronie istniejących przycisków. Ikona przycisku to przekreślenie.

  5. Kliknij nowy przycisk.

    Powinno zostać wyświetlone okno dialogowe z komunikatem ToolbarButtonPackage Inside SolutionToolbar.ToolbarButton.MenuItemCallback().

Kontrolowanie widoczności przycisku

W tej sekcji przewodnika pokazano, jak kontrolować widoczność przycisku na pasku narzędzi. Ustawiając kontekst na co najmniej jeden projekt w <VisibilityConstraints> sekcji pliku SolutionToolbar.vsct , można ograniczyć przycisk wyświetlany tylko wtedy, gdy projekt lub projekty są otwarte.

Aby wyświetlić przycisk po otwarciu co najmniej jednego projektu

  1. <Buttons> W sekcji ToolbarButtonPackage.vsct dodaj dwie flagi poleceń do istniejącego <Button> elementu między tagami <Strings> i <Icons> .

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

    Należy DefaultInvisible ustawić flagi i DynamicVisibility , aby wpisy w <VisibilityConstraints> sekcji mogły obowiązywać.

  2. Utwórz sekcję zawierającą <VisibilityConstraints> dwa <VisibilityItem> wpisy. Umieść nową sekcję tuż po tagu zamykającym </Commands> .

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

    Każdy element widoczności reprezentuje warunek, w którym jest wyświetlany określony przycisk. Aby zastosować wiele warunków, należy utworzyć wiele wpisów dla tego samego przycisku.

  3. Skompiluj projekt i rozpocznij debugowanie. Zostanie wyświetlone wystąpienie eksperymentalne.

    Pasek narzędzi Eksplorator rozwiązań nie zawiera przycisku przekreślenia.

  4. Otwórz dowolne rozwiązanie, które zawiera projekt.

    Przycisk przekreślenia jest wyświetlany na pasku narzędzi po prawej stronie istniejących przycisków.

  5. W menu Plik kliknij pozycję Zamknij rozwiązanie. Przycisk znika z paska narzędzi.

    Widoczność przycisku jest kontrolowana przez program Visual Studio do momentu załadowania pakietu VSPackage. Po załadowaniu pakietu VSPackage widoczność przycisku jest kontrolowana przez pakiet VSPackage. Aby uzyskać więcej informacji, zobacz MenuPolecenia a OleMenuCommands.