Partager via


Composants d'un projet de complément

Les projets de complément sont des projets Bibliothèque de classes créés en utilisant l'Assistant Complément et compilés dans des DLL. Les projets Complément contiennent un fichier de code source nommé Connect ; Connect qui est également le nom de la classe. La classe Connect implémente une interface nommée IDTExtensibility2 qui passe les commandes entre le complément et l'environnement de développement intégré (IDE) Visual Studio.

IDTExtensibility2 a cinq méthodes qui, une fois implémentées, agissent comme des événements.

Méthode

Description

OnConnection

Cette méthode est appelée lorsque le complément est chargé dans Visual Studio.

OnStartupComplete

Cette méthode est appelée lorsque le chargement de Visual Studio est terminé.

OnAddInsUpdate

Cette méthode est appelée lorsqu'un complément est chargé ou déchargé à partir de Visual Studio.

OnBeginShutdown

Cette méthode est appelée lorsque Visual Studio est fermé.

OnDisconnection

Cette méthode est appelée lorsque le complément est déchargé de Visual Studio.

En plus de l'interface IDTExtensibility2, l'interface IDTCommandTarget est implémentée automatiquement si vous activez l'option d'interface utilisateur lors de l'utilisation de l'Assistant Complément pour créer un complément. Si vous choisissez de créer ou de manipuler des barres de commandes dans votre complément, vous devez également implémenter l'espace de noms Microsoft.VisualStudio.CommandBars.

OnConnection, méthode

La méthode OnConnection est sans aucun doute la méthode la plus importante utilisée dans les projets de compléments car elle est appelée à chaque fois qu'un complément est chargé. Elle permet également d'appeler un autre code d'automation dans le complément. Quatre paramètres sont passés à la méthode OnConnection: Application, ConnectMode, AddInInst et custom. Application représente la valeur de l'environnement de développement intégré (IDE) Visual Studio. Il est casté en tant qu'objet DTE2 avec pour nom _applicationObject. Cet objet représente l'objet principal dans le modèle Automation fondamental et fournit l'accès à tous ses types et membres. ConnectMode (dont les valeurs sont contenues dans Extensibility.extConnectMode) représente le mode de chargement du complément, autrement dit via la ligne de commande, en ouvrant une solution, etc. AddInInst représente le complément. Le paramètre custom est un tableau dans lequel vous pouvez éventuellement passer des données au complément.

En plus d'initialiser ces variables, OnConnection contient le code nécessaire pour créer une commande destinée au complément dans le menu Outils, si vous avez activé cette option lors de sa création avec l'Assistant Complément.

Autres méthodes de complément

Les quatre autres méthodes de complément, qui sont mises en place par l'Assistant Complément sont vides par défaut. Pour gérer des événements liés à des compléments, vous pouvez utiliser ces autres méthodes pour leur répondre. Par exemple, vous pourriez ajouter du code à la méthode OnAddInsUpdate pour envoyer un message de notification à une autre procédure lorsqu'un complément est fermé. Vous pouvez appeler OnBeginShutdown pour exécuter les tâches de nettoyage lors de l'arrêt de l'IDE Visual Studio.

Lorsque vous créez un complément et activez l'option Souhaitez-vous créer une interface utilisateur de barre de commandes pour votre complément ? (qui crée une commande pour le complément dans le menu Outils), l'interface IDTCommandTarget est implémentée. Deux méthodes supplémentaires, QueryStatus et Exec, sont ajoutées au projet de complément pour gérer les tâches de commande. Ces méthodes contiennent une petite quantité de code pour permettre le placement de la commande dans le menu Outils et répondent aux clics d'un utilisateur. QueryStatus notifie le complément de la disponibilité de la commande. La méthode Exec est appelée lorsqu'un utilisateur clique sur la commande du complément dans le menu Outils ; aussi, elle constitue l'endroit où vous devez ajouter le code si vous souhaitez répondre à cet événement.

Voir aussi

Concepts

Projets d'extensibilité

Autres ressources

Création de compléments et d'Assistants