ProvideProfileAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Appliquez cet attribut aux objets indépendants utilisés pour implémenter la prise en charge des paramètres Visual Studio d’un VSPackage.
public ref class ProvideProfileAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
public ref class ProvideProfileAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideProfileAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideProfileAttribute = class
inherit RegistrationAttribute
Public NotInheritable Class ProvideProfileAttribute
Inherits RegistrationAttribute
- Héritage
- Attributs
Exemples
Dans l’exemple ci-dessous, deux instances de ProvideProfileAttribute
sont appliquées à une implémentation VSPackage pour définir les deux classes comme fournissant la prise en charge des paramètres Visual Studio pour le VSPackage implémenté par la classe MyPackage
.
Étant donné que l’implémentation de la page nommée « DesignerOptionsPage » est dérivée de DialogPage, elle peut prendre en charge les paramètres visual Studio et les pages Options des outils , et est inscrite comme fournissant à la fois :
Implémentation d’une page Options d’outils, qui est inscrite via le instance ProvideOptionPageAttribute. Pour plus d’informations sur la prise en charge des pages Options des outils , consultez ProvideOptionPageAttribute.
Implémentation qui prend en charge la persistance de l’état des pages Options des outils , qui est indiqué par l’argument final au
ProvideProfileAttribute
constructeur.
La classe nommée « PersistedDesignerState » est inscrite comme fournissant uniquement la prise en charge des paramètres Visual Studio, l’enregistrement et la récupération des informations d’état restantes du VSPackage nommé « MyPackage » en implémentant IProfileManager.
using Microsoft.VisualStudio.Shell;
namespace Example
{
[DefaultRegistryRoot("Software\\Microsoft\\VisualStudio\\8.0")]
[ProvideOptionPage(typeof(DesignerOptionsPage), "MyDesigner", "OptionPage", 1000, 1001, true)]
[ProvideProfileAttribute(typeof(DesignerOptionsPage), "MyDesigner", "OptionPage", 1002, 1003, true)]
[ProvideProfileAttribute(typeof(PersistCurrentDesign), "MyDesigner","CurrentDesign", 1004, 1005, false)]
[Guid("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")]
public class MyPackage : Package
{
//Implementation here
}
[Guid("YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY")]
internal class DesignerOptionsPage: DialogPage {
//Implementation here
}
[Guid("ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ")]
internal class PersistCurrentDesign: IProfileManager {
//Implementation here
}
Remarques
Remarques pour les appelants
Appliquez l’attribut ProvideProfileAttribute
à des classes implémentant un VSPackage lorsqu’il existe une classe qui implémente la fonctionnalité de paramètres Visual Studio pour le VSPackage, ce qui lui permet d’enregistrer et de récupérer les informations d’état VSPackage.
Notes
Les classes implémentant IProfileManager, doivent également implémenter IComponent, ce qui peut être fait en dérivant la classe à partir de Component.
Contexte d'attribut
S’applique à | VSPackages utilisant le mécanisme de paramètres Visual Studio via des classes qui implémentent les IProfileManager interfaces ou DialogPage . |
Renouvelable | Yes |
Attributs requis | DefaultRegistryRootAttribute Remarque Si la classe implémentant les paramètres De Visual Studio fournit également une page Options d’outils, ProvideOptionPageAttribute est également obligatoire. |
Attributs non valides | None |
Remarques pour les implémenteurs
Cet attribut est utilisé uniquement à des fins d’inscription et n’affecte pas le comportement du runtime.
ProvideProfileAttribute
inscrit une classe qui implémente IProfileManager ou DialogPage prend en charge la persistance d’une partie ou de la totalité de l’état de VSPackage via le mécanisme de paramètres Visual Studio. Les informations d’état conservées par la classe d’implémentation sont appelées catégorie de paramètres Visual Studio, et son entrée de définition dans le Registre est appelée point de paramètres personnalisés.
Lorsqu’un utilisateur sélectionne la commande Paramètres d’importation/exportation dans le menu Outils pour enregistrer les paramètres Visual Studio, les classes inscrites par ProvideProfileAttribute
sont instanciées par l’IDE et utilisées pour enregistrer les paramètres.
Pour cette raison :
La prise en charge des paramètres de Visual Studio doit être implémentée sur son propre objet et non sur le VSPackage lui-même.
Une classe implémentant des paramètres Visual Studio ne peut prendre en charge qu’une seule catégorie de paramètres Visual Studio, telle que définie dans Point de paramètres personnalisés.
Toutefois, un vsPackage unique peut prendre en charge plusieurs catégories de paramètres Visual Studio définies par plusieurs points de paramètres personnalisés, à condition que :
Chaque catégorie de paramètres Visual Studio est implémentée dans une classe distincte..
Chaque classe implémentant des paramètres Visual Studio est inscrite comme prenant en charge le VSPackage par son propre instance de
ProvideProfileAttribute
.Notes
Cela diffère des implémentations basées sur COM où une classe implémentant des paramètres Visual Studio peut prendre en charge plusieurs points de paramètres personnalisés.
Une instance de ProvideProfileAttribute
:
Identifie de manière unique la catégorie de paramètres Visual Studio d’un point de paramètres personnalisés avec le GUID obtenu à partir du de la Type classe implémentant les paramètres Visual Studio.
Définit le nom d’une catégorie de paramètres Visual Studio, à la fois son nom canonique et non localisé utilisé dans les entrées du Registre et ses ressources de nom localisé.
Indique si les paramètres Visual Studio qui prennent en charge l’implémentation de la classe de
ProvideProfileAttribute
prennent en charge une page Options des outils (pour plus d’informations sur la page Options des outils de prise en charge, consultez Pages d’options).
Pour plus d’informations sur la création et l’application d’instances de ProvideProfileAttribute
, consultez l’exemple ci-dessous et ProvideProfileAttribute.
Constructeurs
ProvideProfileAttribute(Type, String, String, Int16, Int16, Boolean) |
Initialise une nouvelle instance de ProvideProfileAttribute. |
Propriétés
AlternateParent |
Obtient ou définit le nom d'une catégorie différente dans le profil. |
CategoryName |
Obtient le nom canonique non localisé de la catégorie de paramètres Visual Studio. |
CategoryResourceID |
Obtient l’ID de ressource de nom pour une catégorie de paramètres Visual Studio. |
DescriptionResourceID |
Obtient l'ID de ressource localisée de la description de cette page du profil. |
GroupName |
Obtient le nom non localisé de ce groupe. |
GroupResourceID |
Obtient ou définit l'ID de ressource localisé du groupe auquel cette page appartient. |
IsToolsOptionPage |
Obtient si il s’agit également d’une page Options d’outils. |
MigrationType |
Définit l'action de migration à effectuer pour cette catégorie. |
ObjectName |
Obtient le nom canonique non localisé de cette page dans le profil. |
ObjectNameResourceID |
Obtient l'ID de ressource localisée du nom de cette page du profil. |
ObjectType |
Obtient le type de la page. |
ResourcePackageGuid |
Obtient ou définit le GUID d'un package fournissant les chaînes de ressources. |
TypeId |
Remplacez la propriété TypeID afin de permettre aux classes dérivées RegistrationAttribute de fonctionner avec System.ComponentModel.TypeDescriptor.GetAttributes (...). Un attribut dérivé de celui-ci doit remplacer cette propriété uniquement s’il a besoin d’un meilleur contrôle sur les instances qui peuvent être appliquées à une classe. (Hérité de RegistrationAttribute) |
Méthodes
GetPackageRegKeyPath(Guid) |
Obtient le chemin d'accès au Registre (relatif à la racine de Registre de l'application) du VSPackage. (Hérité de RegistrationAttribute) |
Register(RegistrationAttribute+RegistrationContext) |
Inscrit cet attribut. |
Unregister(RegistrationAttribute+RegistrationContext) |
Supprime la clé du Registre. |