Objek Konteks Pilihan
Lingkungan pengembangan terintegrasi Visual Studio (IDE) menggunakan objek konteks pemilihan global untuk menentukan apa yang harus ditampilkan dalam IDE. Setiap jendela dalam IDE dapat memiliki objek konteks pilihannya sendiri yang didorong ke konteks pemilihan global. IDE memperbarui konteks pemilihan global dengan nilai dari jendela saat jendela tersebut memiliki fokus. Untuk informasi selengkapnya, lihat Umpan Balik kepada Pengguna.
Setiap bingkai jendela atau situs di IDE memiliki layanan yang disebut STrackSelection. Objek yang dibuat oleh VSPackage Anda yang tersimpan di bingkai jendela harus memanggil QueryService
metode untuk mendapatkan penunjuk ke ITrackSelection antarmuka.
Jendela bingkai dapat menjaga bagian dari informasi konteks pemilihannya tidak disebarluaskan ke konteks pemilihan global saat dimulai. Kemampuan ini berguna untuk jendela alat yang mungkin harus dimulai dengan pilihan kosong.
Memodifikasi konteks pemilihan global memicu peristiwa yang dapat dipantau VSPackages. VSPackages dapat melakukan tugas-tugas berikut dengan menerapkan IVsTrackSelectionEx
dan IVsMonitorSelection antarmuka:
Perbarui file yang saat ini aktif dalam hierarki.
Pantau perubahan pada jenis elemen tertentu. Misalnya, jika VSPackage Anda menggunakan jendela Properti khusus, Anda dapat memantau perubahan di jendela Properti aktif dan memulai ulang properti Anda saat diperlukan.
Urutan berikut menunjukkan pelacakan pilihan yang khas.
IDE mengambil konteks pemilihan dari jendela yang baru dibuka dan menempatkannya dalam konteks pemilihan global. Jika konteks pemilihan menggunakan HIERARCHY_DONTPROPAGATE atau SELCONTAINER_DONTPROPAGATE, informasi tersebut tidak disebarluaskan ke konteks global. Untuk informasi selengkapnya, lihat Umpan Balik kepada Pengguna.
Peristiwa pemberitahuan disiarkan ke VSPackage apa pun yang memintanya.
VSPackage bertindak pada peristiwa yang diterimanya dengan melakukan aktivitas seperti memperbarui hierarki, mengaktifkan kembali alat, atau tugas serupa lainnya.