Comandi, menu e barre degli strumenti

Menu e barre degli strumenti sono il modo in cui gli utenti accedono ai comandi nel pacchetto VSPackage. I comandi sono funzioni che eseguono attività, ad esempio la stampa di un documento, l'aggiornamento di una visualizzazione o la creazione di un nuovo file. Menu e barre degli strumenti sono pratici metodi grafici per presentare i comandi agli utenti. In genere, i comandi correlati sono raggruppati nello stesso menu o sulla stessa barra degli strumenti.

  • I menu vengono in genere visualizzati come stringhe di una sola parola raggruppate su una riga nella parte superiore dell'ambiente di sviluppo integrato (IDE, Integrated Development Environment) o in una finestra degli strumenti. I menu possono essere visualizzati anche come risultato di un evento di clic con il pulsante destro del mouse e in tal caso vengono definiti menu di scelta rapida. Quando si fa clic su di essi, i menu si espandono per visualizzare uno o più comandi. Facendo clic sui comandi è possibile eseguire attività oppure aprire sottomenu che contengono altri comandi. Alcuni nomi di menu noti sono File, Modifica, Visualizza e Finestra. Per altre informazioni, vedere Estendere menu e comandi.

  • Le barre degli strumenti sono in genere righe di pulsanti e altri controlli, ad esempio caselle combinate, caselle di riepilogo, caselle di testo e controller di menu. Tutti i controlli delle barre degli strumenti sono associati a comandi. Quando si fa clic su un pulsante della barra degli strumenti, viene attivato il comando associato. I pulsanti della barra degli strumenti hanno in genere icone che suggeriscono i comandi sottostanti, ad esempio una stampante per un comando Stampa. In un controllo elenco a discesa, ogni elemento nell'elenco è associato a un comando diverso. Un controller di menu è un oggetto ibrido in cui un lato del controllo è un pulsante della barra degli strumenti e l'altro lato è una freccia rivolta verso il basso che visualizza altri comandi quando si fa clic su di essa. Per altre informazioni, vedere Aggiungere un controller di menu a una barra degli strumenti.

  • Quando si crea un comando, è anche necessario creare un gestore eventi per esso. Il gestore eventi determina quando il comando è visibile o abilitato, consente di modificarne il testo e garantisce che il comando risponda in modo appropriato ("routing") quando attivato. Nella maggior parte dei casi, l'IDE gestisce i comandi usando l'interfaccia IOleCommandTarget. I comandi in Visual Studio instradano in modo gerarchico, a partire dal contesto di comando più interno, in base alla selezione locale e procedendo al contesto più esterno, in base alla selezione globale. I comandi aggiunti al menu principale sono immediatamente disponibili per lo scripting. Per altre informazioni, vedere MenuCommands vs. Oggetti di contesto OleMenuCommands e Selection.

    Per definire nuovi menu e barre degli strumenti, è necessario descriverli in un file di tabella dei comandi di Visual Studio (con estensione vsct). Il modello di pacchetto di Visual Studio crea automaticamente questo file, insieme agli elementi necessari per supportare i comandi, le barre degli strumenti e gli editor selezionati nel modello. In alternativa, è possibile scrivere il proprio file con estensione vsct usando lo schema XML descritto qui: Informazioni di riferimento su XML Schema VSCT.

    Per altre informazioni sull'uso dei file con estensione vsct, vedere File di tabella dei comandi di Visual Studio (con estensione vsct).

    Negli argomenti di questa sezione viene illustrato il funzionamento di comandi, menu e barre degli strumenti in VSPackage.

In questa sezione

Descrizione approfondita della specifica del formato della tabella dei comandi.

Descrive una sintassi basata su XML e un compilatore per le tabelle dei comandi.

Vengono descritti i comandi, i gruppi, i menu e le barre degli strumenti predefiniti.

Specifica i menu, i comandi e i gruppi di comandi predefiniti disponibili per l'uso dall'IDE di Visual Studio.

Viene illustrato come progettare i comandi.

Fornisce linee guida per i comandi.

Viene illustrato come rendere disponibili i comandi per Visual Studio.

Viene illustrato come implementare i comandi che usano assembly di interoperabilità.

Illustra il routing dei comandi in VSPackage.