What is the difference between a GUID and an ID in a .vsct file in programming a Visual Studio extension?

eg. Consider the following code:

<Group guid="guidFirstCommandCmdSet" id="MyMenuGroup" priority="0x0600">
        <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/>
</Group>

<Group guid="guidSecondCommandCmdSet" id="MyMenuGroup" priority="0x0600">
        <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/>
</Group>

This is why we need to determine the GUID and ID? id = "IDM_VS_MENU_TOOLS" refers to the Tools menu in Visual Studio. What is the use of guid = "guidSHLMainMenu"?

Also consider the following code:

  <Button guid="guidSecondCommandCmdSet" id="cmdidSecondCommand" priority="2" type="Button">
    <Parent guid="guidSecondCommandCmdSet" id="MyMenuGroup"/>
    <Icon guid="guidImages" id="bmpPic2"/>
    <Strings>
      <ButtonText>XXX Command</ButtonText>
    </Strings>
  </Button>

I understand that a button has an identifier called "cmdidSecondCommand", but where will the button’s GUID be used? We already define the parent container of the button in the next element.

+4
source share
1 answer

A GUID, {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}. ID - ( ); , .

ID ( ), GUID ... , , , , ..

MyMenuGroup IDM_VS_MENU_TOOLS , guidSecondCommandCmdSet guidSHLMainMenu ...

<Group guid="guidSecondCommandCmdSet" id="MyMenuGroup" priority="0x0600">
    <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/>
</Group>

GUID ID, Execute- QueryStatus , , ; , ..

+4

Source: https://habr.com/ru/post/1627284/


All Articles