Aggiungere elementi alla finestra di dialogo Aggiungi nuovo elemento
Il processo di aggiunta di elementi alla finestra di dialogo Aggiungi nuovo elemento inizia con le chiavi del Registro di sistema. Come illustrato nelle voci del Registro di sistema seguenti, la sezione AddItemTemplates contiene il percorso e il nome della directory in cui vengono inseriti gli elementi resi disponibili nella finestra di dialogo Aggiungi nuovo elemento .
Nota
La tabella immediatamente successiva al segmento di codice contiene informazioni aggiuntive sulla voce del Registro di sistema.
Questa sezione si trova in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0Exp\Projects.
Il primo GUID è il CLSID per i progetti di questo tipo; il secondo GUID indica il tipo di progetto registrato per i modelli Aggiungi elementi:
\{C061DB26-5833-11D2-96F5-00000000000}\AddItemTemplates\TemplatesDir\{ACEF4EB2-57CF-11D2-96F4-0000000000000}\1
@ = #6
TemplatesDir = \<Visual Studio SDK installation path>\VSIntegration\<SomeFolder>\<SomePackage>\<SomeProject\<SomeProjectItems>>
SortPriority = dword:00000064
Nome | Type | Dati (dal file con estensione rgs ) | Descrizione |
---|---|---|---|
@ (impostazione predefinita) | REG_SZ | #%IDS_ADDITEM_TEMPLATES_ENTRY% | ID risorsa per Aggiungere modelli di elemento . |
Modelli valDir | REG_SZ | %TEMPLATE_PATH%\<SomeProjectItems> | Percorso degli elementi del progetto visualizzati nella finestra di dialogo per la procedura guidata Aggiungi nuovo elemento . |
Val SortPriority | REG_DWORD | 100 (x64) | Determina l'ordinamento nel nodo albero dei file visualizzati nella finestra di dialogo Aggiungi nuovo elemento . |
Nota
I GUIDS per i tipi di progetto Visual C# e Visual Basic sono i seguenti:
- Visual C#: {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Visual Basic: {F184B08F-C81C-45F6-A57F-5ABD9991F28F}
La directory elencata per TemplatesDir, % TEMPLATE_PATH%\<SomeProjectItems>, è il nodo a sinistra dell'albero della finestra di dialogo Aggiungi nuovo elemento . Gli elementi aggiuntivi nell'albero si basano sulla sottodirectory all'interno di tale directory radice. I file disponibili per l'aggiunta al progetto sono gli elementi nel riquadro destro della finestra di dialogo Aggiungi nuovo elemento .
In genere, questa cartella conterrà i file modello per il progetto, ad esempio un file HTML o cpp modello, e qualsiasi file vsz per l'avvio delle procedure guidate. Per controllare la modalità di visualizzazione degli elementi, è anche possibile includere file con estensione vsdir per la localizzazione dei nomi e delle icone delle directory. La stringa localizzata è la didascalia visualizzata nella finestra di dialogo che rappresenta questo nodo nell'albero della finestra di dialogo Aggiungi nuovo elemento.
Tuttavia, non è necessario avere tutti gli elementi in un file con estensione vsdir . È possibile avere un file con estensione vsdir per ogni elemento nella directory. Per altre informazioni, vedere File della procedura guidata (vsz) e file di descrizione della directory dei modelli (vsdir).
Nota
I file con estensione vsdir nelle directory modello sono facoltativi. Se si vuole solo inserire un elemento di progetto nella directory e visualizzarlo nella finestra di dialogo Aggiungi nuovo elemento , è possibile inserire tale file nella directory templates specificata nell'istruzione TemplatesDir . Il file verrà quindi visualizzato nel riquadro destro della finestra di dialogo Aggiungi nuovo elemento per il progetto. Tuttavia, se si desidera visualizzare un didascalia localizzato per il file o un'icona, è necessario includere almeno un file vsdir nella directory templates.
Raggruppare gli elementi del progetto
Se si desidera contenere gruppi di modelli in cartelle nell'albero della finestra di dialogo Aggiungi nuovo elemento , è necessario disporre di sottodirectory nella directory modello radice con gli elementi in essi contenuti. Quando viene visualizzata la finestra di dialogo Aggiungi nuovo elemento agli utenti, visualizzeranno anche le sottocartelle e potranno selezionare gli elementi del progetto.
La priorità di ordinamento nel segmento di codice determina dove verrà creata la directory del modello nell'albero rispetto ad altri elementi del nodo della struttura ad albero. Per la finestra di dialogo Aggiungi nuovo elemento , la priorità di ordinamento è tutto ciò che è necessario includere in modo che gli elementi vengano visualizzati nella posizione corretta nella finestra di dialogo.
È anche possibile implementare l'interfaccia IVsFilterAddProjectItemDlg2 per filtrare gli elementi visualizzati nella finestra di dialogo Aggiungi nuovo elemento . Implementando questa interfaccia, è possibile configurare una directory modello su disco contenente, ad esempio, 50 file modello e procedura guidata. In questo modo, è possibile avere tipi di progetto diversi con 20 file che appartengono a un tipo di progetto, gli altri 30 file appartenenti a un altro tipo di progetto e tutti i file disponibili in un tipo generale di progetto. In questo modo, a seconda del modello di progetto creato, è possibile visualizzare un set diverso di file modello.
In un progetto Visual Basic, ad esempio, potrebbero essere presenti progetti Web e progetti client. I Web form non sono elementi utili da aggiungere a un progetto client e Windows Form non sono elementi utili da aggiungere a un progetto server Web. Pertanto, è possibile creare una directory modello che contiene tutti i file per entrambi i tipi di progetto. Implementando IVsFilterAddProjectItemDlg2quindi , è possibile nascondere gli elementi che non devono essere visualizzati in base al tipo di progetto o alle impostazioni del progetto nel progetto.
Filtrare gli elementi del progetto
IVsFilterAddProjectItemDlg2
fornisce per filtrare gli elementi nell'albero (riquadro sinistro) e i file di progetto (riquadro destro) nei modi seguenti:
In base ai nomi localizzati (didascalia visualizzati nella finestra di dialogo contenuta nel file con estensione vsdir) fornito da
IVsFilterAddProjectItemDlg
.In base ai nomi effettivi dei file e delle cartelle sul disco (non localizzato , nessun file vsdir ) fornito da
IVsFilterAddProjectItemDlg
.Per categoria, fornita da
IVsFilterAddProjectItemDlg2
.Per filtrare in base alla categoria, specificare una stringa di categoria per un elemento nel file vsdir , ad esempio modulo Web o elemento Client in Visual Basic. Il codice della finestra di dialogo recupera quindi la classificazione delle categorie dal file vsdir e la passa all'utente. È quindi possibile passare tali informazioni all'implementazione di per filtrare la finestra di
IVsFilterAddProjectItemDlg2
dialogo Aggiungi nuovo elemento in base alle categorie. È anche possibile filtrare gli elementi per le pagine Web o come casi applicazione Win32 client. Inoltre, è possibile identificare gli elementi con tag di Visual C++ come elementi di Microsoft Foundation Classes (MFC) o active template library (ATL). Quando si identificano questi elementi, il sistema di progetto può definire le proprie classificazioni in modo che il sistema possa essere filtrato in base a categorie e classificazioni.Se si implementa questa funzionalità di filtro, non è necessario eseguire il mapping di una tabella di ogni elemento che deve essere nascosto. È possibile classificare semplicemente gli elementi in tipi e inserire le classificazioni nel file o nei file con estensione vsdir . È quindi possibile nascondere uno qualsiasi degli elementi con una classificazione specifica implementando l'interfaccia . In questo modo, è possibile rendere dinamici gli elementi nella finestra di dialogo Aggiungi nuovo elemento in base allo stato all'interno del progetto.
Contenuto correlato
- IVsFilterAddProjectItemDlg2
- Registrare modelli di progetto ed elementi
- CATID per gli oggetti utilizzati in genere per estendere i progetti
- Aggiungere modelli di progetto e di elementi di progetto
- File di descrizione della directory dei modelli (con estensione vsdir)
- File della procedura guidata (con estensione vsz)