Ketersediaan perintah

Konteks Visual Studio menentukan perintah mana yang tersedia. Konteks dapat berubah tergantung pada proyek saat ini, editor saat ini, VSPackages yang dimuat, dan aspek lain dari lingkungan pengembangan terintegrasi (IDE).

Konteks perintah

Konteks perintah berikut adalah yang paling umum:

  • IDE: Perintah yang disediakan oleh IDE selalu tersedia.

  • VSPackage: VSPackages dapat menentukan kapan perintah akan ditampilkan atau disembunyikan.

  • Proyek: Perintah proyek hanya muncul untuk proyek yang saat ini dipilih.

  • Editor: Hanya satu editor yang dapat aktif pada satu waktu. Perintah dari editor yang sedang aktif kini tersedia. Editor bekerja sangat dekat dengan layanan bahasa. Layanan bahasa harus memproses perintahnya dalam konteks editor terkait.

  • Jenis file: Editor dapat memuat lebih dari satu jenis file. Perintah yang tersedia dapat berubah tergantung pada jenis file.

  • Jendela aktif: Jendela dokumen aktif terakhir mengatur konteks antarmuka pengguna (UI) untuk pengikatan kunci. Namun, jendela alat yang memiliki tabel pengikatan kunci yang menyerupai browser web internal juga dapat mengatur konteks UI. Untuk jendela dokumen multi-tab seperti editor HTML, setiap tab memiliki GUID konteks perintah yang berbeda. Setelah jendela alat terdaftar, itu selalu tersedia di menu Tampilan.

  • Konteks UI: Konteks UI diidentifikasi oleh nilai VSConstants.UICONTEXT kelas, misalnya, SolutionBuilding_guid ketika solusi sedang dibangun, atau Debugging_guid ketika debugger aktif. Beberapa konteks UI dapat aktif secara bersamaan.

Menetapkan GUID konteks kustom

Jika GUID konteks perintah yang sesuai belum ditentukan, Anda dapat menentukannya di VSPackage Anda lalu memprogramnya menjadi aktif atau tidak aktif sesuai kebutuhan untuk mengontrol visibilitas perintah Anda:

  1. Daftarkan GUID konteks dengan metode GetCmdUIContextCookie.

  2. Dapatkan status konteks GUID dengan memanggil metode IsCmdUIContextActive.

  3. Aktifkan dan nonaktifkan GUID konteks dengan memanggil SetCmdUIContext metode .

Perhatian

Pastikan VSPackage Anda tidak memengaruhi GUID konteks yang ada karena VSPackage lainnya mungkin bergantung padanya.