도구 모음 추가
이 연습에서는 Visual Studio IDE에 도구 모음을 추가하는 방법을 보여 줍니다.
도구 모음은 명령에 바인딩된 단추를 포함하는 가로 또는 세로 스트립입니다. 구현에 따라 IDE의 도구 모음의 위치를 변경하거나 기본 IDE 창의 어느 쪽에나 고정하거나 다른 창 앞에 유지되도록 만들 수 있습니다.
또한 사용자는 사용자 지정 대화 상자를 사용하여 도구 모음에 명령을 추가하거나 제거할 수 있습니다. 일반적으로 VSPackage의 도구 모음은 사용자 지정할 수 있습니다. IDE는 모든 사용자 지정을 처리하고 VSPackage는 명령에 응답합니다. VSPackage는 명령이 물리적으로 있는 위치를 알 필요가 없습니다.
메뉴에 대한 자세한 내용은 명령, 메뉴 및 도구 모음을 참조하세요.
도구 모음을 사용하여 확장 만들기
IDEToolbar
라는 VSIX 프로젝트를 만듭니다. ToolbarTestCommand라는 메뉴 명령 항목 템플릿을 추가합니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 메뉴 명령을 사용하여 확장 만들기를 참조하세요.
IDE에 대한 도구 모음 만들기
ToolbarTestCommandPackage.vsct에서 기호 섹션을 찾습니다. guidToolbarTestCommandPackageCmdSet이라는 GuidSymbol 요소에서 다음과 같이 도구 모음 및 도구 모음 그룹에 대한 선언을 추가합니다.
<IDSymbol name="Toolbar" value="0x1000" /> <IDSymbol name="ToolbarGroup" value="0x1050" />
명령 섹션의 맨 위에 메뉴 섹션을 만듭니다. 메뉴 섹션에 메뉴 요소를 추가하여 도구 모음을 정의합니다.
<Menus> <Menu guid="guidToolbarTestCommandPackageCmdSet" id="Toolbar" type="Toolbar"> <CommandFlag>DefaultDocked</CommandFlag> <Strings> <ButtonText>Test Toolbar</ButtonText> <CommandName>Test Toolbar</CommandName> </Strings> </Menu> </Menus>
도구 모음은 하위 메뉴처럼 중첩될 수 없습니다. 따라서 부모 그룹을 할당할 필요가 없습니다. 또한 사용자가 도구 모음을 이동할 수 있으므로 우선 순위를 설정할 필요가 없습니다. 일반적으로 도구 모음의 초기 배치는 프로그래밍 방식으로 정의되지만 사용자의 후속 변경 내용은 지속됩니다.
그룹 섹션에서 기존 그룹 항목 후에 도구 모음에 대한 명령을 포함할 그룹 요소를 정의합니다.
<Group guid="guidToolbarTestCommandPackageCmdSet" id="ToolbarGroup" priority="0x0000"> <Parent guid="guidToolbarTestCommandPackageCmdSet" id="Toolbar" /> </Group>
도구 모음에 단추를 표시합니다. 단추 섹션에서 단추의 부모 블록을 도구 모음으로 바꿉니다. 결과 단추 블록은 다음과 같습니다.
<Button guid="guidToolbarTestCommandPackageCmdSet" id="ToolbarTestCommandId" priority="0x0100" type="Button"> <Parent guid= "guidToolbarTestCommandPackageCmdSet" id="ToolbarGroup" /> <Icon guid="guidImages" id="bmpPic1" /> <Strings> <ButtonText>Invoke ToolbarTestCommand</ButtonText> </Strings> </Button>
기본적으로 도구 모음에 명령이 없으면 표시되지 않습니다.
프로젝트를 빌드하고 디버깅을 시작합니다. 실험적 인스턴스가 나타납니다.
Visual Studio 메뉴 모음을 마우스 오른쪽 단추로 클릭하여 도구 모음 목록을 가져옵니다. 테스트 도구 모음을 선택합니다.
이제 파일에서 찾기 아이콘 오른쪽에 도구 모음이 아이콘으로 표시됩니다. 아이콘을 클릭하면 ToolbarTestCommandPackage. Inside IDEToolbar.ToolbarTestCommand.MenuItemCallback()라는 메시지 상자가 표시됩니다.