Dukungan untuk Pengaturan Pengguna
VSPackage dapat menentukan satu atau beberapa kategori pengaturan, yang merupakan grup variabel status yang bertahan saat pengguna memilih perintah Impor/Ekspor Pengaturan pada menu Alat. Untuk mengaktifkan persistensi ini, Anda menggunakan API pengaturan di Visual Studio SDK.
Entri registri yang disebut sebagai Custom Pengaturan Point dan GUID menentukan kategori pengaturan VSPackage. VSPackage dapat mendukung beberapa kategori pengaturan, masing-masing ditentukan oleh Titik Pengaturan Kustom.
Implementasi pengaturan yang didasarkan pada rakitan interop (menggunakan IVsUserSettings antarmuka) harus membuat Custom Pengaturan Point dengan mengedit registri atau menggunakan skrip Registrar (file.rgs). Untuk informasi selengkapnya, lihat Membuat Skrip Pencatat.
Kode yang menggunakan Kerangka Kerja Paket Terkelola (MPF) harus membuat Titik Pengaturan Kustom dengan melampirkan ProvideProfileAttribute ke VSPackage untuk setiap Titik Pengaturan Kustom.
Jika satu VSPackage mendukung beberapa Titik Pengaturan Kustom, setiap Titik Pengaturan Kustom diimplementasikan oleh kelas terpisah, dan masing-masing didaftarkan oleh instans ProvideProfileAttribute unik kelas. Akibatnya, kelas penerapan pengaturan dapat mendukung lebih dari satu kategori pengaturan.
Detail Entri Registri Titik Pengaturan Kustom
Titik Pengaturan Kustom dibuat dalam entri registri di lokasi berikut: HKLM\Software\Microsoft\VisualStudio\<Version>\User Pengaturan\<CSPName>
, di mana <CSPName>
adalah nama Pengaturan Kustom Arahkan dukungan VSPackage dan< Versi> adalah versi Visual Studio, misalnya 8.0.
Catatan
Jalur akar HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> dapat ditimpa dengan akar alternatif saat lingkungan pengembangan terintegrasi Visual Studio (IDE) diinisialisasi. Untuk informasi selengkapnya, lihat Sakelar Baris Perintah.
Struktur entri registri diilustrasikan di bawah ini:
HKLM\Software\Microsoft\VisualStudio\<Version>\User Pengaturan\
<CSPName
>= s '#12345'
Paket = '{XXXXXX XXXX XXXX XXXX XXXXXXXX}'
Kategori = '{YYYYYY YYYY YYYY YYYY YYYYYYY}'
ResourcePackage = '{ZZZZZZ ZZZZ ZZZZ ZZZZZZZ}'
AlternateParent = CategoryName
Nama | Jenis | Data | Deskripsi |
---|---|---|---|
(Default) | REG_SZ | Nama Titik Pengaturan Kustom | Nama kunci, <CSPName >, adalah nama yang tidak dilokalkan dari Titik Pengaturan Kustom.Untuk implementasi berdasarkan MPF, nama kunci diperoleh dengan menggabungkan categoryName argumen dan objectName konstruktor ProvideProfileAttribute ke dalam categoryName_objectName .Kunci dapat kosong, atau dapat berisi ID referensi ke string yang dilokalkan dalam DLL satelit. Nilai ini diperoleh dari objectNameResourceID argumen ke ProvideProfileAttribute konstruktor. |
Paket | REG_SZ | GUID | GUID VSPackage yang mengimplementasikan Custom Pengaturan Point. Implementasi berdasarkan MPF menggunakan ProvideProfileAttribute kelas , gunakan argumen konstruktor objectType yang berisi VSPackage Type dan refleksi untuk mendapatkan nilai ini. |
Category | REG_SZ | GUID | GUID yang mengidentifikasi kategori pengaturan. Untuk implementasi berdasarkan rakitan interop, nilai ini dapat menjadi GUID yang dipilih secara sembrono, yang diteruskan IDE Visual Studio ke ExportSettings metode dan .ImportSettings Semua implementasi dari kedua metode ini harus memverifikasi argumen GUID mereka. Untuk implementasi berdasarkan MPF, GUID ini diperoleh oleh Type kelas yang menerapkan mekanisme pengaturan Visual Studio. |
ResourcePackage | REG_SZ | GUID | Opsional. Jalur ke DLL satelit yang berisi string yang dilokalkan jika VSPackage yang menerapkan tidak menyediakannya. MPF menggunakan pantulan untuk mendapatkan sumber daya VSPackage yang benar, sehingga ProvideProfileAttribute kelas tidak mengatur argumen ini. |
AlternateParent | REG_SZ | Nama folder di bawah halaman Opsi Alat yang berisi Titik Pengaturan Kustom ini. | Opsional. Anda harus mengatur nilai ini hanya jika implementasi pengaturan mendukung halaman Opsi Alat yang menggunakan mekanisme persistensi di Visual Studio SDK daripada mekanisme dalam model otomatisasi untuk menyimpan status. Dalam kasus ini, nilai dalam kunci AlternateParent adalah topic bagian dari string yang topic.sub-topic digunakan untuk mengidentifikasi halaman ToolsOptions tertentu. Misalnya, untuk halaman "TextEditor.Basic" ToolsOptions, nilai AlternateParent adalah "TextEditor" .Saat ProvideProfileAttribute menghasilkan Titik Pengaturan Kustom, itu sama dengan nama kategori. |