2013-03-18 2 views
0

DynamicItemStart 명령 플래그 as described on MSDN을 사용하여 메뉴에 명령을 추가하는 VS2012 확장 성 패키지가 있습니다. 이 명령은 내장 된 외부 도구 기능과 약간 비슷하게 작동하므로 정확한 설정은 나를 정의하지 않고 addin 사용자가 구성합니다. DynamicItemStart 명령이 가장 적합합니다.DynamicItemStart를 사용하는 Visual Studio 2012 확장 성 패키지 명령에 키보드 바로 가기를 할당 할 수 있습니까?

예에 따라 BeforeQueryStatus 콜백을 사용하여 여러 항목을 추가하고 숨기고 가시성을 제어합니다. 이 모든 것이 정상적으로 작동하는 것 같습니다. 메뉴 항목은 예상했던대로 정확하게 나타나며, 마우스로 클릭하면 호출 할 수 있습니다. 내 꾸러미에는 또한 하나의 수정 된 명령이 있으며 그 또한 작동합니다.

내 동적이지 않은 명령은 도구 | 옵션, 키보드 섹션의 명령 목록에도 나타납니다. 키보드 단축키를 만들 수 있습니다. (같은 목록을 사용하는 것처럼 보이는 직접 실행 창에서도 호출 할 수 있습니다.) 그러나 내 동적 명령은 나타나지 않습니다! Tools.ExternalCommand과 같은 자동 생성 목록의 일부로 나타나기를 기대했습니다.

DynamicItemStart 명령은 이런 식으로 호출 할 수 없습니까? 이 문제와 다른 사람이 질문을 발견 한 경우

답변

1

...

DynamicItemStart 명령은 내가 알아낼 수있는만큼 지금까지 이름이 표시되지 않습니다. 의사들은 MRU 또는 창 목록 용이라고 말합니다. 아무도 그 이름을 지을 필요가 없다고 생각할 수도 있습니다.

그래서, 내 목적을 위해, 난 그냥 각각에 대한 DynamicVisibilityTextChanges 명령 플래그를 설정, 100 개 자리 명령 (Command00 ... Command99를) 만들었습니다. (이제 1,237 줄의 VSCT 파일이 있습니다.) 그런 다음 런타임에 BeforeQueryStatus 콜백을 사용하여 사용하지 않는 항목을 숨기고 사용 된 항목을 표시하고 해당 메뉴에 대해 (사용자가 지정한) 캡션을 설정합니다. 그리고 나의 UI는 어떤 명령이 각각의 할당 된 동작에 해당하는지 보여 주며 맵핑을 그대로 유지하므로 각 동작에 대해 키보드 단축키를 지정할 때 사용할 명령 이름 100 개를 알 수 있습니다.

이것은 거의 이상적이지 않으며 Visual Studio에서 약간의 귀찮은 제한 사항입니다. 그러나 적절하게 작동 할 것으로 보입니다.

+1

감사합니다. VS 메뉴는 고통과 불필요하고 문서화되지 않은 복잡성의 세계입니다. DynamicItemStart 문서에서 실제로 쓸모가 없다고 언급 한 경우 좌절감을 덜 수 있었을 것입니다. 예를 들어 MRU 및 프로젝트 목록에도 핫키 지원이 필요합니다! –