ProvideProfileAttribute Sınıf

Tanım

Bu özniteliği, VSPackage'ın Visual Studio ayarları desteğini uygulamak için kullanılan bağımsız nesnelere uygulayın.

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
Devralma
ProvideProfileAttribute
Öznitelikler

Örnekler

Aşağıdaki örnekte, iki sınıfını sınıfı tarafından uygulanan VSPackage için Visual Studio ayarları desteği sağlamak üzere tanımlamak üzere bir VSPackage uygulamasına MyPackageiki örneği ProvideProfileAttribute uygulanır.

  1. "DesignerOptionsPage" adlı sayfanın uygulaması uygulamasından türetildiğinden DialogPage, Visual Studio ayarlarını ve Araç Seçenekleri sayfalarını destekleyebilir ve her ikisini de sağlayan olarak kaydedilir:

    • Örneği ProvideOptionPageAttributearacılığıyla kaydedilen Araçlar Seçenekleri sayfasının bir uygulaması. Araçlar Seçenekleri sayfalarını destekleme hakkında daha fazla bilgi için bkzProvideOptionPageAttribute. .

    • Oluşturucunun son bağımsız değişkeniyle ProvideProfileAttribute gösterilen Araçlar Seçenekleri sayfalarının durumunun kalıcı olmasını destekleyen bir uygulama.

  2. "PersistedDesignerState" adlı sınıf, yalnızca Visual Studio ayarları desteği sağlamak, "MyPackage" adlı VSPackage'ın kalan durum bilgilerini kaydetmek ve almak için olarak IProfileManagerkaydedilir.

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  
}  

Açıklamalar

Arayanlar İçin Notlar

ProvideProfileAttribute VSPackage için Visual Studio ayarları işlevini uygulayan ve VSPackage durum bilgilerini kaydedip almasını sağlayan bir sınıf olduğunda, VSPackage uygulayan sınıflara özniteliğini uygulayın.

Not

uygulayan IProfileManagersınıfların, sınıfından Componenttüretilerek yapılabilmesi için de uygulaması IComponentgerekir.

Öznitelik Bağlamı

Şunlara uygulanır veya DialogPage arabirimlerini uygulayan sınıflar aracılığıyla Visual Studio ayarları mekanizmasını IProfileManager kullanan VSPackage'lar.
Yinelenebilir Yes
Gerekli öznitelikler DefaultRegistryRootAttribute, Not Visual Studio ayarlarını uygulayan sınıf bir Araç Seçenekleri sayfası da sağlıyorsa, ProvideOptionPageAttribute bu da gereklidir.
Geçersiz öznitelikler Hiçbiri

Uygulayıcılar için Notlar

Bu öznitelik yalnızca kayıt amacıyla kullanılır ve çalışma zamanı davranışını etkilemez.

ProvideProfileAttribute , Visual Studio ayarları mekanizması aracılığıyla VSPackage'ın durumunun bir kısmını veya tamamını kalıcı hale getirme desteği sağlayan veya uygulayan IProfileManagerDialogPage bir sınıfı kaydeder. Uygulayan sınıf tarafından kalıcı hale gelen durum bilgileri visual studio ayarları kategorisi olarak adlandırılır ve kayıt defterindeki tanımlayıcı girdisi Özel Ayarlar Noktası olarak adlandırılır.

Kullanıcı Visual Studio ayarlarını kaydetmek için Araçlar menüsünde ayarları içeri/dışarı aktar komutunu seçtiğinde, tarafından kaydedilen ProvideProfileAttribute sınıflar IDE tarafından örneklenir ve ayarları kaydetmek için kullanılır.

Bu nedenden dolayı:

  • Visual Studio ayarları desteği VSPackage'ın kendisine değil kendi nesnesine uygulanmalıdır.

  • Visual Studio ayarlarını uygulayan bir sınıf, Özel Ayarlar Noktası'nda tanımlandığı gibi yalnızca bir Visual Studio ayarları kategorisini destekleyemeyebilir.

Ancak, tek bir VSPackage, aşağıdakiler gibi birden çok Özel Ayar Noktası tanımlandığı şekilde birkaç Visual Studio ayar kategorisini destekleyebilebilir:

  • Her Visual Studio ayarları kategorisi ayrı bir sınıfta uygulanır...

  • Visual Studio ayarlarını uygulayan her sınıf, kendi örneği ProvideProfileAttributetarafından VSPackage'ı desteklemek üzere kaydedilir.

    Not

    Bu, Visual Studio ayarlarını uygulayan bir sınıfın birden çok Özel Ayar Noktasını desteklediği COM tabanlı uygulamalardan farklıdır.

Bir örneği ProvideProfileAttribute:

  • Özel Ayarlar Noktası'nın Visual Studio ayarları kategorisini, Visual Studio ayarlarını uygulayan sınıftan alınan Type GUID ile benzersiz olarak tanımlar.

  • Hem kayıt defteri girişlerinde kullanılan kurallı, konumlanmamış adı hem de yerelleştirilmiş ad kaynakları olan Visual Studio ayarları kategorisinin adını ayarlar.

  • Sınıfın uygulamasını destekleyen Visual Studio ayarlarının ProvideProfileAttributebir Araç Seçenekleri sayfasını desteklediğini gösterir ( Araçlar Seçenekleri sayfasını destekleme hakkında daha fazla bilgi için bkz . Seçenekler Sayfaları).

örneklerini ProvideProfileAttributeoluşturma ve uygulama hakkında daha fazla bilgi için aşağıdaki ve ProvideProfileAttributeörneklerine bakın.

Oluşturucular

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

Yeni bir ProvideProfileAttribute örneğini başlatır.

Özellikler

AlternateParent

Profildeki farklı bir kategorinin adını alır veya ayarlar.

CategoryName

Visual Studio ayarları kategorisinin kurallı olmayan adını alır.

CategoryResourceID

Visual Studio ayarları kategorisi için kaynak kimliğinin adını alır.

DescriptionResourceID

Profilin bu sayfasının açıklamasının yerelleştirilmiş kaynak kimliğini alır.

GroupName

Bu grubun ayrılmamış adını alır.

GroupResourceID

Bu sayfanın ait olduğu grubun yerelleştirilmiş kaynak kimliğini alır veya ayarlar.

IsToolsOptionPage

Bunun bir Araç Seçenekleri sayfası olup olmadığını alır.

MigrationType

Bu kategori için gerçekleştirecek geçiş eylemini ayarlar.

ObjectName

Profilde bu sayfanın kurallı olmayan adını alır.

ObjectNameResourceID

Profilde bu sayfanın adının yerelleştirilmiş kaynak kimliğini alır.

ObjectType

Sayfanın türünü alır.

ResourcePackageGuid

Kaynak dizelerini sağlayan bir paketin GUID değerini alır veya ayarlar.

TypeId

RegistrationAttribute türetilmiş sınıflarının System.ComponentModel.TypeDescriptor.GetAttributes(...) ile çalışmasına izin vermek için TypeID özelliğini geçersiz kılın. Bu özellikten türetilen bir özniteliğin, yalnızca bir sınıfa uygulanabilecek örnekler üzerinde daha iyi bir denetime ihtiyacı varsa bu özelliği geçersiz kılması gerekir.

(Devralındığı yer: RegistrationAttribute)

Yöntemler

GetPackageRegKeyPath(Guid)

VSPackage'ın kayıt defteri yolunu (uygulamanın kayıt defteri köküne göre) alır.

(Devralındığı yer: RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Bu özniteliği kaydeder.

Unregister(RegistrationAttribute+RegistrationContext)

Anahtarı kayıt defterinden kaldırır.

Şunlara uygulanır