ProvideProfileAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Ö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 MyPackage
iki örneği ProvideProfileAttribute
uygulanır.
"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.
"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
ProvideProfileAttribute
tarafı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
ProvideProfileAttribute
bir 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 ProvideProfileAttribute
oluş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. |