Sdílet prostřednictvím


Návrh souborů tabulky příkazů XML (.vsct)

Soubor tabulky příkazů XML (.vsct) popisuje rozložení a vzhled položek příkazů pro balíček VSPackage. Mezi příkazové položky patří tlačítka, pole se seznamem, nabídky, panely nástrojů a skupiny položek příkazů. Tento článek popisuje soubory tabulek příkazů XML, jaký vliv mají na položky příkazů a nabídky a jak je vytvořit.

Příkazy, nabídky, skupiny a soubor .vsct

Soubory .vsct jsou uspořádány kolem příkazů, nabídek a skupin příkazů. Značky XML v souboru .vsct představují každou z těchto položek spolu s dalšími přidruženými položkami, jako jsou příkazová tlačítka, umístění příkazů a rastrové obrázky.

Když vytvoříte nový balíček VSPackage spuštěním šablony balíčku sady Visual Studio, šablona vygeneruje soubor .vsct s potřebnými prvky pro příkaz nabídky, okno nástroje nebo vlastní editor v závislosti na vašich výběrech. Tento soubor .vsct je pak možné upravit tak, aby splňoval požadavky konkrétního balíčku VSPackage. Příklady úprav souboru .vsct naleznete v tématu Rozšíření nabídek a příkazů.

Pokud chcete vytvořit nový prázdný soubor .vsct, přečtěte si téma Postupy: Vytvoření souboru .vsct. Po vytvoření přidáte do souboru elementy, atributy a hodnoty XML, které popisují rozložení položky příkazu. Podrobné schéma XML najdete v referenčních informacích ke schématu XML VSCT.

Rozdíly mezi soubory .ctc a .vsct

Význam značek XML v souboru .vsct je stejný jako tyto značky v nyní zastaralém formátu souboru .ctc , jejich implementace je trochu jiná:

  • Nová <externí> značka je místo, kde odkazujete na další soubory .h , které se mají zkompilovat, například tyto soubory pro panel nástrojů sady Visual Studio.

  • Zatímco soubory .vsct podporují příkaz /include jako soubory .ctc , obsahuje také nový <element importu> . Rozdíl je: /include přináší všechny informace, zatímco <import> přináší pouze názvy.

  • Zatímco soubory .ctc vyžadují hlavičkový soubor, ve kterém definujete direktivy preprocesoru, jeden není vyžadován pro soubory .vsct . Místo toho umístěte direktivy do tabulky symbolů umístěné v elementech symbolů> umístěné v dolní části souboru .vsct.<

  • Soubory .vsct obsahují <značku poznámky> , která umožňuje vložit všechny informace, které se vám líbí, například poznámky nebo dokonce obrázky.

  • Hodnoty jsou uloženy jako atributy položky.

  • Příznaky příkazů se dají ukládat jednotlivě nebo skládaně. Technologie IntelliSense ale nefunguje na příznakech skládaných příkazů. Další informace o příznakech příkazů naleznete v CommandFlag elementu.

  • Můžete zadat více typů, jako jsou rozevírací seznamy, komba atd.

  • Identifikátory GUID se neověřují.

  • Každý prvek uživatelského rozhraní má řetězec, který představuje text, který se s ním zobrazuje.

  • Nadřazený objekt je volitelný. Pokud tuto hodnotu vynecháte, použije se hodnota Skupina Neznámá .

  • Argument Ikona je nepovinný.

  • Rastrový obrázek oddíl: Tento oddíl je stejný jako v souboru .ctc s tím rozdílem, že nyní můžete zadat název souboru prostřednictvím Href, který bude stažen kompilátorem vsct.exe v době kompilace.

  • ResID: Původní ID prostředku rastrového obrázku lze použít a stále funguje stejně jako v souborech .ctc .

  • HRef: Nová metoda, která umožňuje zadat název souboru pro rastrový prostředek. Předpokládá se, že se všechny používají, takže můžete vynechat oddíl Použitý. Kompilátor nejprve vyhledá místní prostředky pro soubor, pak na všech čistých sdílených složkách a všechny prostředky definované přepínačem /I .

  • Vazby klíčů: Už nemusíte zadávat emulátor. Pokud ho zadáte, kompilátor předpokládá, že editor a emulátor jsou stejné.

  • Keychord: Keychord byl vyřazen. Nový formát je Key1,Mod1,Key2,Mod2. Můžete zadat znak, šestnáctkovou nebo VK konstantu.

Nový kompilátor vsct.exe kompiluje soubory .ctc i .vsct. Starý kompilátor ctc.exe však nerozpozná ani kompiluje soubory .vsct .

Pomocí kompilátoru vsct.exe můžete převést existující soubor .cto na soubor .vsct . Další informace naleznete v tématu Postupy: Vytvoření souboru .vsct z existujícího souboru .cto.

Elementy souboru .vsct

Tabulka příkazů obsahuje následující hierarchii a prvky:

  • CommandTable – element: Představuje všechny příkazy, skupiny nabídek a nabídky přidružené k balíčku VSPackage.

  • Extern element: Odkazuje na všechny externí soubory .h, které chcete sloučit se souborem .vsct .

  • Zahrnout element: Odkazuje na všechny další hlavičkové soubory (.h), které chcete zkompilovat spolu s vaším souborem .vsct . Soubor .vsct může obsahovat soubory .h obsahující konstanty definující příkazy, skupiny nabídek a nabídky, které poskytuje integrované vývojové prostředí nebo jiný balíček VSPackage.

  • Příkazy element: Představuje všechny jednotlivé příkazy, které lze spustit. Každý příkaz má následující čtyři podřízené prvky:

  • Menus – element: Představuje všechny nabídky a panely nástrojů v balíčku VSPackage. Nabídky jsou kontejnery pro skupiny příkazů.

  • Groups – element: Představuje všechny skupiny v balíčku VSPackage. Skupiny jsou kolekce jednotlivých příkazů.

  • Buttons – element: Představuje všechna příkazová tlačítka a položky nabídky v balíčku VSPackage. Tlačítka jsou vizuální ovládací prvky, které lze přidružit k příkazům.

  • Bitmaps element: Představuje všechny rastrové obrázky pro všechna tlačítka v balíčku VSPackage. Rastrové obrázky jsou obrázky, které se zobrazují vedle nebo na příkazových tlačítkách v závislosti na kontextu.

  • CommandPlacements – element: Označuje další umístění, kde mají být jednotlivé příkazy umístěné v nabídkách VSPackage.

  • Prvek VisibilityConstraints: Určuje, zda se příkaz zobrazuje vždy, nebo pouze v určitých kontextech, například při zobrazení určitého dialogového okna nebo okna. Nabídky a příkazy, které mají hodnotu pro tento prvek, se zobrazí pouze v případě, že je zadaný kontext aktivní. Výchozím chováním je zobrazení příkazu vždy.

  • KeyBindings – element: Určuje všechny vazby klíčů pro příkazy. To znamená, že jedna nebo více kombinací kláves, které musí být stisknuty ke spuštění příkazu, například Ctrl+S.

  • UsedCommands – element: Informuje prostředí sady Visual Studio, že i když je zadaný příkaz implementován jiným kódem, když je aktuální balíček VSPackage aktivní, poskytuje implementaci příkazu.

  • Element Symboly: Obsahuje názvy symbolů a IDENTIFIKÁTORy GUID pro všechny příkazy v balíčku.

Pokyny k návrhu souboru .vsct

Chcete-li úspěšně navrhnout soubor .vsct , postupujte podle těchto pokynů.

  • Příkazy lze umístit pouze do skupin, skupiny lze umístit pouze do nabídek a nabídky lze umístit pouze do skupin. V integrovaném vývojovém prostředí se ve skutečnosti zobrazují pouze nabídky, skupiny a příkazy nejsou.

  • Podnabídky nelze přiřadit přímo k nabídce, ale musí být přiřazeny ke skupině, která je zase přiřazena k nabídce.

  • Příkazy, podnabídky a skupiny lze přiřadit jedné nadřazené skupině nebo nabídce pomocí nadřazeného pole jejich definující direktivy.

  • Uspořádání tabulky příkazů výhradně prostřednictvím nadřazených polí ve direktivách má významné omezení. Direktivy, které definují objekty, mohou mít pouze jeden nadřazený argument.

  • Opakované použití příkazů, skupin nebo podnabídek vyžaduje použití nové direktivy k vytvoření nové instance objektu s vlastní GUID:ID dvojicí.

  • Každý GUID:ID pár musí být jedinečný. Opětovné použití příkazu, který byl například umístěn v nabídce, panelu nástrojů nebo v místní nabídce, je zpracován rozhraním IOleCommandTarget .

  • Příkazy a podnabídky lze také přiřadit k více skupinám a skupiny lze přiřadit k více nabídkám pomocí elementu Commands.

Poznámky k souboru .vsct

Pokud po kompilaci provedete jakékoli změny souboru .vsct a umístíte ho do nativní satelitní knihovny DLL, měli byste spustit devenv.exe /setup /nosetupvstemplates. Tím vynutíte opětovné čtení prostředků VSPackage zadaných v experimentálním registru a interní databázi, která popisuje opětovné sestavení sady Visual Studio.

Během vývoje je možné vytvořit a zaregistrovat několik projektů VSPackage v podregistru experimentálního registru, které můžou vést k matoucím nepotřebným datům v integrovaném vývojovém prostředí( IDE). Pokud chcete tento problém vyřešit, můžete experimentální podregistr obnovit na výchozí nastavení, abyste odebrali všechny registrované balíčky VSPackage a všechny změny, které mohly provést v integrovaném vývojovém prostředí (IDE). K resetování experimentálního hivu použijte nástroj CreateExpInstance.exe, který je součástí sady Visual Studio SDK. Najdete ho na adrese:

%PROGRAMFILES(x86)%\Visual Studio\<version> SDK\VisualStudioIntegration\Tools\Bin\CreateExpInstance.exe

Spusťte nástroj pomocí příkazu CreateExpInstance /Reset. Nezapomeňte, že tento nástroj odebere z experimentálního hivu všechny registrované balíčky VSPackage, které nejsou normálně nainstalovány se sadou Visual Studio.