Procedura dettagliata: creazione di una procedura guidata

In Visual Studio 2013 i componenti aggiuntivi sono deprecati. È consigliabile eseguire l'aggiornamento dei componenti aggiuntivi alle estensioni di VSPackage. Per ulteriori informazioni sulle modalità di aggiornamento, vedere Domande frequenti: conversione di componenti aggiuntivi in VSPackage Extensions.

Le procedure guidate, ad esempio la Creazione guidata componente aggiuntivo, sono programmi che guidano l'utente attraverso una serie di azioni necessarie per eseguire un'attività complessa, ripetitiva o difficile. In Windows, ad esempio, le procedure guidate vengono utilizzate per eseguire la connessione a risorse di rete, a stampanti e così via.

Le procedure guidate in Visual Studio prevedono generalmente una serie di domande che richiedono l'input dell'utente e quindi l'utilizzo dei risultati per la generazione del codice. Non sempre le procedure guidate offrono un'interfaccia utente, in alcuni casi è possibile programmarle affinché il codice venga generato in modo automatico e non visibile.

Sono disponibili tre tipi diversi di procedure guidate.

  • Creazioni guidate nuovo progetto: come suggerito dal nome, queste procedure guidate vengono utilizzate per generare nuovo codice per un tipo particolare di progetto, fornendo all'utente un punto di partenza da cui aggiungere il proprio codice. Si tratta del tipo di procedura guidata più comune.

  • Procedure guidate Aggiungi nuovo elemento: queste procedure guidate vengono utilizzate per aggiungere nuovi elementi, ad esempio Web Form, file di testo, pagine HTML, pagine XML e così via, a un progetto esistente.

  • Creazioni guidate personalizzate: queste procedure guidate non vengono chiamate da una finestra di dialogo, ma da componenti aggiuntivi, macro o altri tipi di codice. Queste procedure guidate non offrono necessariamente un'interfaccia utente. In ogni caso consentono di generare codice. Questo tipo di procedura guidata è quello utilizzato con minore frequenza.

Indipendentemente dal tipo, esistono aspetti comuni a tutti i tipi di procedura guidata.

  • Si tratta di oggetti .NET che implementano l'interfaccia IDTWizard e che dispongono di un metodo associato, Execute che contiene il codice che si desidera venga eseguito dalla procedura guidata.

  • Per la visualizzazione di questi oggetti in Visual Studio viene utilizzato un file con estensione vsz.

  • Tutti questi oggetti generano codice o eseguono qualche altra attività.

È possibile personalizzare l'aspetto degli elementi delle procedure guidate che vengono create. Molto spesso, le procedure guidate sono costituite da una o più finestre o pagine. Le pagine possono contenere un'immagine descrittiva, in genere nella parte superiore o sul lato sinistro, una descrizione, istruzioni e un'area in cui è possibile inserire controlli per la navigazione come Avanti e Indietro.

Il processo di creazione delle procedure guidate in Visual C++ presenta alcune differenze rispetto al processo di creazione di procedure guidate standard di Visual Studio. Per informazioni aggiuntive sulla modalità di creazione di procedure guidate destinate a Visual C++, vedere Progettazione di una procedura guidata e Creazione di una procedura guidata personalizzata.

Nota

Il computer potrebbe mostrare nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti.Questi elementi sono determinati dall'edizione di Visual Studio in uso e dalle impostazioni utilizzate.Per ulteriori informazioni, vedere Personalizzazione delle impostazioni di sviluppo in Visual Studio.

Esempio di procedura guidata di base

Creazione guidata componente aggiuntivo di Visual Studio

In questa immagine è raffigurato un pannello della Creazione guidata componente aggiuntivo, una creazione guidata del tipo Nuovo progetto che presenta all'utente i passaggi necessari per creare un componente aggiuntivo. È possibile personalizzare l'aspetto delle procedure guidate, tuttavia la Creazione guidata componente aggiuntivo è un buon esempio dello stile di un tipo standard di procedura guidata. Le procedure guidate completate diventano modelli disponibili nella finestra di dialogo Nuovo progetto o Aggiungi nuovo elemento.

Di seguito è illustrata la creazione di una procedura guidata di base e l'eventuale assegnazione di un'icona personalizzata.

Per creare una procedura guidata di base in Visual Basic e Visual C#

  1. Eseguire Visual Studio come amministratore. Per la registrazione della procedura guidata è necessario aggiornare il Registro di sistema, pertanto è necessario questo privilegio.

  2. Creare un nuovo progetto Libreria di classi denominato MyNewWizard.

  3. Aggiungere al progetto riferimenti a EnvDTE e EnvDTE80.

    A questo scopo, fare clic con il pulsante destro del mouse sul progetto e scegliere Aggiungi, riferimento. Nella scheda .NET della finestra di dialogo Riferimento fare clic su EnvDTE e EnvDTE80, quindi scegliere OK.

Nel modulo di classe includere riferimenti a EnvDTE e EnvDTE80 e implementare l'interfaccia IDTWizard. Per questo esempio di Visual C# è necessario anche aggiungere un riferimento a System.Windows.Forms e System.Runtime.InteropServices.

Imports EnvDTE 
Imports EnvDTE80
Public Class Class1
    Implements IDTWizard
using System;
using System.Collections.Generic;
using System.Text;
using EnvDTE; 
using EnvDTE80; 
using System. Windows.Forms;

using System.Runtime.InteropServices;

namespace MyNewWizard
{

[ComVisible(true)]

[Guid("20184B81-7C38-4E02-A1E3-8D564EEC2D25"),

ProgId("MyNewWizard.Class1")]

    public class Class1 : IDTWizard
    {
    }
}

Quando si aggiunge l'istruzione Implements a Visual Basic, posizionare il cursore alla fine della riga e premere INVIO per creare automaticamente una routine di metodo Execute. Per Visual C#, invece, è necessario aggiungere manualmente la routine Execute:

public class Class1 : IDTWizard
    {
    public void Execute(object Application,  
        int hwndOwner, ref object[] contextParams,  
        ref object[] customParams,  
        ref EnvDTE.wizardResult retval)
  1. Aggiungere il codice che si desidera venga eseguito dalla procedura guidata alla routine Execute. In questo esempio verrà aggiunta solo una semplice finestra di messaggio.

    Si dovrebbe ottenere quanto segue:

    Imports EnvDTE
    Imports EnvDTE80
    
    Public Class Class1
        Implements IDTWizard
    
        Public Sub Execute(ByVal Application As Object, ByVal _
        hwndOwner As Integer, ByRef ContextParams() As Object, ByRef _
        CustomParams() As Object, ByRef retval As EnvDTE.wizardResult) _
        Implements EnvDTE.IDTWizard.Execute
            MsgBox("The wizard is now running.")
        End Sub
    End Class 
    
    using System.Text;
    using EnvDTE;
    using EnvDTE80;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    
    namespace MyNewWizardCS
    {
        public class Class1 : IDTWizard
        {
    
        public void Execute(object Application, 
            int hwndOwner, ref object[] contextParams, 
            ref object[] customParams, 
            ref EnvDTE.wizardResult retval)
        {
            MessageBox.Show("The wizard is now running.");
        }
    }
    
    }
    

    La routine Execute viene chiamata all'avvio della procedura guidata.

  2. Fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni, scegliere Proprietà per aprire la pagina Proprietà progetto, selezionare la scheda Compilazione, quindi selezionare la casella Registra per interoperabilità COM nella parte inferiore della pagina.

  3. Nel file AssemblyInfo.cs individuare l'attributo ComVisible e impostarlo su true.

  4. Compilare il progetto per creare la DLL della libreria di classi scegliendo Compila soluzione dal menu Compila.

  5. Creare il file di testo vsz per la procedura guidata denominato MyNewWizard.vsz.

    A tale scopo, eseguire una copia di un file VSZ esistente, ad esempio uno di quelli presenti in <Visual Studio Install Directory>\VC#\CSharpProjectItems\Windows Forms e rinominarlo "MyNewWizard.vsz".

    Un file VSZ è un file di testo che consente a Visual Studio di riconoscere la procedura guidata e di visualizzarla nella finestra di dialogo Nuovo progetto o Aggiungi nuovo elemento. Il parametro Wizard deve essere impostato sul progID (Project.Classname) del progetto o sul GUID. Per ulteriori informazioni, vedere Configurazione di file vsz per l'avvio di procedure guidate.

    Nota

    Se lo si desidera, è anche possibile creare un file VSDir per la procedura guidata.Questo file contiene informazioni che verranno visualizzate come descrizione per la procedura guidata nella finestra di dialogo Nuovo progetto o Nuovo file.Consente inoltre di specificare un'icona e di regolarne la posizione nell'elenco.Per ulteriori informazioni, vedere Aggiunta di procedure guidate alle finestre di dialogo Aggiungi elemento e Nuovo progetto tramite file vsdir.

  6. Sostituire il contenuto di MyNewWizard.vsz con quanto riportato di seguito:

    VSWizard 7.0
    Wizard=MyNewWizard.Class1
    Param=First Item
    Param=Second Item
    
  7. Salvare il nuovo file vsz nella directory in cui si desidera che venga visualizzata la procedura guidata.

    In questo esempio la procedura guidata deve essere visualizzata nella finestra di dialogo Aggiungi nuovo elemento per i progetti di Visual Basic. A tale scopo, salvare il file VSZ nella directory seguente: <Visual Studio Install Directory>\VB\VBProjectItems.

  8. Uscire da Visual Studio, quindi riavviarlo

    In questo modo Visual Studio leggerà il nuovo file con estensione vsz.

  9. Creare un nuovo progetto Visual Basic, ad esempio un progetto Applicazione Windows.

  10. Fare clic con il pulsante destro del mouse sul progetto, selezionare Aggiungi, quindi scegliere Nuovo elemento.

    La nuova procedura guidata (MyNewWizard) verrà visualizzata nella finestra di dialogo Aggiungi nuovo elemento.

  11. Fare clic sulla procedura guidata e scegliere il pulsante Aggiungi.

    Verrà visualizzato il messaggio "The wizard is now running".

Per visualizzare un'icona personalizzata per la nuova procedura guidata

  • Inserire un file di icona con lo stesso nome di base del file dll, ma con estensione ico nella stessa directory del file della procedura guidata.

    Ad esempio, se la procedura guidata è denominata MyNewWizard.dll, il nome del file di icona sarà MyNewWizard.ico.

    oppure

  • Se è stato creato un file VSDir, specificare al suo interno il percorso del file di icona (ico).

Vedere anche

Attività

Procedura: creare un componente aggiuntivo

Riferimenti

IDTWizard

Concetti

Grafico del modello a oggetti di automazione

Aggiunta di procedure guidate alle finestre di dialogo Aggiungi elemento e Nuovo progetto tramite file vsdir

Configurazione di file vsz per l'avvio di procedure guidate

Altre risorse

Creazione di componenti aggiuntivi e di procedure guidate

Comandi e opzioni di Visual Studio