Aggiungere una barra degli strumenti

Questa procedura dettagliata illustra come aggiungere una barra degli strumenti all'IDE di Visual Studio.

Una barra degli strumenti è una striscia orizzontale o verticale che contiene pulsanti associati ai comandi. A seconda dell'implementazione, una barra degli strumenti nell'IDE può essere riposizionata, ancorata su qualsiasi lato della finestra dell'IDE principale o eseguita per rimanere davanti ad altre finestre.

Inoltre, gli utenti possono aggiungere comandi a una barra degli strumenti o rimuoverli tramite la finestra di dialogo Personalizza . In genere, le barre degli strumenti nei pacchetti VSPackage sono personalizzabili dall'utente. L'IDE gestisce tutte le personalizzazioni e il pacchetto VSPackage risponde ai comandi. Il pacchetto VSPackage non deve sapere dove si trova fisicamente un comando.

Per altre informazioni sui menu, vedere Comandi, menu e barre degli strumenti.

Creare un'estensione con una barra degli strumenti

Creare un progetto VSIX denominato IDEToolbar. Aggiungere un modello di voce di comando di menu denominato ToolbarTestCommand. Per informazioni su come eseguire questa operazione, vedere Creare un'estensione con un comando di menu.

Creare una barra degli strumenti per l'IDE

  1. In ToolbarTestCommandPackage.vsct cercare la sezione Simboli. Nell'elemento GuidSymbol denominato guidToolbarTestCommandPackageCmdSet aggiungere dichiarazioni per una barra degli strumenti e un gruppo di barre degli strumenti, come indicato di seguito.

    <IDSymbol name="Toolbar" value="0x1000" />
    <IDSymbol name="ToolbarGroup" value="0x1050" />
    
  2. Nella parte superiore della sezione Comandi creare una sezione Menu. Aggiungere un elemento Menu alla sezione Menu per definire la barra degli strumenti.

    <Menus>
        <Menu guid="guidToolbarTestCommandPackageCmdSet" id="Toolbar" type="Toolbar">
            <CommandFlag>DefaultDocked</CommandFlag>
            <Strings>
                <ButtonText>Test Toolbar</ButtonText>
                <CommandName>Test Toolbar</CommandName>
            </Strings>
        </Menu>
    </Menus>
    

    Le barre degli strumenti non possono essere annidate come sottomenu. Pertanto, non è necessario assegnare un gruppo padre. Inoltre, non è necessario impostare una priorità, perché l'utente può spostare le barre degli strumenti. In genere, il posizionamento iniziale di una barra degli strumenti viene definito a livello di codice, ma le modifiche successive apportate dall'utente vengono mantenute.

  3. Nella sezione Gruppi, dopo la voce di gruppo esistente, definire un elemento Group per contenere i comandi per la barra degli strumenti.

    <Group guid="guidToolbarTestCommandPackageCmdSet" id="ToolbarGroup" priority="0x0000">
        <Parent guid="guidToolbarTestCommandPackageCmdSet" id="Toolbar" />
    </Group>
    
  4. Fare in modo che il pulsante venga visualizzato sulla barra degli strumenti. Nella sezione Pulsanti sostituire il blocco Padre nella barra degli strumenti Pulsante. Il blocco Pulsante risultante dovrebbe essere simile al seguente:

    <Button guid="guidToolbarTestCommandPackageCmdSet" id="ToolbarTestCommandId" priority="0x0100" type="Button">
        <Parent guid= "guidToolbarTestCommandPackageCmdSet" id="ToolbarGroup" />
        <Icon guid="guidImages" id="bmpPic1" />
        <Strings>
            <ButtonText>Invoke ToolbarTestCommand</ButtonText>
        </Strings>
    </Button>
    

    Per impostazione predefinita, se una barra degli strumenti non dispone di comandi, non viene visualizzata.

  5. Compilare il progetto e avviare il debug. Verrà visualizzata l'istanza sperimentale.

  6. Fare clic con il pulsante destro del mouse sulla barra dei menu di Visual Studio per ottenere l'elenco delle barre degli strumenti. Selezionare Barra degli strumenti test.

  7. La barra degli strumenti dovrebbe ora essere visualizzata come icona a destra dell'icona Trova nei file. Quando si fa clic sull'icona, verrà visualizzata una finestra di messaggio che indica ToolbarTestCommandPackage. All'interno di IDEToolbar.ToolbarTestCommand.MenuItemCallback().