Aggiungere un menu alla barra dei menu di Visual Studio

Questa procedura dettagliata illustra come aggiungere un menu alla barra dei menu di Visual Studio Integrated Development Environment (IDE). La barra dei menu dell'IDE contiene le categorie di menu, ad esempio file, modifica, Visualizza, finestra e Guida.

Prima di aggiungere un nuovo menu alla barra dei menu di Visual Studio, valutare se i comandi devono essere posizionati all'interno di un menu esistente. Per ulteriori informazioni sulla selezione host dei comandi, vedere menu e comandi per Visual Studio.

I menu vengono dichiarati nel file con estensione vsct del progetto. Per ulteriori informazioni sui menu e sui file con estensione vsct , vedere comandi, menu e barre degli strumenti.

Completando questa procedura dettagliata, è possibile creare un menu denominato test che contiene un solo comando.

Nota

A partire da Visual Studio 2019, i menu di primo livello forniti dalle estensioni vengono inseriti nel menu estensioni .

Prerequisiti

A partire da Visual Studio 2015, non si installa Visual Studio SDK dall'area download. Viene inclusa come funzionalità facoltativa nel programma di installazione di Visual Studio. È anche possibile installare Visual Studio SDK in un secondo momento. Per altre informazioni, vedere installare Visual Studio SDK.

Creare un progetto VSIX con un modello di elemento di comando personalizzato

  1. Creare un progetto VSIX denominato TopLevelMenu . È possibile trovare il modello di progetto VSIX nella finestra di dialogo nuovo progetto cercando "VSIX". Per altre informazioni, vedere creare un'estensione con un comando di menu.
  1. Quando si apre il progetto, aggiungere un modello di elemento di comando personalizzato denominato TestCommand. Nella Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto e scegliere Aggiungi > nuovo elemento. Nella finestra di dialogo Aggiungi nuovo elemento passare a Visual C#/extensibility e selezionare comando personalizzato. Nel campo nome nella parte inferiore della finestra modificare il nome del file di comando in TestCommand. cs.
  1. Quando si apre il progetto, aggiungere un modello di elemento di comando personalizzato denominato TestCommand. Nella Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto e scegliere Aggiungi > nuovo elemento. Nella finestra di dialogo Aggiungi nuovo elemento passare a Visual C#/extensibility e selezionare comando. Nel campo nome nella parte inferiore della finestra modificare il nome del file di comando in TestCommand. cs.

Creare un menu nella barra dei menu dell'IDE

  1. In Esplora soluzioni aprire TestCommandPackage. vsct.

    Alla fine del file è presente un <Symbols> nodo che contiene diversi <GuidSymbol> nodi. Nel nodo denominato guidTestCommandPackageCmdSet aggiungere un nuovo simbolo, come indicato di seguito:

    <IDSymbol name="TopLevelMenu" value="0x1021"/>
    
  2. Creare un <Menus> nodo vuoto nel <Commands> nodo, immediatamente prima <Groups> . Nel <Menus> nodo aggiungere un <Menu> nodo, come indicato di seguito:

    <Menus>
          <Menu guid="guidTestCommandPackageCmdSet" id="TopLevelMenu" priority="0x700" type="Menu">
            <Parent guid="guidSHLMainMenu"
                    id="IDG_VS_MM_TOOLSADDINS" />
            <Strings>
              <ButtonText>Test Menu</ButtonText>
            </Strings>
        </Menu>
    </Menus>
    

    I guid id valori e del menu specificano il set di comandi e il menu specifico nel set di comandi.

    I guid id valori e dell'elemento padre posizionano il menu nella sezione della barra dei menu di Visual Studio contenente i menu strumenti e componenti aggiuntivi.

    L' <ButtonText> elemento specifica che il testo deve essere visualizzato nella voce di menu.

  3. Nella <Groups> sezione trovare <Group> e modificare l' <Parent> elemento in modo che punti al menu appena aggiunto:

    <Groups>
        <Group guid="guidTestCommandPackageCmdSet" id="MyMenuGroup" priority="0x0600">
            <Parent guid="guidTestCommandPackageCmdSet" id="TopLevelMenu"/>
        </Group>
    </Groups>
    

    In questo modo la parte del gruppo del nuovo menu.

  1. In Esplora soluzioni aprire TopLevelMenuPackage. vsct.

    Alla fine del file è presente un <Symbols> nodo che contiene diversi <GuidSymbol> nodi. Nel nodo denominato guidTopLevelMenuPackageCmdSet aggiungere un nuovo simbolo, come indicato di seguito:

    <IDSymbol name="TopLevelMenu" value="0x1021"/>
    
  2. Creare un <Menus> nodo vuoto nel <Commands> nodo, immediatamente prima <Groups> . Nel <Menus> nodo aggiungere un <Menu> nodo, come indicato di seguito:

    <Menus>
          <Menu guid="guidTopLevelMenuPackageCmdSet" id="TopLevelMenu" priority="0x700" type="Menu">
            <Parent guid="guidSHLMainMenu"
                    id="IDG_VS_MM_TOOLSADDINS" />
            <Strings>
              <ButtonText>Test Menu</ButtonText>
            </Strings>
        </Menu>
    </Menus>
    

    I guid id valori e del menu specificano il set di comandi e il menu specifico nel set di comandi.

    I guid id valori e dell'elemento padre posizionano il menu nella sezione della barra dei menu di Visual Studio contenente i menu strumenti e componenti aggiuntivi.

    L' <ButtonText> elemento specifica che il testo deve essere visualizzato nella voce di menu.

  3. Nella <Groups> sezione trovare <Group> e modificare l' <Parent> elemento in modo che punti al menu appena aggiunto:

    <Groups>
        <Group guid="guidTopLevelMenuPackageCmdSet" id="MyMenuGroup" priority="0x0600">
            <Parent guid="guidTopLevelMenuPackageCmdSet" id="TopLevelMenu"/>
        </Group>
    </Groups>
    

    In questo modo la parte del gruppo del nuovo menu.

  1. Nella <Buttons> sezione trovare il <Button> nodo. Quindi, nel <Strings> nodo, modificare l' <ButtonText> elemento in Test Command .

    Si noti che il Visual Studio modello di pacchetto ha generato un Button elemento il cui padre è impostato su MyMenuGroup . Questo comando viene quindi visualizzato nel menu.

Compilare e testare l'estensione

  1. Compilare il progetto e avviare il debug. Verrà visualizzata un'istanza dell'istanza sperimentale.
  1. La barra dei menu nell'istanza sperimentale deve contenere un menu di menu test .
  1. Il menu estensioni nell'istanza sperimentale deve contenere un menu di menu test .
  1. Scegliere Test Command dal menu test .

    Verrà visualizzata una finestra di messaggio con il messaggio "TestCommand all'interno di TopLevelMenu. TestCommand. MenuItemCallback ()".

Vedi anche