<?xml version="1.0" encoding="utf-8"?> | |
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema"> | |
<!-- This is the file that defines the actual layout and type of the commands. | |
It is divided in different sections (e.g. command definition, command | |
placement, ...), with each defining a specific set of properties. | |
See the comment before each section for more details about how to | |
use it. --> | |
<!-- The VSCT compiler (the tool that translates this file into the binary | |
format that VisualStudio will consume) has the ability to run a preprocessor | |
on the vsct file; this preprocessor is (usually) the C++ preprocessor, so | |
it is possible to define includes and macros with the same syntax used | |
in C++ files. Using this ability of the compiler here, we include some files | |
defining some of the constants that we will use inside the file. --> | |
<!--This is the file that defines the IDs for all the commands exposed by VisualStudio. --> | |
<Extern href="stdidcmd.h"/> | |
<!--This header contains the command ids for the menus provided by the shell. --> | |
<Extern href="vsshlids.h"/> | |
<!--The Commands section is where we the commands, menus and menu groups are defined. | |
This section uses a Guid to identify the package that provides the command defined inside it. --> | |
<Commands package="guidClangTidyPkg"> | |
<!-- Inside this section we have different sub-sections: one for the menus, another | |
for the menu groups, one for the buttons (the actual commands), one for the combos | |
and the last one for the bitmaps used. Each element is identified by a command id that | |
is a unique pair of guid and numeric identifier; the guid part of the identifier is usually | |
called "command set" and is used to group different command inside a logically related | |
group; your package should define its own command set in order to avoid collisions | |
with command ids defined by other packages. --> | |
<!-- In this section you can define new menu groups. A menu group is a container for | |
other menus or buttons (commands); from a visual point of view you can see the | |
group as the part of a menu contained between two lines. The parent of a group | |
must be a menu. --> | |
<Groups> | |
<Group guid="guidClangTidyCmdSet" id="MyMenuGroup" priority="0x0600"> | |
<Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/> | |
</Group> | |
</Groups> | |
<!--Buttons section. --> | |
<!--This section defines the elements the user can interact with, like a menu command or a button | |
or combo box in a toolbar. --> | |
<Buttons> | |
<!--To define a menu group you have to specify its ID, the parent menu and its display priority. | |
The command is visible and enabled by default. If you need to change the visibility, status, etc, you can use | |
the CommandFlag node. | |
You can add more than one CommandFlag node e.g.: | |
<CommandFlag>DefaultInvisible</CommandFlag> | |
<CommandFlag>DynamicVisibility</CommandFlag> | |
If you do not want an image next to your command, remove the Icon node /> --> | |
<Button guid="guidClangTidyCmdSet" id="cmdidClangTidy" priority="0x0100" type="Button"> | |
<Parent guid="guidClangTidyCmdSet" id="MyMenuGroup" /> | |
<Icon guid="guidImages" id="bmpPic1" /> | |
<Strings> | |
<ButtonText>ClangTidy</ButtonText> | |
</Strings> | |
</Button> | |
</Buttons> | |
<!--The bitmaps section is used to define the bitmaps that are used for the commands.--> | |
<Bitmaps> | |
<!-- The bitmap id is defined in a way that is a little bit different from the others: | |
the declaration starts with a guid for the bitmap strip, then there is the resource id of the | |
bitmap strip containing the bitmaps and then there are the numeric ids of the elements used | |
inside a button definition. An important aspect of this declaration is that the element id | |
must be the actual index (1-based) of the bitmap inside the bitmap strip. --> | |
<Bitmap guid="guidImages" href="Resources\Images_32bit.bmp" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows"/> | |
</Bitmaps> | |
</Commands> | |
<KeyBindings> | |
<KeyBinding guid="guidClangTidyCmdSet" id="cmdidClangTidy" editor="guidTextEditor" key1="R" mod1="Control" key2="T" mod2="Control"/> | |
</KeyBindings> | |
<Symbols> | |
<!-- This is the package guid. --> | |
<GuidSymbol name="guidClangTidyPkg" value="{AE4956BE-3DB8-430E-BBAB-7E2E9A014E9C}" /> | |
<!-- This is the guid used to group the menu commands together --> | |
<GuidSymbol name="guidClangTidyCmdSet" value="{9E0F0493-6493-46DE-AEE1-ACD8F60F265E}"> | |
<IDSymbol name="MyMenuGroup" value="0x1020" /> | |
<IDSymbol name="cmdidClangTidy" value="0x0100" /> | |
</GuidSymbol> | |
<GuidSymbol name="guidTextEditor" value="{E10FAD35-7FB8-4991-A269-EF88F12166C9}" /> | |
<GuidSymbol name="guidImages" value="{942F126F-942D-428A-84B4-4AC7C523D0B2}" > | |
<IDSymbol name="bmpPic1" value="1" /> | |
<IDSymbol name="bmpPic2" value="2" /> | |
<IDSymbol name="bmpPicSearch" value="3" /> | |
<IDSymbol name="bmpPicX" value="4" /> | |
<IDSymbol name="bmpPicArrows" value="5" /> | |
</GuidSymbol> | |
</Symbols> | |
</CommandTable> |