Partager via


ProvideOptionPageAttribute, constructeur (Type, String, String, Int16, Int16, Boolean)

Initialise une nouvelle instance d'ProvideOptionPageAttribute indiquant qu'une classe particulière implémente la prise en charge de configuration utilisateur du VSPackage selon une page de Outils Options.

Espace de noms :  Microsoft.VisualStudio.Shell
Assembly :  Microsoft.VisualStudio.Shell.11.0 (dans Microsoft.VisualStudio.Shell.11.0.dll)

Syntaxe

'Déclaration
<BrowsableAttribute(False)> _
Public Sub New ( _
    pageType As Type, _
    categoryName As String, _
    pageName As String, _
    categoryResourceID As Short, _
    pageNameResourceID As Short, _
    supportsAutomation As Boolean _
)
[BrowsableAttribute(false)]
public ProvideOptionPageAttribute(
    Type pageType,
    string categoryName,
    string pageName,
    short categoryResourceID,
    short pageNameResourceID,
    bool supportsAutomation
)

Paramètres

  • pageType
    Type : System.Type
    Type de la classe implémentant la page de Outils Options.
  • categoryName
    Type : System.String
    Le nom non localisée canonique de la catégorie de page de Outils Options.
  • pageName
    Type : System.String
    Le nom non localisée canonique du sous-catégorie de page de Outils Options.
  • categoryResourceID
    Type : System.Int16
    L'ID de ressource localisé de la catégorie de page de Outils Options.
  • pageNameResourceID
    Type : System.Int16
    L'ID de ressource localisé du sous-catégorie de page de Outils Options.
  • supportsAutomation
    Type : System.Boolean
    Si la valeur true est affectée, la page de Outils Options est accessible via le mécanisme d'automation de Visual Studio.

Remarques

Si l'automation est prise en charge, la catégorie et les noms de sous-catégorie non localisée canoniques sont utilisés pour obtenir la collection d'Properties d'une page de Outils Options.Pour plus d'informations, consultez Utilisation des pages options.

les informations d'inscription de page de Outils Options sont créées sous les entrées du Registre

  • ToolsOptionsPages

  • AutomationProperties (si la prise en charge d'automation est demandée)

Celles-ci sont recherchées sous HKLM\Software\Microsoft\VisualStudio\<Version> d'où le <Version> est la version de Visual Studio, par exemple 8,0.

Les entrées du Registre pour les pages d'options Outils sont :

ToolsOptionsPages \ <categoryName>

ToolsOptionsPages \ <categoryName>\@=#<categoryResourceID>

ToolsOptionsPages \ <categoryName>\Package= {« } »

ToolsOptionsPages\<categoryName>\<pageName>

ToolsOptionsPages\<categoryName>\<pageName>\@=#<pageNameResourceID>

ToolsOptionsPages\<categoryName>\<pageName>\Package={"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}

ToolsOptionsPages\<categoryName>\<pageName>\Page={"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"}

ToolsOptionsPages\<categoryName>\<pageName>\NoShowAllView=0/1

Si la prise en charge d'automation est spécifiée, les entrées du Registre AutomationProperties pour sont :

AutomationProperties\<categoryName>\<pageName>

AutomationProperties\<categoryName>\<pageName>\Name=<categoryName>.<pageName>

AutomationProperties\<categoryName>\<pageName>\Package={"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}

AutomationProperties\<categoryName>\<pageName>\ProfileSave=0/1

Exemples

L'exemple ci-dessous montre l'alignement de la page nommée « DesignerOptionsPage » comme fournir au package « MyPackage » la prise en charge de page d'OutilsOptions.Le VSPackage et la catégorie GUID sont obtenus par l'attribut par réflexion.

Les entrées du Registre pour DesignerOptionsPage sont :

ToolsOptionsPages\MyDesigner

ToolsOptionsPages\MyDesigner\@=#1002

ToolsOptionsPages\MyDesigner\Package={"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}

ToolsOptionsPages\MyDesigner\OptionPage

ToolsOptionsPages\MyDesigner\OptionPage\@=#1003

ToolsOptionsPages\ MyDesigner\OptionPage\Package={"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}

ToolsOptionsPages\MyDesigner\OptionPage\Page={"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"}

Remarque le ToolsOptionsPages\MyDesigner\NoShowAllView principaux n'est pas défini, car la propriété NoShowAllView est initialisée à false.

Étant donné que la propriété d'SupportsAutomation est true, ces valeurs de Registre supplémentaires sont définies :

AutomationProperties\MyDesigner\OptionPage

AutomationProperties\MyDesigner\OptionPage\Name=MyDesigner.OptionPage

AutomationProperties\MyDesigner\OptionPage\Package= {« } »

AutomationProperties\MyDesigner\OptionPage\ProfileSave=1

Remarque le ToolsOptionsPages\MyDesigner\ProfileSave principaux est présent et défini à 1 étant donné que la propriété d'SupportsProfiles est définie à true.

using Microsoft.VisualStudio.Shell;
namespace Example
{
[DefaultRegistryRoot("Software\\Microsoft\\VisualStudio\\8.0")] 
[ProvideOptionPage(typeof(DesignerOptionsPage), " MyDesigner", "OptionPage", 1000, 1001, true, 
                    NoShowAllValue = false, ProfileSave = true)] 
[ProvideProfileAttribute(typeof(DesignerOptionsPage), "MyDesigner", "OptionPage", 1002, 1003, true)]
 [Guid("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")]
public class MyPackage : Package
{
//Implementation here
}

[Guid("YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY")]
internal class DesignerOptionsPage: DialogPage {
//Implementation here
}

Sécurité .NET Framework

Voir aussi

Référence

ProvideOptionPageAttribute Classe

ProvideOptionPageAttribute, surcharge

Microsoft.VisualStudio.Shell, espace de noms