Add item to add solution menu or node project to solution explorer

How can I add a submenu for the "Add" menu item when I right-click on the visual solution explorer for studio?

I need to add one element of a submenu that will be displayed n by right-clicking on the visual studio solution and moving it to the “Add” item in this menu.

I am trying to use .vsct (vs package). Please help me with valuable suggestions.

+2
source share
1 answer

Of course, there are similar questions, but this seems to be a special case ...

, , . , EnableVSIPLogging , : http://blogs.msdn.com/b/dr._ex/archive/2007/04/17/using-enablevsiplogging-to-identify-menus-and-commands-with-vs-2005-sp1.aspx. EnableVSIPLogging ​​ Visual Studio 2005, .

EnableVSIPLogging , , ( , ), Ctrl + Shift. , /; Ctrl + C , . ( , , Ctrl + Shift, ).

, ...

---------------------------
VSDebug Message
---------------------------
Menu data:
Guid = {D309F791-903F-11D0-9EFC-00A0C911004F}
GuidID = 4
CmdID = 850
Type = 0x00000100
Flags = 0x00000000
NameLoc = A&dd
---------------------------
OK   
---------------------------

VSCT; : vsx, ?

, ... vsshlids.h, Visual Studio SDK. , , , ...

// Guid for Shell group and menu ids
DEFINE_GUID (guidSHLMainMenu,
    0xd309f791, 0x903f, 0x11d0, 0x9e, 0xfc, 0x00, 0xa0, 0xc9, 0x11, 0x00, 0x4f);

guidSHLMainMenu ...

<Group guid="your-command-set" id="your-group-id">
    <Parent guid="guidSHLMainMenu" id="..." />
</Group>

IDM_VS_CTXT_ ( - ) vsshlids.h, , nope... cmdidShellWindowNavigate7 cmdidShellWindowNavigate5 stdidcmd.h; ...

id- ...

<IDSymbol name="grpIdProjectContextAdd" value="0x1080" />
<IDSymbol name="grpIdSolutionContextAdd" value="0x1081" />

...

<IDSymbol name="cmdIdAddItemHelloWorld" value="0x1082" />

; ...

<Groups>
    <Group guid="your-command-set" id="grpIdProjectContextAdd">
        <Parent guid="guidSHLMainMenu" id="cmdidShellWindowNavigate7" />
    </Group>
    <Group guid="your-command-set" id="grpIdSolutionContextAdd">
        <Parent guid="guidSHLMainMenu" id="cmdidShellWindowNavigate5" />
    </Group>
</Groups>

, ( Add ).

<Commands>
    <Button guid="your-command-set" 
            id="cmdIdAddItemHelloWorld" priority="0x1100" type="Button">
        <Parent guid="your-command-set" id="grpIdProjectContextAdd" />
        <Strings>
            <ButtonText>Hello World</ButtonText>
        </Strings>
    </Button>
</Commands>

Add node, ...

<CommandPlacements>
    <CommandPlacement guid="your-command-set" 
                      id="cmdIdAddItemHelloWorld" priority="0x1100">
        <Parent guid="your-command-set" id="grpIdSolutionContextAdd" />
    </CommandPlacement>
 </CommandPlacements>

cmdidShellWindowNavigate7 cmdidShellWindowNavigate5 , ...

enter image description here

+8

All Articles