Bagikan melalui


ProvideProfileAttribute Kelas

Definisi

Terapkan atribut ini ke objek independen yang digunakan untuk mengimplementasikan dukungan pengaturan Visual Studio VSPackage.

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
Warisan
ProvideProfileAttribute
Atribut

Contoh

Dalam contoh di bawah ini, dua instans ProvideProfileAttribute diterapkan ke implementasi VSPackage untuk menentukan dua kelas sebagai menyediakan dukungan pengaturan Visual Studio untuk VSPackage yang diterapkan oleh kelas MyPackage.

  1. Karena implementasi halaman bernama "DesignerOptionsPage" berasal dari DialogPage, ini dapat mendukung pengaturan Visual Studio dan halaman Opsi Alat , dan terdaftar sebagai menyediakan keduanya:

    • Implementasi halaman Opsi Alat , yang terdaftar melalui instans ProvideOptionPageAttribute. Untuk informasi selengkapnya tentang halaman Opsi Alat pendukung, lihat ProvideOptionPageAttribute.

    • Implementasi yang mendukung status halaman Opsi Alat yang ditunjukkan oleh argumen akhir ke ProvideProfileAttribute konstruktor.

  2. Kelas bernama "PersistedDesignerState" terdaftar sebagai hanya menyediakan dukungan pengaturan Visual Studio, menyimpan dan mengambil informasi status yang tersisa dari VSPackage bernama "MyPackage" dengan menerapkan 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  
}  

Keterangan

Catatan untuk Penelepon

ProvideProfileAttribute Terapkan atribut ke kelas yang menerapkan VSPackage ketika ada kelas yang mengimplementasikan fungsionalitas pengaturan Visual Studio untuk VSPackage, memungkinkannya menyimpan dan mengambil informasi status VSPackage.

Catatan

Kelas yang menerapkan IProfileManager, juga harus menerapkan IComponent, yang dapat dilakukan dengan mengambil kelas dari Component.

Konteks Atribut

Berlaku untuk VSPackages menggunakan mekanisme pengaturan Visual Studio melalui kelas yang mengimplementasikan IProfileManager antarmuka atau DialogPage .
Berulang Ya
Atribut yang diperlukan DefaultRegistryRootAttribute, Catatan Jika kelas yang menerapkan pengaturan Visual Studio juga menyediakan halaman Opsi Alat , ProvideOptionPageAttribute juga diperlukan.
Atribut tidak valid Tidak ada

Catatan untuk Pelaksana

Atribut ini hanya digunakan untuk tujuan pendaftaran dan tidak memengaruhi perilaku runtime.

ProvideProfileAttribute mendaftarkan penerapan IProfileManager kelas atau DialogPage sebagai memberikan dukungan untuk mempertahankan sebagian atau semua status VSPackage melalui mekanisme pengaturan Visual Studio. Informasi status yang dipertahankan oleh kelas penerapan disebut sebagai kategori pengaturan Visual Studio, dan entri yang menentukan dalam registri disebut sebagai Titik Pengaturan Kustom.

Saat pengguna memilih perintah Pengaturan Impor/Ekspor pada menu Alat untuk menyimpan pengaturan Visual Studio, kelas yang didaftarkan oleh ProvideProfileAttribute dibuat oleh IDE dan digunakan untuk menyimpan pengaturan.

Karena hal ini:

  • Dukungan pengaturan Visual Studio harus diimplementasikan pada objeknya sendiri dan bukan pada VSPackage itu sendiri.

  • Kelas yang menerapkan pengaturan Visual Studio hanya dapat mendukung satu kategori pengaturan Visual Studio seperti yang ditentukan dalam Titik Pengaturan Kustom.

Namun, satu VSPackage dapat mendukung beberapa kategori pengaturan Visual Studio sebagaimana ditentukan beberapa Titik Pengaturan Kustom selama:

  • Setiap kategori pengaturan Visual Studio diimplementasikan di kelas terpisah.

  • Setiap kelas yang menerapkan pengaturan Visual Studio terdaftar sebagai mendukung VSPackage dengan instansnya sendiri dari ProvideProfileAttribute.

    Catatan

    Ini berbeda dari implementasi berbasis COM di mana kelas yang menerapkan pengaturan Visual Studio dapat mendukung beberapa Titik Pengaturan Kustom.

Instans dari ProvideProfileAttribute:

  • Secara unik mengidentifikasi kategori pengaturan Visual Studio Titik Pengaturan Kustom dengan GUID yang diperoleh dari Type kelas yang menerapkan pengaturan Visual Studio.

  • Mengatur nama kategori pengaturan Visual Studio, baik nama kanonis dan nonlokalisasi yang digunakan dalam entri registri dan sumber daya nama yang dilokalkan.

  • Menunjukkan apakah pengaturan Visual Studio yang mendukung implementasi ProvideProfileAttribute kelas mendukung halaman Opsi Alat (untuk informasi selengkapnya tentang halaman Opsi Alat pendukung, lihat Halaman Opsi).

Untuk informasi selengkapnya tentang membuat dan menerapkan instans ProvideProfileAttribute, lihat contoh di bawah ini dan ProvideProfileAttribute.

Konstruktor

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

Menginisialisasi instans baru ProvideProfileAttribute.

Properti

AlternateParent

Mendapatkan atau mengatur nama kategori yang berbeda di profil.

CategoryName

Mendapatkan nama kanonis nonlokalisasi dari kategori pengaturan Visual Studio.

CategoryResourceID

Mendapatkan ID sumber daya nama untuk kategori pengaturan Visual Studio.

DescriptionResourceID

Mendapatkan ID sumber daya yang dilokalkan dari deskripsi halaman profil ini.

GroupName

Mendapatkan nama nonlokalisasi grup ini.

GroupResourceID

Mendapatkan atau mengatur ID sumber daya yang dilokalkan dari grup tempat halaman ini berada.

IsToolsOptionPage

Mendapatkan apakah ini juga merupakan halaman Opsi Alat.

MigrationType

Mengatur tindakan migrasi yang akan diambil untuk kategori ini.

ObjectName

Mendapatkan nama nonlokalisasi kanonis halaman ini di profil.

ObjectNameResourceID

Mendapatkan ID sumber daya yang dilokalkan dari nama halaman ini di profil.

ObjectType

Mendapatkan jenis halaman.

ResourcePackageGuid

Mendapatkan atau mengatur GUID paket yang menyediakan string sumber daya.

TypeId

Ambil alih properti TypeID untuk memungkinkan RegistrationAttribute memperoleh kelas untuk bekerja dengan System.ComponentModel.TypeDescriptor.GetAttributes(...). Atribut yang berasal dari atribut ini harus mengambil alih properti ini hanya jika membutuhkan kontrol yang lebih baik pada instans yang dapat diterapkan ke kelas.

(Diperoleh dari RegistrationAttribute)

Metode

GetPackageRegKeyPath(Guid)

Mendapatkan jalur registri (relatif terhadap akar registri aplikasi) dari VSPackage.

(Diperoleh dari RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Mendaftarkan atribut ini.

Unregister(RegistrationAttribute+RegistrationContext)

Menghapus kunci dari registri.

Berlaku untuk