120 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			XML
		
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			XML
		
	
	
	
| <?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="guidClangFormatPkg">
 | |
|     <!-- 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="guidClangFormatCmdSet" 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="guidClangFormatCmdSet" id="cmdidClangFormat" priority="0x0100" type="Button">
 | |
|         <Parent guid="guidClangFormatCmdSet" id="MyMenuGroup" />
 | |
|         <Icon guid="guidImages" id="bmpPic1" />
 | |
|         <Strings>
 | |
|           <ButtonText>ClangFormat</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="guidClangFormatCmdSet" id="cmdidClangFormat" editor="guidTextEditor" key1="R" mod1="Control" key2="F" mod2="Control"/>
 | |
|   </KeyBindings>
 | |
| 
 | |
| 
 | |
| 
 | |
|   <Symbols>
 | |
|     <!-- This is the package guid. -->
 | |
|     <GuidSymbol name="guidClangFormatPkg" value="{c5286038-25d3-4f65-83a8-51fa2df4a146}" />
 | |
|     
 | |
|     <!-- This is the guid used to group the menu commands together -->
 | |
|     <GuidSymbol name="guidClangFormatCmdSet" value="{e39cbab1-0f96-4022-a2bc-da5a9db7eb78}">
 | |
| 
 | |
|       <IDSymbol name="MyMenuGroup" value="0x1020" />
 | |
|       <IDSymbol name="cmdidClangFormat" value="0x0100" />
 | |
|     </GuidSymbol>
 | |
| 
 | |
|     <GuidSymbol name="guidTextEditor" value="{8B382828-6202-11d1-8870-0000F87579D2}" />
 | |
| 
 | |
| 
 | |
|     <GuidSymbol name="guidImages" value="{6d53937b-9ae1-42e1-8849-d876dcdbad7b}" >
 | |
|       <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>
 |