2015-01-28 1 views
0

"Build.BuildSolution"과 같은 Visual Studio 명령을 사용하면 어떻게 표시 이름을 가져 옵니까?Visual Studio 명령의 찾기 명령 표시 이름

명령이 호출되면 명령 이름과 바로 가기가있는 창이 표시됩니다. 이것은 실제로 ReSharper 플러그인이며, ReSharper 명령은 잘 설명하는 텍스트, 바로 가기 및 모든 것을 표시합니다. 호출 된 VS 명령에 대한 알림을 받고 있는데 바로 가기 키를 얻을 수 있지만 표시 이름을 가져 오는 방법을 알지 못합니다. VS 명령 이름 (예 : "Build.BuildSolution")이 표시됩니다. 이것으로부터 DTE의 Command 객체를 얻을 수 있으며,이 객체는 또한 키보드 단축키 바인딩을 제공합니다. 하지만 표시 이름을 찾을 수 없습니다.

"Build → Build Solution"과 같은 소유 메뉴가있는 빠른 실행 검색 상자에 표시되는 것과 동일한 방식으로 표시하는 것이 이상적입니다. 그러나이 정보는 비공개 COM 인터페이스에서 비롯된 것으로 보이며 액세스 가능한 VS 인터페이스를 통해이 정보를 얻는 방법을 알지 못합니다.

답변

1

자동화 모델의 EnvDTE.Command 인터페이스는 Caption 속성 (감시)을 제공하지 않습니다.

해결 방법 CommandBarButton으로 캐스팅하고 CommandBarButton.Caption 속성을 가져 와서 commandBarControl을 제거 할 수있는 CommandBarControl을 얻을 수 있도록 명령을 명령 모음에 추가 할 수 있습니다. 도구 모음이 아닌 메뉴의 명령 모음을 사용하면 단추가 나타나고 사라지는 것을 사용자가 알 수 없습니다.

+0

아, 좋은 생각. 커맨드 바의 캡션을 메인 메뉴에서 캐쉬하는 것이 좋을까요? 그래서이 모든 시간을 지날 필요가 없을까요? – citizenmatt

+0

예, 캡션을 한 번 캐싱하면 (확장 프로그램이 초기화 된 경우) 작동합니다. –