Comment : définir un élément de boîte à outils de modélisation personnalisé
Pour faciliter la création d'un élément ou d'un groupe d'éléments d'après un modèle que vous utilisez souvent, vous pouvez ajouter de nouveaux outils à la boîte à outils de diagrammes de modélisation dans Visual Studio Ultimate. Vous pouvez distribuer ces éléments de boîte à outils à d'autres utilisateurs Visual Studio Ultimate.
Par exemple, vous pouvez élaborer un outil personnalisé pour créer des éléments tels que ceux-ci :
Un package lié au profil .NET et une classe avec le stéréotype .NET.
Une paire de classes liée par une association pour représenter le modèle d'observateur.
Vous pouvez utiliser cette méthode pour créer des outils d'éléments. Autrement dit, vous pouvez créer des outils que vous faites glisser depuis la boîte à outils vers un diagramme. Vous ne pouvez pas créer d'outils de connecteurs.
Définition d'un outil de modélisation personnalisé
Pour définir un outil de modélisation personnalisé
Créez un diagramme UML qui contient un élément ou un groupe d'éléments.
Ces éléments peuvent être associés par des relations et peuvent disposer d'éléments auxiliaires tels que des ports, attributs, opérations ou encore broches.
Dans l'Explorateur de solutions, modifiez le nom du diagramme en spécifiant le nom que vous souhaitez donner au nouvel outil.
Enregistrez le diagramme.
À l'aide de l'Explorateur Windows, copiez les deux fichiers de diagrammes dans le dossier suivant ou dans un sous-dossier :
VosDocuments**\Visual Studio 2010\Architecture Tools\Custom Toolbox Items**
Créez ce dossier s'il n'existe pas. Vous devrez peut-être créer Architecture Tools et Custom Toolbox Items.
Copiez les deux fichiers de diagrammes, un avec un nom qui se termine par « …diagram » et l'autre avec un nom qui se termine par « …diagram.layout ».
Vous pouvez créer autant d'outils personnalisés que nécessaire. Utilisez un diagramme pour chaque outil.
(Facultatif) Créez un fichier .tbxinfo comme décrit dans Comment définir les propriétés d'outils personnalisés et l'ajouter au même répertoire. Cela vous permet de définir une icône de boîte à outils, une info-bulle, etc.
- Un seul fichier .tbxinfo peut être utilisé pour définir plusieurs outils. Il peut faire référence aux fichiers de diagrammes présents dans les sous-dossiers.
Redémarrez Visual Studio. L'outil supplémentaire s'affichera dans la boîte à outils pour le type approprié de diagramme.
Éléments répliqués par l'outil personnalisé
Un outil personnalisé répliquera la plupart des fonctionnalités du diagramme source :
Noms. Lorsqu'un élément est créé à partir de la boîte à outils, un nombre est ajouté à la fin du nom (si nécessaire) afin d'éviter des noms en double dans le même espace de noms.
Couleurs, tailles et formes
Stéréotypes et profils de packages
Valeurs de propriété comme Is Abstract
Éléments de travail liés
Multiplicités et autres propriétés de relations
Positions relatives de formes.
Les fonctionnalités suivantes ne seront pas conservées dans un outil personnalisé :
Formes simples. Ce sont des formes qui ne sont pas liées aux éléments de modèle et que vous pouvez dessiner dans certains genres de diagrammes.
Routage de connecteur. Si vous routez des connecteurs manuellement, le routage ne sera pas conservé lorsque votre outil sera utilisé. Les positions de certaines formes imbriquées, telles que Ports, ne sont pas conservées par rapport à leurs propriétaires.
Comment définir les propriétés d'outils personnalisés
Un fichier d'informations de boîte à outils (.tbxinfo) vous permet de spécifier un nom de boîte à outils, une icône, une info-bulle, un onglet et un mot clé d'aide pour un ou plusieurs outils personnalisés. Affectez-lui un nom quelconque, tel que MyTools.tbxinfo.
La forme générale du fichier se présente comme suit :
<?xml version="1.0" encoding="utf-8" ?>
<customToolboxItems xmlns="https://schemas.microsoft.com/visualstudio/2010/ArchitectureTools/CustomToolboxItems">
<customToolboxItem fileName="MyObserverTool.classdiagram">
<displayName>
<value>Observer Pattern</value>
</displayName>
<tabName>
<value>UML Class Diagram</value>
</tabName>
<image><bmp fileName="ObserverPatternIcon.bmp"/></image>
<f1Keyword>
<value>ObserverPatternHelp</value>
</f1Keyword>
<tooltip>
<value>Create a pair of classes</value>
</tooltip>
</customToolboxItem>
</customToolboxItems>
La valeur de chaque élément peut être :
- Comme indiqué dans l'exemple, <bmp fileName="…"/> pour l'icône de boîte à outils et <value>string</value>, pour les autres éléments.
- ou -
<resource fileName="Resources.dll"
baseName="Observer.resources" id="Observer.tabname" />
Dans ce cas, vous fournissez un assembly compilé dans lequel les valeurs de chaîne ont été compilées en tant que ressources.
Ajoutez un nœud <customToolboxItem> pour chaque élément de boîte à outils que vous souhaitez définir.
Les nœuds du fichier .tbxinfo se présentent comme suit. À chaque nœud correspond une valeur par défaut.
Nom du nœud |
Définit |
---|---|
displayName |
Nom de l'élément de boîte à outils. |
tabName |
Onglet de boîte à outils dans lequel l'élément doit s'afficher. Vous pouvez spécifier le nom de l'onglet normal pour ce type de diagramme ou un autre nom. |
image |
Emplacement du fichier bitmap (.bmp) qui doit disposer d'une hauteur et d'une largeur de 16 bits et d'une profondeur de couleur de 24 bits. |
f1Keyword |
Mot clé qui localise une rubrique d'aide. |
tooltip |
Info-bulle pour cet outil. |
Vous pouvez modifier le fichier bitmap dans Visual Studio et affecter la valeur 16 à sa hauteur et à sa largeur dans la fenêtre Propriétés.
Notes
Si vous commencez à utiliser un fichier .tbxinfo après avoir utilisé des fichiers de diagrammes seuls, il se peut que vous constatiez que la boîte à outils contient à la fois les versions anciennes et nouvelles d'un élément de boîte à outils. Cela peut également se produire si le nom du fichier de diagramme a mal été tapé dans le fichier .tbxinfo. Si cela se produit, cliquez avec le bouton droit sur un élément de boîte à outils et cliquez sur Réinitialiser la boîte à outils. Les éléments de boîte à outils personnalisés disparaîtront alors. Redémarrez Visual Studio ; les éléments personnalisés corrects apparaîtront.
Comment distribuer des éléments de boîte à outils dans une extension Visual Studio
Vous pouvez distribuer des éléments de boîte à outils à d'autres utilisateurs Visual Studio en les empaquetant dans une extension Visual Studio (VSIX). Vous pouvez empaqueter des commandes, des profils et d'autres extensions dans un même fichier VSIX. Pour plus d'informations, consultez Déploiement d'une extension Visual Studio.
La méthode habituelle permettant de générer une extension Visual Studio consiste à utiliser le modèle de projet VSIX. Pour ce faire, vous devez avoir installé Kit de développement logiciel (SDK) Visual Studio.
Pour ajouter un élément de boîte à outils à une extension Visual Studio
Créez et testez un ou plusieurs outils personnalisés.
Créez un fichier .tbxinfo qui fait référence aux outils.
Ouvrez un projet d'extension Visual Studio existant.
- ou -
Définissez un nouveau projet d'extension Visual Studio.
Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Fichier.
Dans la boîte de dialogue Nouveau projet, sous Modèles installés, développez Visual C#, cliquez sur Extensibilité, puis sur Projet VSIX. Définissez le nom du projet, puis cliquez sur OK.
Ajoutez vos définitions de boîtes à outils au projet. Incluez le fichier .tbxinfo, les fichiers de diagramme, les fichiers bitmap, ainsi que tous les fichiers de ressources et vérifiez qu'ils sont inclus dans le VSIX.
Dans l'Explorateur de solutions, cliquez sur le projet avec le bouton droit, pointez sur Ajouter, puis cliquez sur Élément existant. Dans la boîte de dialogue, définissez Objets de Type : Tous les fichiers. Localisez les fichiers, sélectionnez-les tous, puis cliquez sur Ajouter.
Notes
Dans ce projet, vous ne pouvez pas ouvrir les fichiers de diagrammes dans l'éditeur de modèles.
Définissez les propriétés suivantes de tous les fichiers que vous venez d'ajouter. Vous pouvez définir leurs propriétés simultanément en les sélectionnant toutes dans l'Explorateur de solutions. Veillez à ne pas modifier les propriétés des autres fichiers du projet.
Copier dans le répertoire de sortie = Toujours copier
Action de génération = Contenu
Inclure dans VSIX = True
Ouvrez source.extension.vsixmanifest. Il s'ouvre dans l'éditeur de manifeste de l'extension.
Sous Contenu, ajoutez une ligne qui décrit les outils personnalisés. Cliquez sur Ajouter du contenu, puis définissez les champs dans la boîte de dialogue, comme suit :
Type de contenu = Type d'extension personnalisée
Type = Microsoft.VisualStudio.ArchitectureTools.CustomToolboxItems
Chemin d'accès = Fichier dans le projet. Sélectionnez votre fichier .tbxinfo, par exemple MyTools.tbxinfo.
Vous pouvez définir Nom du produit et les autres champs comme vous le souhaitez.
Générez le projet.
Dans l'Explorateur Windows, ouvrez le dossier .\bin\Debug ou .\bin\Release pour rechercher le fichier .vsix. Il s'agit d'un fichier d'extension Visual Studio. Il peut être installé sur votre ordinateur et également envoyé à d'autres utilisateurs Visual Studio.
Pour installer des outils personnalisés à partir d'une extension Visual Studio
Double-cliquez sur le fichier .vsix dans l'Explorateur Windows ou ouvrez-le dans Visual Studio.
Cliquez sur Installer dans la boîte de dialogue qui apparaît.
Pour désinstaller ou temporairement désactiver l'extension, ouvrez Gestionnaire d'extensions à partir du menu Outils.
Localisation
Vous pouvez créer une extension qui, lorsqu'elle est installée sur un autre ordinateur, affichera des noms d'outils et des info-bulles dans la langue de l'ordinateur cible.
Pour fournir des versions de l'outil dans plusieurs langues
Créez un projet d'extension Visual Studio qui contient un ou plusieurs outils personnalisés.
Dans le fichier .tbxinfo, utilisez la méthode de fichier de ressources pour définir le displayName de l'outil, le tabName de la boîte à outils et l'info-bulle. Créez un fichier de ressources dans lequel ces chaînes sont définies, compilez-le dans un assembly et reportez-vous-y à partir du fichier tbxinfo.
Créez des assemblys supplémentaires qui contiennent des fichiers de ressources avec des chaînes dans d'autres langues.
Placez chaque assembly supplémentaire dans un dossier dont le nom est le code de culture correspondant à la langue. Par exemple, placez une version en langue française de l'assembly dans un dossier nommé fr.
Vous devez utiliser un code de culture neutre (en général deux lettres) et non un code de culture spécifique comme fr-CA. Pour plus d'informations sur les codes de culture, consultez la méthode CultureInfo.GetCultures, qui fournit une liste complète des codes de culture.
Générez l'extension Visual Studio et distribuez-la.
Lorsque l'extension est installée sur un autre ordinateur, la version du fichier de ressources de la culture locale de l'utilisateur sera chargée automatiquement. Si vous n'avez pas fourni de version pour la culture de l'utilisateur, les ressources par défaut seront alors utilisées.
Vous ne pouvez pas utiliser cette méthode pour installer des versions différentes du diagramme de prototypes. Les noms d'éléments et de connecteurs seront les mêmes lors de chaque installation.
Autres opérations de boîte à outils
Ordinairement, dans Visual Studio, il est possible de personnaliser la boîte à outils en renommant des outils, en les déplaçant vers d'autres onglets de la boîte à outils ou en les supprimant. Cependant, ces modifications ne sont pas conservées dans les outils de modélisation personnalisés créés à l'aide des procédures décrites dans cette rubrique. Lorsque vous redémarrez Visual Studio, les outils personnalisés réapparaîtront avec leurs noms définis et leurs emplacements de boîtes à outils.
De plus, vos outils personnalisés disparaîtront si vous exécutez la commande Réinitialiser la boîte à outils. Cependant, ils réapparaîtront lorsque vous redémarrerez Visual Studio.
Voir aussi
Concepts
Comment : définir un profil pour étendre UML
Autres ressources
Extension de modèles et de diagrammes UML
Comment : définir une commande de menu sur un diagramme de modélisation
Comment : définir des contraintes de validation pour les modèles UML