Implémentation et utilisation des extendeurs Automation

Mise à jour : novembre 2007

La partie Extendeurs Automation du modèle Automation de Visual Studio offre la possibilité d'ajouter ou de filtrer des propriétés qui sont affichées dans un type de projet spécifié. Par exemple, Visual Studio inclut un modèle de code Visual Basic doté d'un objet qui représente une classe Visual Basic. Par exemple, vous pouvez utiliser des extendeurs Automation pour ajouter de nouvelles propriétés à celles existantes dans un objet métier de couche intermédiaire. Vous pouvez également utiliser ce modèle pour filtrer les propriétés qui s'affichent dans la page de propriétés du projet.

Voici un scénario possible. Un utilisateur sélectionne un élément de classe dans l'Explorateur de solutions et modifie le code que l'Assistant crée. Autre possibilité : un utilisateur place également le point d'insertion de l'éditeur à l'intérieur de la définition de classe. En conséquence, la fenêtre Propriétés peut afficher des propriétés supplémentaires de la classe. Les propriétés sont pertinentes parce qu'il s'agit de la définition d'un objet métier de couche intermédiaire. Les extendeurs Automation vous permettent d'effectuer cette opération, et plus encore.

Les objets contenus dans le modèle objet des extendeurs Automation sont les suivants :

Nom de l'objet

Description

l'interface IExtenderProvider.

Représente un fournisseur d'extendeurs identifié.

l'interface IExtenderProviderUnk.

Représente un fournisseur d'extendeurs inconnu.

l'interface IExtenderSite.

Objet site qui héberge l'extendeur Automation.

l'interface IFilterProperties.

Lorsqu'elle est implémentée, permet à un extendeur d'empêcher l'affichage des propriétés spécifiées dans la fenêtre Propriétés.

Objet ObjectExtenders

Permet d'accéder aux extendeurs Automation.

À l'aide de ces objets, vous pouvez effectuer les tâches suivantes :

  • ajoutez des propriétés à des objets présents dans Visual Studio et accessibles soit par le biais de la fenêtre Propriétés, soit par le biais du code ;

  • masquer des propriétés afin qu'elles n'apparaissent pas dans la fenêtre Propriétés ;

  • remplacer une propriété par une autre de même nom mais n'acceptant qu'un jeu spécifique de valeurs.

Exemples d'extendeurs Automation

Pour obtenir un exemple d'utilisation des extendeurs Automation en vue d'ajouter des propriétés et des méthodes à un objet Visual Studio, consultez l'exemple « Solution Extender Add-in » de la page Web des exemples Automation de Visual Studio.

L'exemple SolutionExtender étend l'objet d'affichage de la fenêtre Propriétés de la solution ainsi que l'objet Automation DTE.Solution. Il ajoute quatre nouvelles propriétés : Notes, Created, LastAccessed et LastModified. Vous pouvez faire référence aux nouvelles propriétés en utilisant DTE.Solution comme indiqué dans la macro suivante :

Sub ShowNotes()
    Dim extender As Object
    extender = DTE.Solution.Extender("SolutionMisc")
    MsgBox(extender.Notes)
End Sub

Pour exécuter l'exemple

  1. Générez et déployez la solution SolutionExtender.

  2. Ajoutez l'inscription dans le Registre dans le fichier SolutionExtender.reg en utilisant la ligne de commande regedit SolutionExtender.reg.

  3. Exécutez devenv.exe, puis ouvrez ou créez une nouvelle solution.

  4. Sélectionnez le nœud Solution dans l'Explorateur de solutions pour afficher les propriétés nouvellement ajoutées.

Voir aussi

Tâches

Comment : ajouter et gérer des commandes

Comment : créer un complément

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

Concepts

Graphique Modèle d'objet Automation

Autres ressources

Création et contrôle de fenêtres d'environnement

Création de compléments et d'Assistants

Guide de référence de l'extensibilité et de l'automation