ProvideProfileAttribute(Type, String, String, Int16, Int16, Boolean) Construtor
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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 .