ProvideProfileAttribute Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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
.
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.
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. |