Procédure pas à pas : création d'un Assistant

Mise à jour : novembre 2007

Les Assistants, tels que l'Assistant Complément, sont des programmes qui accompagnent un utilisateur tout au long une série d'actions nécessaires pour remplir une tâche complexe, répétitive ou difficile. Par exemple, Windows utilise des Assistants pour connecter des ressources réseau ou des imprimantes.

Dans Visual Studio, les Assistants posent généralement une série de questions qui sollicitent une entrée de l'utilisateur, puis utilisent les résultats pour générer le code. Toutefois, les Assistants ne sont pas toujours dotés d'une interface utilisateur. Ils peuvent être programmés pour générer le code de manière sous-jacente et invisible.

Il existe trois types d'Assistants.

  • Assistant Nouveau projet - Comme leur nom l'indique, ces Assistants sont utilisés pour générer un code nouveau destiné à un type de projet particulier, fournissant à l'utilisateur un point de départ depuis lequel il ajoutera son propre code. C'est le type d'Assistant le plus utilisé.

  • Assistants Ajouter un nouvel élément - Ces Assistants sont utilisés pour ajouter de nouveaux éléments, tels que formulaires Web, fichiers texte, pages HTML ou pages XML, aux projets existants.

  • Assistants personnalisés — Ces Assistants ne sont pas appelés depuis une boîte de dialogue. Ils sont appelés directement à partir de différents compléments, macros ou autres types de code. Les Assistants peuvent, ou non, afficher une interface utilisateur. Dans les deux cas, ils génèrent un code. Ce type d'Assistant est le moins utilisé.

Indépendamment de leur type, les Assistants présentent des caractéristiques communes.

  • Ce sont des objets .NET qui implémentent l'interface IDTWizard et présentent une méthode associée, Execute, qui contient le code que vous souhaitez voir exécuter par l'Assistant.

  • Ils utilisent tous un fichier .vsz pour s'afficher eux-mêmes dans Visual Studio.

  • Tous, ils génèrent du code ou effectuent quelque autre tâche.

Vous pouvez personnaliser l'aspect des éléments présents dans les Assistants que vous créez. Les Assistants se composent d'une ou de plusieurs fenêtres, ou pages. Les pages peuvent contenir une image descriptive, notamment dans la partie supérieure ou gauche de la page, une étiquette de description, des instructions et une zone dans laquelle sont placés les contrôles de navigation, tels que Suivant et Précédent.

Le processus de création d'Assistants en Visual C++ est un peu différent du processus standard de Visual Studio. Pour obtenir des informations supplémentaires sur la création des Assistants ciblés pour Visual C++, consultez Conception d'un Assistant et Création d'un Assistant personnalisé.

Remarque :

Selon vos paramètres actifs ou votre édition, les boîtes de dialogue et les commandes de menu qui s'affichent peuvent différer de celles décrites dans l'aide. Ces procédures ont été développées avec les paramètres de développement généraux actifs. Pour modifier vos paramètres, sélectionnez Importer et ExporterParamètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio.

Exemple d'un Assistant de base

Assistant Complément de Visual Studio

Cette image présente une page de l'Assistant Complément, un Assistant de type Nouveau projet qui vous guide tout au long d'une série d'étapes pour créer un complément. Vous pouvez personnaliser l'aspect de vos Assistants, mais l'Assistant Complément constitue, quant à lui, un bon exemple du style d'un Assistant de type standard. Une fois achevés, les Assistants deviennent des modèles disponibles dans les boîtes de dialogue Nouveau projet ou Ajouter un nouvel élément.

Les éléments suivants montrent comment créer un Assistant de base et, le cas échéant, lui attribuer une icône personnalisée.

Pour créer un Assistant de base en Visual Basic et Visual C#

  1. Créez un projet Bibliothèque de classes nommé MyNewWizard.

  2. Ajoutez au projet des références à EnvDTE et EnvDTE80.

    Pour cela, cliquez avec le bouton droit sur le projet et cliquez sur Ajouter une référence. Dans l'onglet .NET de la boîte de dialogue Ajouter une référence, cliquez sur EnvDTE et EnvDTE80 puis cliquez sur OK.

  3. Dans le module de classe, incluez les références à EnvDTE et EnvDTE80, et implémentez l'interface IDTWizard. Pour cet exemple Visual C#, vous devez également ajouter une référence à System.Windows.Forms.

    Imports EnvDTEImports EnvDTE80
    Public Class Class1
        Implements IDTWizard
    
    using System;
    using System.Collections.Generic;
    using System.Text;
    using EnvDTE;using EnvDTE80;using Windows.System.Forms;
    
    namespace MyNewWizard
    {
        public class Class1 : IDTWizard
        {
        }
    }
    

    Lorsque vous ajoutez l'instruction Implements à Visual Basic, positionnez le curseur en fin de ligne et appuyez sur Entrée pour créer automatiquement une procédure de méthode Execute. Dans le cas de Visual C#, toutefois, vous devez ajouter la procédure Execute manuellement.

    public class Class1 : IDTWizard
        {
        public void Execute(object Application,         int hwndOwner, ref object[] contextParams,         ref object[] customParams,         ref EnvDTE.wizardResult retval)
    
  4. Ajoutez le code à exécuter par l'Assistant à la procédure Execute. Pour cet exemple, nous ajouterons juste un simple message.

    Il comporte les deux éléments suivants :

    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;
    
    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 procédure Execute est appelée lorsque l'Assistant est démarré.

  5. Pour Visual Basic, cliquez avec le bouton droit sur votre projet dans l'Explorateur de solutions puis cliquez sur Propriétés pour ouvrir la page Propriétés du projet. Cliquez ensuite sur l'onglet Compiler, puis activez la case à cocher Inscrire pour COM Interop en bas de page.

    Vous n'avez pas besoin d'effectuer cette étape pour Visual C#.

  6. Générez le projet pour créer la dll de bibliothèque de classes en cliquant sur Générer la solution dans le menu Générer.

  7. Créez un fichier texte .vsz pour l'Assistant nommé MonNouvelAssistant.vsz.

    À cette fin, cliquez sur Fichier, pointez sur Nouveau, puis cliquez sur Fichier.

    Un fichier .vsz est un fichier texte qui permet à Visual Studio d'identifier l'Assistant et de l'afficher dans les boîtes de dialogue Nouveau projet et Ajouter un nouvel élément. La valeur du paramètre Wizard doit être l'identificateur programmatique, ou progID (Project.Classname) du projet ou le GUID. Pour plus d'informations, consultez Configuration des fichiers .VsZ pour démarrer des Assistants.

    Remarque :

    Vous avez également la possibilité facultative de créer un fichier VSDir pour l'Assistant. Il contient les informations qui s'affichent en tant que description de l'Assistant dans les boîtes de dialogue AjouterNouveau projet et AjouterNouveau fichier. Il vous permet également de spécifier une icône et de réorganiser sa position dans la liste. Pour plus d'informations, consultez Ajout d'Assistants aux boîtes de dialogue Ajouter un élément et Nouveau projet à l'aide de fichiers .Vsdir.

  8. Ajoutez le code suivant à MonNouvelAssistant.vsz :

    VSWizard 7.0
    Wizard=MyNewWizard.Class1
    Param=First Item
    Param=Second Item
    
  9. Placez le nouveau fichier .vsz dans le répertoire où vous souhaitez que l'Assistant apparaisse.

    Dans cet exemple, nous souhaitons que l'Assistant s'affiche dans la boîte de dialogue Ajouter un nouvel élément pour les projets Visual Basic ; aussi, placez le fichier .vsz dans le répertoire suivant : <lecteur>:\Program Files\Microsoft Visual Studio 8\VB\VBProjectItems.

  10. Quittez Visual Studio puis redémarrez-le.

    Visual Studio est ainsi contraint de lire le nouveau fichier .vsz.

  11. Créez un projet Visual Basic, tel qu'un projet d'application Windows.

  12. Cliquez avec le bouton droit sur votre projet, pointez sur Ajouterun élément, puis cliquez sur Nouvel élément.

    Votre nouvel Assistant (MonNouvelAssistant) s'affiche dans la boîte de dialogue Ajouter un nouvel élément.

  13. Cliquez sur l'Assistant, puis sur le bouton Ajouter.

    Le message "L'Assistant est en cours d'exécution." s'affiche.

Pour afficher une icône personnalisée pour le nouvel Assistant

  • Placez un fichier icône ayant le même nom de fichier de base que le fichier .DLL, mais l'extension .ico, dans le même répertoire que le fichier de l'Assistant.

    Par exemple, si l'Assistant s'appelle MonAssistant.dll, nommez le fichier icône MonAssistant.ico.

    - ou -

  • Si vous avez créé un fichier VSDir, spécifiez-y un chemin d'accès au fichier icône (.ico).

Voir aussi

Tâches

Comment : créer un complément

Concepts

Graphique Modèle d'objet Automation

Ajout d'Assistants aux boîtes de dialogue Ajouter un élément et Nouveau projet à l'aide de fichiers .Vsdir

Configuration des fichiers .VsZ pour démarrer des Assistants

Référence

IDTWizard

Commandes et commutateurs Visual Studio

Autres ressources

Création de compléments et d'Assistants