ProvideProfileAttribute(Type, String, String, Int16, Int16, Boolean) Construtor

Definição

Inicializa uma nova instância de ProvideProfileAttribute.

public:
 ProvideProfileAttribute(Type ^ objectType, System::String ^ categoryName, System::String ^ objectName, short categoryResourceID, short objectNameResourceID, bool isToolsOptionPage);
public:
 ProvideProfileAttribute(Platform::Type ^ objectType, Platform::String ^ categoryName, Platform::String ^ objectName, short categoryResourceID, short objectNameResourceID, bool isToolsOptionPage);
public ProvideProfileAttribute (Type objectType, string categoryName, string objectName, short categoryResourceID, short objectNameResourceID, bool isToolsOptionPage);
new Microsoft.VisualStudio.Shell.ProvideProfileAttribute : Type * string * string * int16 * int16 * bool -> Microsoft.VisualStudio.Shell.ProvideProfileAttribute
Public Sub New (objectType As Type, categoryName As String, objectName As String, categoryResourceID As Short, objectNameResourceID As Short, isToolsOptionPage As Boolean)

Parâmetros

objectType
Type

O Type da classe que implementa o suporte às configurações do Visual Studio.

categoryName
String

O nome canônico e não-local de uma categoria de configurações do Visual Studio.

objectName
String

O nome canônico, não local, usado para identificar o objeto que implementa uma categoria de configurações do Visual Studio.

categoryResourceID
Int16

A ID de recurso localizada do nome de uma categoria de configurações do Visual Studio.

objectNameResourceID
Int16

A ID de recurso localizada do nome usado para identificar o objeto que implementa uma categoria de configurações do Visual Studio.

isToolsOptionPage
Boolean

Este argumento não está implementado.

Exemplos

O exemplo a seguir mostra o registro de duas classes Visual Studio que fornecem configurações, uma das quais ( DesignerOptionsPage ) fornece suporte à página Opções de ferramentas . Os GUIDs de pacote e categoria são obtidos pelo atributo por reflexão.

O ponto de configurações personalizadas para a página chamada "DesignerOptionsPage" é:

MyDesigner_OptionPage

MyDesigner_OptionPage \ @ = #1003

MyDesigner_OptionPage \Package = {"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}

MyDesigner_OptionPage \Category = {"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"}

MyDesigner_OptionPage \AlternateParent = mydesigner

Observação

A última entrada acima, (UserSettings \ MyDesigner_OptionPage \AlternateParent), está presente porque isToolsOptionPage é true .

O ponto de configurações personalizadas para a página chamada "PersistCurrentDesign" é:

MyDesigner_ CurrentDesign

MyDesigner_ CurrentDesign \ @ = #1005 >

MyDesigner_ CurrentDesign\Package = {"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}

MyDesigner_ CurrentDesign\Category = {"ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ"}>

Observação

Não há (MyDesigner_ ObjectName> \AlternateParent) porque isToolsOptionPage é false .

O código de exemplo a seguir ilustra como o DesignerOptionsPage é registrado usando o ProvideProfileAttribute .

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 PersisteDesignerState: IProfileManager {  
//Implementation here  

Comentários

O ProvideProfileAttribute construtor usa o GUID obtido do objectType para identificar exclusivamente uma categoria de configurações do ponto de configurações personalizado Visual Studio .

Se isToolsOptionPage for true , o ProvideOptionPageAttribute também deverá ser aplicado ao VSPackage.

Os pontos de configuração personalizados são criados dentro de uma entrada de registro que contém o nome canônico do formulário <CategoryName> _ <ObjectName> .

A chave do registro é encontrada em HKLM\Software\Microsoft\VisualStudio \ <Version> \UserSettings <Version> , em que é a versão do Visual Studio , por exemplo, 8,0.

A entrada do registro sob <CategoryName> _ <ObjectName> está no formato:

<CategoryName> _ <ObjectName>

<CategoryName> _ <ObjectName>\@=#<ObjectNameResourceID>

<CategoryName> _ <ObjectName> \Package =<Package>

<CategoryName> _ <ObjectName> \Category =<ObjectTypeGuid>

<CategoryName> _ <ObjectName> \AlternateParent =<CategoryName >

Observação

A última entrada acima ( <CategoryName> _ <ObjectName> \AlternateParent) será criada somente se isToolsOptionPage for true .

Aplica-se a