Condividi tramite


Progettare la Tabella dei comandi XML (. file di Vsct)

Un file della tabella dei comandi XML (.vsct) viene descritto il layout e l'aspetto degli elementi di comando per un VSPackage. Gli elementi del comando includono pulsanti, caselle combinate, i menu, barre degli strumenti e i gruppi di elementi del comando. In questo argomento vengono descritti i file di tabella dei comandi XML, come influiscono sugli elementi e i menu del comando e come crearli.

Controlli, menu, gruppi e il file di .vsct

i file di .vsct sono organizzati intorno ai controlli, i menu e gruppi di controlli. I tag XML nel file di .vsct rappresentano ognuno di questi elementi, con altri elementi associati ad esempio pulsanti di comando, la posizione del comando e bitmap.

Quando si crea un nuovo pacchetto VS eseguendo il modello importa pacchetto di Visual Studio , il modello genera un file di .vsct con gli elementi necessari per un comando di menu, una finestra degli strumenti, o un editor personalizzato, a seconda delle selezioni. Questo file di .vsct può essere modificato per soddisfare le esigenze di un package VS specifico. Per esempi di come modificare un file di .vsct, vedere gli esempi in Procedure dettagliate per i controlli, i menu e le barre degli strumenti.

Per creare un nuovo oggetto, file vuoto di .vsct, vedere Procedura: Creare un oggetto. file di Vsct. Dopo avere creato, aggiungere gli elementi XML, gli attributi e i valori al file per descrivere il layout dell'elemento del comando. Per uno Schema XML dettagliato, vedere Riferimento XML Schema VSCT.

Differenze tra .ctc e i file di .vsct

Mentre il significato dei tag XML in un file di .vsct è lo stesso di quello nel formato di file deprecato di ora .ctc, la relativa implementazione presenta alcune differenze rispetto a.

  • Il nuovo tagdi <esterno> è quella a cui si fa riferimento ad altri file h da compilare, ad esempio quelli per la barra degli strumenti di Visual Studio .

  • Mentre i file di .vsct supportano l'istruzione di /include , ad esempio i file di .ctc caso, anche presenta un nuovo elemento di <import> . La differenza consiste, /include porta in tutte le informazioni, ma <import> porta solo nei nomi.

  • Mentre i file di .ctc richiedono un file di intestazione in cui si definiscono le direttive per il preprocessore, uno non è obbligatoria per i file di .vsct. Invece, le direttive nella tabella dei simboli, disponibile in elementi di <simbolo> , ha individuato nella parte inferiore del file di .vsct.

  • i file di .vsct presentano un tag di <Annotation> , che consente di includere qualsiasi informazione desiderato, ad esempio le note o addirittura immagini.

  • I valori vengono archiviati come attributi nell'elemento.

  • I flag di comando possono essere archiviati separatamente o essere ordinati. Intellisense, tuttavia, non funziona ai flag in pila del comando. Per ulteriori informazioni sui flag di comando, vedere Elemento Command Flag.

  • È possibile specificare più tipi, ad esempio elenchi a discesa, i combos, e così via. divisi.

  • i GUID non convalidano.

  • Ogni elemento dell'interfaccia utente è una stringa che rappresenta il testo visualizzato con.

  • Questo elemento è facoltativo. Se omesso, il valore “sconosciuto del gruppo„.

  • L'argomento icona è facoltativo.

  • La sezione bitmap -- Come se fosse un file di .ctc, con la differenza che è possibile ora specificare un nome file mediante href che verrà eseguito il modello nel compilatore di vsct.exe in fase di compilazione.

  • ResID -- la risorsa bitmap precedente può essere utilizzato l'id e nuovamente funziona esattamente come in file di .ctc.

  • HRef -- un nuovo metodo che consente di specificare un nome file della risorsa bitmap. Si presuppone che tutti vengano utilizzati, pertanto è possibile omettere la sezione utilizzata. Il compilatore innanzitutto effettuerà la ricerca delle risorse locali per il file, quindi sulle condivisioni net e qualsiasi risorse definite dall'opzione /I di.

  • Keybinding -- Non è più necessario specificare un emulatore. Se si specifica uno, il compilatore si presuppone che nell'editor e l'emulatore sono uguali.

  • Keychord -- è stato rilasciato. Il nuovo formato è Key1, Mod1, Tasto2, Mod2. È possibile specificare un carattere, formato esadecimale, o una costante di VK.

Il nuovo compilatore, vsct.exe, la compilazione sia .ctc che i file di .vsct. Il compilatore precedente di ctc.exe, tuttavia, non riconoscerà né la compilazione dei file di .vsct.

È possibile utilizzare il compilatore di vsct.exe per convertire un file esistente di .cto in un file di .vsct. Per ulteriori informazioni, vedere Procedura: Creare un oggetto. File di Vsct da un oggetto esistente. file di Cto.

Gli elementi del file di .vstc

La tabella dei comandi sono indicate la gerarchia ed elementi:

Elemento CommandTable Rappresenta tutti i controlli, gruppi di menu e menu associati al package VS.

Elemento esterno - Riferimenti qualsiasi file con estensione h esterno si desidera unire al file di .vstc.

Elemento Include - Riferimenti qualsiasi ulteriore intestazione (h) file che si desidera inserire il file di the.vstc. Un file di .vstc possibile includere i file h che contengono le costanti che definiscono i controlli, i gruppi di menu e menu che l'ide o un altro package VS v5.0.

Elemento Commands Rappresenta tutti controlli utente che possono essere eseguiti. Ogni comando dispone dei seguenti quattro elementi figlio:

Elemento Menu Rappresenta tutti menu e barre degli strumenti in un VSPackage. I menu sono contenitori per i gruppi di controlli.

Elemento Groups Rappresenta tutti i gruppi nel package VS. I gruppi vengono raccolte dei singoli controlli.

Elemento Buttons Rappresenta tutti i pulsanti di comando e voci di menu nel package VS. I pulsanti sono controlli visivi che possono essere associati ai controlli.

Elemento Bitmaps Rappresenta tutte bitmap per tutti i pulsanti nel package VS. Le bitmap sono immagini in cui è visualizzato accanto ai pulsanti di comando, a seconda del contesto.

Elemento CommandPlacements - Indica altri percorsi in cui i singoli controlli devono essere collocati nei menu del package VS.

Elementi VisibilityConstraints - Specifica o meno di un comando vengono sempre visualizzati, o solo in determinati contesti, ad esempio quando una finestra di dialogo o una particolare finestra vengono visualizzati. I menu e i controlli che hanno un valore per questo elemento vengono visualizzate solo quando il contesto specificato è attivo. Il comportamento predefinito prevede di visualizzare sempre il comando.

Elemento KeyBindings - Specifica tutti i tasti di scelta rapida per i controlli. Ovvero uno o più combinazioni di tasti che devono essere premuti per eseguire il comando, come CTRL+S.

Elemento UsedCommands - Notifica all'ambiente di Visual Studio che anche se il comando specificato venga implementato da altro codice, quando il package VS corrente sia attivo, fornisce l'implementazione del comando.

Symbols Element - Contiene i nomi dei simboli e il GUID ID per tutti i controlli del pacchetto.

. Linee guida di progettazione dei file di Vsct

Per la corretta progettazione di un file di .vsct, attenersi a queste linee guida.

  • Commands can be placed only in groups, groups can be placed only in menus, and menus can be placed only in groups. Solo i menu verrà visualizzato nell'IDE, gruppi e controlli non sono.

  • I sottomenu non è direttamente possibile assegnare a un menu, ma devono essere assegnate a un gruppo, che a sua volta assegnato a un menu.

  • I controlli, i menu e i gruppi possono essere assegnati a un gruppo o menu di elemento padre utilizzando il campo padre della direttiva di definizione.

  • Organizzazione della tabella dei comandi tramite i campi padre nelle direttive elencati solo una limitazione significativa. Le direttive che definiscono gli oggetti possono accettare un solo argomento padre.

  • Riutilizzando i controlli, i gruppi, o sottomenu richiede l'utilizzo di una nuova direttiva creare una nuova istanza dell'oggetto con la propria coppia di GUID:ID .

  • ogni coppia di GUID:ID deve essere univoca. Riutilizzando un comando consente, ad esempio, è stato inserito in un menu, una barra degli strumenti, o un menu di scelta rapida, viene gestito dall'interfaccia di IOleCommandTarget .

  • I controlli e sottomenu possono essere assegnati a più gruppi e i gruppi possono essere assegnati i menu più mediante. Elemento Commands

. Note del file di Vsct

Se si apportano modifiche a un file di .vsct dopo che sia compilarlo e posizionarlo in una DLL satellite nativo, è necessario eseguire devenv.exe /setup /nosetupvstemplates. In questo modo le risorse di un VSPackage specificate nel Registro di sistema sperimentale da rileggere e il database interno che descrive Visual Studio i dati.

Durante lo sviluppo, è possibile che più progetti VSPackage venga creato e registrato in un hive funzioni del Registro di sistema che possono portare a ammasso generare confusione nell'IDE. Per risolvere questo problema, è possibile reimpostare l'hive controversi le impostazioni predefinite per rimuovere tutto il package VS registrato e tutte le modifiche che possono rendere all'IDE. Per reimpostare gli hive test, utilizzare lo strumento di vsregex.exe fornite da Visual Studio SDK. Questo strumento si trova nella cartella di \bin or tools\bin\x86 folder of the VisualStudioIntegration degli strumenti, ad esempio C#: \Program Files\Visual Studio 2010 SDK\VisualStudioIntegration\Tools\Bin \ vsregexe.exe). Eseguire lo strumento tramite la riga di comando vsregex GetOrig 10.0 Expin cui 10.0 è la versione di Visual Studio utilizzato e Exp è il quale viene aggiunto alla versione per ottenere nell'hive funzioni del Registro di sistema in HKEY_CURRENT_USER.

Tenere presente che lo strumento di vsregex.exe rimuove dall'hive controversi qualsiasi Vspackage registrato in genere non installato con Visual Studio.

Vedere anche

Concetti

Making Commands Available

Altre risorse

Command Table Configuration (.ctc) Files

Command Table Format Reference

Attività comuni con i controlli, i menu e le barre degli strumenti