Udostępnij za pośrednictwem


Klasa ProvideProfileAttribute

Stosuje się ten atrybut do niezależnych obiektów używanych do implementowania VSPackage Visual Studio obsługa ustawień.

Hierarchia dziedziczenia

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.Shell.ProvideProfileAttribute

Przestrzeń nazw:  Microsoft.VisualStudio.Shell
Zestaw:  Microsoft.VisualStudio.Shell.11.0 (w Microsoft.VisualStudio.Shell.11.0.dll)

Składnia

'Deklaracja
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideProfileAttribute _
    Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideProfileAttribute : RegistrationAttribute

Typ ProvideProfileAttribute uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda publiczna ProvideProfileAttribute Inicjuje nowe wystąpienie ProvideProfileAttribute.

Początek

Właściwości

  Nazwa Opis
Właściwość publiczna AlternateParent Pobiera lub ustawia nazwę różnych kategorii w profilu.
Właściwość publiczna CategoryName Pobiera nazwę kanoniczną niezlokalizowanej Visual Studio ustawienia kategorii.
Właściwość publiczna CategoryResourceID Pobiera identyfikator zasobu Nazwa Visual Studio ustawienia kategorii.
Właściwość publiczna DescriptionResourceID Pobiera identyfikator zasobu zlokalizowany opis tej strony profilu.
Właściwość publiczna GroupName Pobiera nazwę niezlokalizowanej tej grupy.
Właściwość publiczna GroupResourceID Zwraca lub ustawia identyfikator zasobów zlokalizowanych z grupy, do której należy ta strona.
Właściwość publiczna IsToolsOptionPage Pobiera się, czy jest to również Opcje narzędzia strony.
Właściwość publiczna MigrationType Ustawia akcję migracji do wykonania dla tej kategorii.
Właściwość publiczna ObjectName Pobiera nazwę kanoniczną niezlokalizowanej tę stronę w profilu.
Właściwość publiczna ObjectNameResourceID Pobiera identyfikator zasobu zlokalizowana nazwa tej strony w profilu.
Właściwość publiczna ObjectType Pobiera typu strony.
Właściwość publiczna ResourcePackageGuid Zwraca lub ustawia identyfikator GUID pakietu, zapewniając ciągów zasobów.
Właściwość publiczna TypeId Pobiera bieżące wystąpienie tego atrybutu. (Odziedziczone z RegistrationAttribute).

Początek

Metody

  Nazwa Opis
Metoda publiczna Equals Infrastruktura. Zwraca wartość, która wskazuje, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute).
Metoda publiczna GetHashCode Zwraca kod skrótu dla tego wystąpienia. (Odziedziczone z Attribute).
Metoda publiczna GetType Pobiera Type bieżącej instancji. (Odziedziczone z Object).
Metoda publiczna IsDefaultAttribute Gdy zastąpiony w klasie pochodnej, wskazuje, czy wartość to wystąpienie jest wartością domyślną dla klasy pochodnej. (Odziedziczone z Attribute).
Metoda publiczna Match Gdy zastąpiony w klasie pochodnej, zwraca wartość wskazującą, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute).
Metoda publiczna Register Rejestruje ten atrybut. (Zastępuje RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)).
Metoda publiczna ToString Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object).
Metoda publiczna Unregister Powoduje usunięcie klucza rejestru. (Zastępuje RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)).

Początek

Jawne implementacje interfejsu

  Nazwa Opis
Jawna implementacja interfejsuMetoda prywatna _Attribute.GetIDsOfNames Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłki. (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna _Attribute.GetTypeInfo Pobiera informacje o typie dla obiektu, który można uzyskać informacji o typie dla interfejsu. (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna _Attribute.GetTypeInfoCount Pobiera numer typu informacji interfejsów, że obiekt zawiera (0 lub 1). (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna _Attribute.Invoke Zapewnia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone z Attribute).

Początek

Uwagi

Uwagi do wywoływania

Stosuje się ProvideProfileAttribute atrybutu do wykonania VSPackage po klasy implementującej klasy Visual Studio ustawienia funkcji VSPackage, pozwalając im na zapisywanie i pobieranie informacji o stanie VSPackage.

[!UWAGA]

Klasy wykonawczych IProfileManager, również musi implementować IComponent, które mogą być wykonywane przez wynikające z klasy Component.

Atrybutu kontekstu

Stosuje się do

Za pomocą VSPackages Visual Studio mechanizmu ustawienia za pomocą klasy wdrożenie tego IProfileManager lub DialogPage interfejsów.

Powtarzalne

Tak

Wymagane atrybuty

DefaultRegistryRootAttribute, Uwaga Jeśli wykonawczych klasy Visual Studio zapewnia także ustawienia Opcje narzędzia stronę, ProvideOptionPageAttribute jest również wymagane.

Nieprawidłowe atrybuty

Brak

Uwagi do implementacji

Ten atrybut jest używany tylko do celów rejestracji i nie wpływa na zachowanie środowiska wykonawczego.

ProvideProfileAttributerejestruje klasy wykonawczych IProfileManager lub DialogPage jako zapewnienie wsparcia dla części utrzymujących lub wszystkie Państwa VSPackage przez Visual Studio mechanizmu ustawienia.Informacje o stanie są zachowywane przez zaimplementowanie klasy jest określone jako Visual Studio ustawienia kategorii i jego definiujących wpis w rejestrze jest określane jako punkt ustawienia niestandardowe.

Gdy użytkownik wybierze Ustawienia importu i eksportu polecenia na Narzędzia menu, aby zapisać Visual Studio ustawienia, klas, zarejestrowanych przez ProvideProfileAttribute są tworzone wystąpienia IDE i używane, aby zapisać ustawienia.

W związku z tym:

  • Visual StudioObsługa ustawień powinny zostać wdrożone na swój własny obiekt, a nie na VSPackage, sam.

  • Klasa wykonawczych Visual Studio ustawienia mogą obsługiwać tylko jeden Visual Studio ustawienia kategorii, jak określono w pkt ustawienia niestandardowe.

Jednak pojedynczy VSPackage może obsługiwać kilka Visual Studio ustawienia kategorii, jak określono wiele punktów ustawienia niestandardowe tak długo, jak:

  • Każdy Visual Studio ustawienia kategorii jest zaimplementowana w osobnej klasy..

  • Każda klasa wykonawczych Visual Studio ustawienia jest zarejestrowany jako pomocnicze VSPackage własnej instancji ProvideProfileAttribute.

    [!UWAGA]

    To różni się od implementacji opartą na modelu COM, w przypadku, gdy klasa wykonawczych Visual Studio ustawienia może obsługiwać wiele punktów ustawienia niestandardowe.

Wystąpienie ProvideProfileAttribute:

  • Jednoznacznie identyfikuje punkt ustawienia niestandardowe Visual Studio ustawienia kategorii o identyfikatorze GUID uzyskanych z Type wykonawczych klasy Visual Studio ustawienia.

  • Zestawy Visual Studio nazwa kategorii ustawień, zarówno jej kanoniczna, niezlokalizowanej nazwę używaną w wpisy rejestru i jego zasobów zlokalizowana nazwa.

  • Wskazuje, jeśli Visual Studio ustawienia obsługi implementacji klasy ProvideProfileAttribute obsługuje Opcje narzędzia stronę (więcej informacji na temat obsługi Opcje narzędzia stron, zobacz Opcje strony).

Aby uzyskać więcej informacji na temat tworzenia i stosowania wystąpienia ProvideProfileAttribute, patrz przykład poniżej i ProvideProfileAttribute.

Przykłady

W przykładzie poniżej dwóch wystąpień ProvideProfileAttribute są stosowane do wykonania VSPackage do definiowania dwóch klas jako zapewniające Visual Studio ustawienia wsparcie dla VSPackage, implementowanych przez klasę MyPackage.

  1. Ponieważ jest pochodną wykonania stronę o nazwie "DesignerOptionsPage" DialogPage, może on obsługiwać Visual Studio ustawienia i Opcje narzędzia stron i jest zarejestrowana jako zapewniające zarówno:

    • Implementacja Opcje narzędzia stronę, która jest zarejestrowana przez wystąpienie ProvideOptionPageAttribute.Więcej informacji na temat obsługi Opcje narzędzia stron, zobacz ProvideOptionPageAttribute.

    • Implementacja obsługuje utrwalanie stanu Opcje narzędzia stron, które jest wskazane przez końcowego argument ProvideProfileAttribute konstruktora.

  2. Klasę o nazwie "PersistedDesignerState" jest zarejestrowany jako zapewniające po prostu Visual Studio ustawienia wsparcia, zapisywanie i pobieranie pozostałe informacje o stanie VSPackage, implementując o nazwie "Mojpakiet" 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
}

Bezpieczeństwo wątku

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.Shell

Inne zasoby

Opcje strony

Opcje i ustawienia użytkownika

Tworzenie strony opcje przy użyciu zarządzanych pakiet ramy klas

Rejestrowanie niestandardowe opcje strony

Utrwalanie ustawienia