Visual Studio 솔루션 탐색기를 마우스 오른쪽 단추로 클릭 할 때 추가 메뉴 항목에 하위 메뉴를 추가하려면 어떻게합니까?솔루션 탐색기의 솔루션 또는 프로젝트 노드 메뉴 추가 항목
표시 할 단일 하위 메뉴 항목을 추가해야합니다. n Visual Studio 솔루션을 마우스 오른쪽 단추로 클릭하고 해당 메뉴에서 추가 옵션으로 이동하십시오.
.vsct (vs package)를 사용하려고합니다. ... 가치 제안
물론Visual Studio 솔루션 탐색기를 마우스 오른쪽 단추로 클릭 할 때 추가 메뉴 항목에 하위 메뉴를 추가하려면 어떻게합니까?솔루션 탐색기의 솔루션 또는 프로젝트 노드 메뉴 추가 항목
표시 할 단일 하위 메뉴 항목을 추가해야합니다. n Visual Studio 솔루션을 마우스 오른쪽 단추로 클릭하고 해당 메뉴에서 추가 옵션으로 이동하십시오.
.vsct (vs package)를 사용하려고합니다. ... 가치 제안
물론, 거기에 비슷한 질문이지만,이 특별한 경우 것으로 보인다와 일반적으로
를 도와주세요, 당신은 - 명령 menu's 및 패키지 ID를 알 필요가 당신은 연장하기를 원합니다. 일반적으로이 문서에서 설명한대로 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 키 + 시프트를 누른 상태에서
, 당신은 메뉴 항목 (또는 명령으로 상호 연결되어 다른 UI 요소)를 클릭하여 원하는 정보를 표시 할 수 있습니다. 패키지 guid 및 명령/메뉴 ID를 포함하는 메시지 상자가 표시됩니다. Ctrl + C은 표시된 메뉴 또는 명령 데이터를 클립 보드에 복사합니다 (btw). 메뉴 데이터에 관심이있는 경우 (컨텍스트 메뉴 인 경우 Ctrl + Shift) 항목을 가리 키기 전에 해당 항목을 선택하십시오. 메뉴의 정보가보다 당신의 VSCT
파일을 제작에 사용할 수 있습니다
---------------------------
VSDebug Message
---------------------------
Menu data:
Guid = {D309F791-903F-11D0-9EFC-00A0C911004F}
GuidID = 4
CmdID = 850
Type = 0x00000100
Flags = 0x00000000
NameLoc = A&dd
---------------------------
OK
---------------------------
이 내 컴퓨터에있어 무엇
...; 이 질문은 당신의 관심사 일 수 있습니다 : Using vsx how do you create a sub menu with commands?
다른 질문의 대답을 읽는 동안,이 사람들이 명령 guids의 이름을 어떻게 생각했는지 궁금 할 수도 있습니다. 그 이름은 vsshlids.h
헤더 파일로 정의됩니다. Visual Studio SDK에 포함되어 있습니다. 우리가 찾을 위에 그래서, GUID에 대한
// Guid for Shell's 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_
상수 (또는 뭔가 비슷한)에서 찾을 것으로 예상 ... 표시 명령 ID와 일치하는
vsshlids.h
이지만 그 대신 ...
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>
이 나를 위해
<CommandPlacements>
<CommandPlacement guid="your-command-set"
id="cmdIdAddItemHelloWorld" priority="0x1100">
<Parent guid="your-command-set" id="grpIdSolutionContextAdd" />
</CommandPlacement>
</CommandPlacements>
... 버튼이 또한 솔루션 노드의 Add
메뉴에서 내가 명령 배치를 사용하여 표시하려면, 그것은 사용하기 조금 해키 느끼는 cmdidShellWindowNavigate7
및 cmdidShellWindowNavigate5
상수,하지만 결과에 내가있어이 ...
당신이 링크를 제공하시기 바랍니다 수 있습니다 예제 코드로 파일을 만드시겠습니까? – Epsil0neR
@Matze,이게 정말 도움이되었습니다. "cmdidShellWindowNavigate7"이 실제로 "프로젝트"추가 메뉴라는 것을 어떻게 알았는지 아직 모르겠으므로 vsct에 대한 설명서를 찾고 싶습니다. – Easly