Bagikan melalui


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.