Partager via


Stocker des fonctionnalités de prise en charge de la boîte à outils

VSPackages doit mettre à jour le Registre s'ils étendent l'ensemble par défaut des fonctionnalités de boîte à outils de l'une des façons suivantes :

  • À l'aide de la sélection automatique de l'onglet de boîte à outils d'une catégorie de boîte à outils ou d'un onglet particulière lorsqu'un concepteur ou un éditeur particulier est actif.

  • Fournissant les objets d' ToolboxItem soit chargée par l'environnement de Visual Studio .

    Ces éléments sont chargés par l'environnement de Visual Studio chaque fois que boîte à outils est réinitialisé, par un utilisateur via l'IDE, ou par programme via la méthode d' ResetDefaults . La réinitialisation de boîte à outils génère un événement d'ToolboxInitialized sous managed package.

    Notes

    VSPackages a développé sous-utilisation managée ProvideToolboxItemsAttribute du package appliqué à leur implémentation de l'objet d' Package pour stocker cette prise en charge.

  • Fournissant des objets non standard d' ToolboxItem de format de presse-papiers en implémentant les interfaces d' IVsToolboxDataProvider et d' IVsToolboxDataProvider2 .

    Notes

    VSPackages a développé sous-utilisation managée du package une instance de l'objet d' ProvideToolboxFormatAttribute appliqué à leur implémentation d' Package pour stocker cette prise en charge.

  • Possibilité de configuration dynamique de prise en charge d'objet d' ToolboxItem via une implémentation de l'interface d' IConfigureToolboxItem .

    Notes

    VSPackages développées avec l'utilisation managée ProvideToolboxItemConfigurationAttribute du package appliqué à leur implémentation de la classe d' Package , et la classe d' ProvideAssemblyFilterAttribute appliquée à leurs implémentations de la classe d' IConfigureToolboxItem pour stocker cette prise en charge.

VSPackages non managé doit mettre à jour explicitement le Registre en modifiant manuellement ou à partir d'un fichier de registre (.rgs). Pour plus d'informations, consultez Créer des scripts d'inscription.

Sélection automatique de l'Onglet de boîte à outils

Les éditeurs ou les concepteurs, si par une instance d'un objet de fabrique d'éditeur, peuvent avoir besoin d'un onglet ou d'une catégorie de boîte à outils particulier à rendre active lorsqu'ils sont eux-mêmes actif. Par exemple, si un concepteur de formulaires est activé, vous pouvez souhaiter l'onglet de Tous les Windows Forms sélectionné.

Pour que la sélection automatique de catégorie de boîte à outils ait lieu, le concepteur ou l'objet de fabrique de l'éditeur doit être correctement inscrit.

Une entrée du Registre appropriée est trouvée dans l'emplacement de Registre suivant : HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio \ <Version> \Editor <Editor Factory GUID> , où <Version> est le numéro de version de la version Visual Studio, tel que 8,0, et <Editor Factory GUID> est un GUID pour la fabrique d'éditeur.

L'entrée doit contenir :

Nom

Type

Plage

Description

Par défaut

REG_SZ

GUID

Facultatif. Il peut être utilisé pour contenir un nom non localisé de l'éditeur.

DefaultToolboxTab

REG_SZ

 « Votre nom de l'onglet ici »

Le nom non localisé de l'onglet de boîte à outils, qui est fait à la boîte à outils par défaut passer lorsque cet éditeur est actif.

Notes

Il n'existe aucun objet d' Attribute qui prend en charge ces entrées du Registre dans managed package.

Enregistrement d'un package en tant que spécification des éléments de boîte à outils

Notes

Les contrôles créés avec des modèles de contrôles de boîte à outils dans Visual Studio 10 SDK stocke automatiquement.Pour plus d'informations, consultez Comment : créez un contrôle de boîte à outils qui utilise Windows Forms et Comment : créez un contrôle de boîte à outils qui utilise WPF.

Tout VSPackage fournissantToolboxItem des objets doivent avoir une sous-clé, boîte à outils, sous sa propre clé de package, HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio\<version>\Packages \<package GUID>, où< la version> est le numéro de version de la version Visual Studio, tel que 8,0, et<le package GUID> est un GUID du package qui fournit des éléments de boîte à outils.

Cette sous-clé de boîte à outils doit contenir au moins une entrée, une entrée DWORD nommée valeur par défautéléments.

Notes

Le chemin d'accès racine HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio \ <Version> peut être substitué par une autre racine lorsque le shell Visual Studio est initialisé, ou vous pouvez utiliser DefaultRegistryRootAttribute.Pour plus d'informations, consultez Commutateurs de la ligne de commande (Kit de développement logiciel Visual Studio).

Pour l'entrée sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<version> \Packages \ package GUID>:

Nom

Type

Données

Description

éléments par défaut

REG_DWORD

peut être n'importe quelle valeur DWORD. commencer par 1. la valeur est incrémentée si vous mettez à jour votre VSPackage pour fournir plus ou différents éléments.

La valeur d' éléments par défaut doit être supérieure ou égale à 1 pour ajouter des objets d' ToolboxItem à  Visual Studioboîte à outils.

Modifier la valeur d' éléments par défaut fera pour charger Visual Studio l'IDE l'instance la plus récente d'un VSPackage fournissant des objets d' ToolboxItem , plutôt que d'utiliser toutes les valeurs mises en cache.

Dans managed package, éléments par défaut est défini par la valeur utilisée dans le constructeur de l'instance d' ProvideToolboxItemsAttribute appliquée au VSPackage fournissant des objets d' ToolboxItem .

Stocker la prise en charge d'un format non standard

l'alignement des formats de presse-papiers pris en charge qu'un fournisseur VSPackage d' ToolboxItem prend en charge est facultatif.

Si un fournisseur VSPackage d' ToolboxItem ne stocke aucun format de presse-papiers spécial, il doit prendre en charge les formats standard de Visual Studio . Pour plus d'informations sur les formats de presse-papiers standard de boîte à outils , consultez Boîte à outils (kit de développement Visual Studio SDK).

Si un VSPackage fournit la prise en charge des formats non standard, il doit stocker ces formats sous laclé HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio\ <version> \Packages \ <package GUID> \Toolbox d'alignement de la boîte à outils du VSPackage, en ajoutant une entrée de chaîne nommée des formats.

Notes

Si un VSPackage enregistre la prise en charge de n'importe quel format personnalisé, il prend en charge uniquement les formats signalés explicitement.Un VSPackage enregistrant des formats de presse-papiers personnalisés n'est plus enregistré comme prenant en charge les formats de presse-papiers par défaut de boîte à outils , à moins qu'il fasse donc explicitement.

Nom

Type

Données

Description

Formats

REG_SZ

Pour les formats personnalisés, utilisez une chaîne pour cette sous-clé.

spécifie les formats de presse-papiers pris en charge par un VSPackage fournissant des formats de presse-papiers personnalisés de boîte à outils (en implémentant IVsToolboxDataProvider et IVsToolboxDataProvider2).

Les formats doivent être spécifiés dans une liste avec la virgule comme séparateur.

Un format peut être spécifié par une chaîne contenant son nom, ou son nom d'ID. Par exemple, une entrée d' Formats peut être '1,13,16,HTML Format'.

Pour plus d'informations sur les formats de presse-papiers, consultez l' Format.

Dans managed package, la valeur de formats est obtenu à partir de la chaîne utilisée comme argument au constructeur de l'instance de l'objet d' ProvideToolboxFormatAttribute appliqué au VSPackage fournissant des objets d' ToolboxItem .

Stocker la prise en charge de la configuration dynamique de Boîte à outils-Élément

si un VSPackage fournit une implémentation d' IConfigureToolboxItem il doit ajouter des paramètres du Registre sous HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio \ <Version> \CLSID. et HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio \ <Version> \ToolboxItemConfiguration.

Les données de Registre sous HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio \ <Version> \CLSID contient des informations que l'environnement de Visual Studio a besoin pour appeler l'implémentation d' IConfigureToolboxItem.

La clé HKEY_LOCAL_MACHINE \ \SOFTWARE\Microsoft\VisualStudio données de <Version> \ToolboxItemConfiguration est utilisé pour sélectionner ou filtrer que les objets d' ToolboxItem l'implémentation d' IConfigureToolboxItem configure selon les assemblys qui les contiennent.

Contenu du \SOFTWARE\Microsoft\VisualStudio HKEY_LOCAL_MACHINE \ <Version> \CLSID Registry Entry :

Notes

Sous managed package, ces entrées du Registre sont créées par l'instance d' ProvideToolboxItemConfigurationAttribute.Cette instance est attachée le VSPackage qui fournit la configuration d' ToolboxItem à l'aide de la réflexion.La réflexion est exécutée sur l'élément d' IConfigureToolboxItem fourni au constructeur d' ProvideToolboxItemConfigurationAttribute .

Nom

Type

Données

Description

(Valeur par défaut)

REG_SZ

(facultatif)

nom complet de la classe implémentant IConfigureToolboxItem.

La valeur ici doit être le même que celui fourni par FullName agissant sur Type implémentant IConfigureToolboxItem.

Assembly

REG_SZ

nom complet de l'assembly fournissant IConfigureToolboxItem

Cette valeur doit être l'ID complète d'assembly, qui, selon l'assembly, peut inclure :

  • un nom simple

  • un numéro de version

  • une paire de clés de chiffrement

  • une culture prise en charge

  • un champ personnalisé

La valeur doit être une liste avec la virgule comme séparateur des valeurs de propriété comme est fourni par la propriété d' FullName agir sur Type implémentant IConfigureToolboxItem.

Par exemple : .

MyPackage.Toolbox, Version=8.0.1200.0, Culture=neutral,PublicKeyToken=abcdef12345ab, Custom=null

Les caractères génériques ne sont pas pris en charge.

Pour plus d'informations sur le format des noms d'assembly qualifié complet, consultez l' AssemblyQualifiedName.

IConfigureToolboxItem.

Pour plus d'informations sur l'identification d'assembly, consultez l' AssemblyName.

Classe

REG_SZ

Nom complet de la classe implémentant l'interface d' IConfigureToolboxItem de la manière attendue par FullName.

La valeur doit être le même que celui fourni par FullName, agissant sur le type d'implémentation IConfigureToolboxItem.

CodeBase

REG_SZ

Emplacement de l'assembly qui fournit l'implémentation de IConfigureToolboxItem

Cette valeur doit être le chemin d'accès complet au fichier d'assembly contenant l'implémentation d' IConfigureToolboxItem.

InprocServer32

REG_SZ

La doit toujours être définie à "C:\WINDOWS\System32\mscoree.dll"

le serveur in-process

ThreadingModel

REG_SZ

La doit toujours être définie à "Both"

Modèle de thread

Contenu du \SOFTWARE\Microsoft\VisualStudio HKEY_LOCAL_MACHINE \ <Version> \ToolboxItemConfiguration Registry Entry :

Notes

Sous managed package, ces entrées du Registre sont créées par l'instance d' ProvideAssemblyFilterAttribute se sont jointes à Type fournissant une implémentation d' IConfigureToolboxItem.

Nom

Type

Données

Description

<AssemblyName>

REG_SZ

spécification des assemblys à sélectionner ou filtrer.

Le nom de clé, <AssemblyName> , doit être spécifié dans le format de l'identification complète d'assembly, qui, selon les assemblys à filtrer, peut inclure :

  • un nom simple

  • un numéro de version

  • une paire de clés de chiffrement

  • une culture prise en charge

  • un champ personnalisé

Le nom de clé doit être une liste avec la virgule comme séparateur des paires de valeurs de propriété. Pour plus d'informations sur le format des noms d'assembly qualifié complet, consultez la propriété d' Type.FullName .

Un caractère générique d' "*" est pris en charge dans cette valeur, et tout champ non fourni est traité comme un caractère générique.

Par exemple, un nom de clé de

System.Windows.*, Version=8.0.*, Culture=*,PublicKeyToken=*

sélectionne tous les assemblys avec des espaces de noms sous System.Windows (toutefois pas System.Windows lui-même), pour toutes les versions mineures de la version 8,0, et pour toutes les cultures, valeurs de clés de chiffrement, et les chaînes personnalisées.

Dans managed package, le nom de clé d' <Assembly Name> est déterminé par la chaîne utilisée comme argument au constructeur de l'instance d' ProvideAssemblyFilterAttribute appliquée à la classe implémentant l'interface d' IConfigureToolboxItem .

<ImplementationObject>

REG_SZ

GUID

Le nom de la sous-clé d' AssemblyName est le nom qualifié complet d' Type implémentant l'interface d' IConfigureToolboxItem .

La valeur de la sous-clé est un GUID de cet Type.

Dans managed package ces informations sont obtenues par réflexion à partir de la classe implémentant l'interface d' IConfigureToolboxItem à un objet d' ProvideAssemblyFilterAttribute appliqué à ces derniers.

Un exemple d'entrée sous HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio \ <Version> \ToolboxItemConfiguration serait :

        Vsip.*, Version=2.0.3500

            Vsip.ToolboxConfiguration = {YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY}

Voir aussi

Référence

ProvideToolboxItemsAttribute

ProvideToolboxFormatAttribute

ProvideAssemblyFilterAttribute

IConfigureToolboxItem

ToolboxItem

Concepts

gérer la boîte à outils

Comment : Fournissez des éléments de boîte à outils personnalisés à l'aide de les assemblys d'interopérabilité