2010-04-15 25 views
5

Tôi đã tạo tệp vsct xml sau.Sử dụng vsx làm thế nào để bạn tạo một menu phụ với các lệnh?

<?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"> 
    <Extern href="stdidcmd.h"/> 
    <Extern href="vsshlids.h"/> 
    <Extern href="msobtnid.h"/> 
    <Commands package="guidMyVSXCommandsPkg"> 
     <Menus> 
      <Menu guid="guidMyVSXCommandsCmdSet" id="TopLevelMenu" priority="0x100" type="Menu"> 
       <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/> 
       <Strings> 
        <MenuText>Work???</MenuText> 
        <ButtonText>FigureMain</ButtonText> 
        <CommandName>TryMainMenu</CommandName> 
       </Strings> 
      </Menu> 
     </Menus> 
     <Groups> 
      <Group guid="guidMyVSXCommandsCmdSet" id="TopLevelMenuGroup" priority="0x0600"> 
       <Parent guid="guidMyVSXCommandsCmdSet" id="TopLevelMenu"/> 
      </Group> 
     </Groups> 
     <Buttons> 
      <Button guid="guidMyVSXCommandsCmdSet" id="cmdidMyCommand" priority="0x0100" type="Button"> 
       <Parent guid="guidMyVSXCommandsCmdSet" id="TopLevelMenuGroup" /> 
       <Icon guid="guidImages" id="bmpPic1" /> 
       <Strings> 
        <CommandName>cmdidMyCommand</CommandName> 
        <ButtonText>DO SOMETHING REAL COOL!!!!!!!!</ButtonText> 
       </Strings> 
      </Button> 
     </Buttons> 
     <Bitmaps> 
      <Bitmap guid="guidImages" href="Resources\Images_32bit.bmp" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows"/> 
     </Bitmaps> 
    </Commands> 
    <Symbols> 
     <!-- This is the package guid. --> 
     <GuidSymbol name="guidMyVSXCommandsPkg" value="{70e6574c-ebed-4856-b78b-0927966cc800}" /> 

     <!-- This is the guid used to group the menu commands together --> 
     <GuidSymbol name="guidMyVSXCommandsCmdSet" value="{301c910a-65eb-42c4-bf0f-bc5aaac737f1}"> 
      <IDSymbol name="TopLevelMenu" value="0x0100" /> 
      <IDSymbol name="TopLevelMenuGroup" value="0x0200" /> 
      <IDSymbol name="cmdidMyCommand" value="0x0300" /> 
     </GuidSymbol> 
     <GuidSymbol name="guidImages" value="{1997bf57-349c-434a-ad64-32a3a65e35f3}" > 
      <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> 

gì kết quả cuối cùng là tôi muốn nhìn thấy khi tôi trình đơn ngữ cảnh để có một tùy chọn của

làm việc ??? -> DO SOMETHING REAL COOL !!!!!!!!

Trả lời

13

Menu của bạn phải có cha mẹ được đặt thành nhóm thay vì menu ngữ cảnh cấp cao nhất. Ví dụ, hãy thử thay đổi dòng này:

<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/> 

đến dòng này:

<Parent guid="guidSHLMainMenu" id="IDG_VS_CTXT_PROJECT_START"/> 

Bây giờ bạn sẽ thấy "TryMainMenu" hiển thị bên cạnh "Debug" trên menu ngữ cảnh nút dự án. Nếu bạn muốn trình đơn của mình tồn tại trong nhóm riêng của nó trên menu ngữ cảnh cấp cao nhất, bạn nên định nghĩa một nhóm mới với IDM_VS_CTXT_PROJNODE mẹ và đặt cha mẹ của trình đơn của bạn thành đó.

Ngoài ra, bạn có thể khám phá những gì mà các nhóm khác hiện có là (ngoài IDG_VS_CTXT_PROJECT_START) bằng cách nhìn vào SharedCmdPlace.vsct và tìm kiếm các yếu tố Nhóm với phụ huynh sau:

<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/> 
+0

tôi muốn cung cấp cho bạn 1 một mũi để tìm kiếm trong SharedCmdPlace.vsct là cực kỳ hữu ích trong việc xác định cách cấu trúc các nút của tôi. –

Các vấn đề liên quan