Dinamikus menüelemek hozzáadása
Felveheti futásidejű menüelemek DynamicItemStart parancs meghatározását zászló gomb helykitöltő fájlt (.vsct) táblázat Visual Studio parancsok száma (kód) menüpont kijelző és feldolgozási utasításokat. A VSPackage helyőrző helyének betöltése után a dinamikus menü elemei kerülnek.
A Visual Studio dinamikus listákat használ a legutóbb használt listán (MRU), amely megjeleníti a nemrégiben megnyitott dokumentumok nevét és egy Windows lista, amely megjeleníti a jelenleg megnyitott ablakok nevét. DynamicItemStart A zászló parancsmeghatározása azt jelzi, hogy a helyőrző parancs továbbra is nyitva van a VSPackage számára. Amikor megnyitja a VSP csomagot, a helyőrző helyére 0 vagy több parancs lép be, amelyeket futás közben hoznak létre, és hozzáadják a dinamikus listához. Nem jeleníthető meg a menü abban a menüben, ahol a dinamikus lista megjelenik a VSPackage megnyitása közben. Dinamikus lista kitöltéséhez a Visual Studio arra kéri a VSPackage parancsokat, hogy olyan azonosítót keresjenek meg, amelynek első karakterei megegyeznek a töltő azonosítóval. Ha a Visual Studio észleli a megfelelő parancsot, hozzáadja a dinamikus lista parancsnevét. Ezután megnöveli az azonosítót, és egy másik megfelelő parancsot keres egy dinamikus lista hozzáadására, amíg nincs több dinamikus parancs.
Ez a lépésenkénti útmutató bemutatja, hogyan állíthatja be az indítási projektet egy Visual Studio megoldásban a Solution Tools eszköz segítségével. A menüvezérlőt az aktív megoldási projektek dinamikus legördülő listájával használja. Ennek megakadályozása érdekében a megoldás nem nyitott, vagy ha a megoldás csak egy projektet tartalmaz, a VSPackage csak akkor töltődik be, ha a megoldás több projektet tartalmaz.
Hozzon létre egy DynamicMenuItems nevű VSIX projektet.
Amikor megnyit egy projektet, adjon hozzá egy sablont a felhasználói parancselemhez, és nevezze el a DynamicMenu nevet. További információ: Bővítés létrehozása a menüparanccsal.
A menüvezérlő létrehozása az eszköztáron lévő dinamikus menüelemekből a következő elemeket kell megadnia:
A vezérlő menüjét tartalmazó csoport két parancsja, a másik pedig a legördülő menüben található menüelemek
Ugyanolyan típusú MenuController menütétel
Két gomb, amely a menüelemek helyőrzőjévé válik, és egy másik, amely az eszköztár ikonját és eszköztippjeit tartalmazza.
A DynamicMenuPackage.vsct programban a parancsazonosítók definíciója. Lépjen a Szimbólumok részre, és cserélje ki az IDSimbol elemeket a guidDynamicMenuPackageCmdSet GuidSymbolblokkra. Meg kell határoznia az IDSimbol elemeket a két csoporthoz, a menüvezérlőhöz, a helyőrző parancshoz és a bind parancshoz.
Két gomb hozzáadása: a dinamikus menüelemek helyőrzőjeként és a MenuController kötelező érvényűvé tételéhez.
A MyMenuControllerGroup gomb töltőanyagának szülő eleme. Adja hozzá a DynamicItemStart, a DynamicVisibility és a TextChanges parancssori opciókat a helyőrző gombra. A ButtonText nem jelenik meg.
A snap gomb tartalmaz egy ikont és egy ballon szöveget. A MyMenuControllerGroup gomb szülői kötése is. A NoShowOnMenuController parancslista hozzáadódik annak biztosításához, hogy a gombok ne jelenjenek meg a vezérlő legördülő menüjében, és a FixMenuController parancsjelzője állandó kötéseket készít.
Adjon hozzá egy ikont a projekthez (az "erőforrások" mappába), majd adj hozzá egy linket a .vsct fájlba. Ebben a lépésben a projekt sablonban szereplő nyílikonot használjuk.
Adja hozzá a VisibilityConstraints szekciót a parancs szakasz előtt a szekció karakterek előtt. (A karakterek hozzáadásakor figyelmeztetés jelenhet meg.) Ebben a részben a menüvezérlő csak akkor jelenik meg, ha a megoldás több projektet tartalmaz.