도구 창에 도구 모음 추가
이 연습에서는 도구 창에 도구 모음을 추가하는 방법을 보여 줍니다.
도구 모음은 명령에 바인딩된 단추를 포함하는 가로 또는 세로 스트립입니다. 도구 모음이 고정된 위치에 따라 도구 창의 도구 모음 길이가 항상 도구 창의 너비 또는 높이와 동일합니다.
IDE의 도구 모음과 달리, 도구 창의 도구 모음은 고정해야 하며 이동하거나 사용자 지정할 수 없습니다. VSPackage가 비관리 코드로 작성된 경우 도구 모음을 모든 가장자리에 도킹할 수 있습니다.
도구 모음을 추가하는 방법에 대한 자세한 내용은 도구 모음 추가를 참조하세요.
도구 창의 도구 모음 만들기
TWTestCommand라는 메뉴 명령과 TestToolWindow라는 도구 창이 모두 있는
TWToolbar
라는 VSIX 프로젝트를 만듭니다. 자세한 내용은 메뉴 명령을 사용하여 확장 만들기 및 도구 창으로 확장 만들기를 참조하세요. 도구 창 템플릿을 추가하기 전에 명령 항목 템플릿을 추가해야 합니다.TWTestCommandPackage.vsct에서 기호 섹션을 찾습니다. guidTWTestCommandPackageCmdSet이라는 GuidSymbol 노드에서 다음과 같이 도구 모음 및 도구 모음 그룹을 선언합니다.
<IDSymbol name="TWToolbar" value="0x1000" /> <IDSymbol name="TWToolbarGroup" value="0x1050" />
Commands
섹션 위에Menus
섹션을 만듭니다. 도구 모음을 정의하는Menu
요소를 추가합니다.<Menus> <Menu guid="guidTWTestCommandPackageCmdSet" id="TWToolbar" type="ToolWindowToolbar"> <CommandFlag>DefaultDocked</CommandFlag> <Strings> <ButtonText>Test Toolbar</ButtonText> <CommandName>Test Toolbar</CommandName> </Strings> </Menu> </Menus>
도구 모음은 하위 메뉴처럼 중첩할 수 없습니다. 따라서 부모를 할당할 필요가 없습니다. 또한 사용자가 도구 모음을 이동할 수 있으므로 우선 순위를 설정할 필요가 없습니다. 일반적으로 도구 모음의 초기 배치는 프로그래밍 방식으로 정의되지만 사용자의 후속 변경 내용은 지속됩니다.
그룹 섹션에서 도구 모음에 대한 명령을 포함할 그룹을 정의합니다.
<Group guid="guidTWTestCommandPackageCmdSet" id="TWToolbarGroup" priority="0x0000"> <Parent guid="guidTWTestCommandPackageCmdSet" id="TWToolbar" /> </Group>
단추 섹션에서 도구 모음이 표시되도록 기존 Button 요소의 부모를 도구 모음 그룹으로 변경합니다.
<Button guid="guidTWTestCommandPackageCmdSet" id="TWTestCommandId" priority="0x0100" type="Button"> <Parent guid="guidTWTestCommandPackageCmdSet" id="TWToolbarGroup" /> <Icon guid="guidImages" id="bmpPic1" /> <Strings> <ButtonText>Invoke TWTestCommand</ButtonText> </Strings> </Button>
기본적으로 도구 모음에 명령이 없으면 표시되지 않습니다.
새 도구 모음이 도구 창에 자동으로 추가되지 않으므로 도구 모음을 명시적으로 추가해야 합니다. 이에 대해서는 다음 섹션에서 설명합니다.
도구 창에 도구 모음 추가
TWTestCommandPackageGuids.cs에서 다음 줄을 추가합니다.
public const string guidTWTestCommandPackageCmdSet = "00000000-0000-0000-0000-0000"; // get the GUID from the .vsct file public const int TWToolbar = 0x1000;
TestToolWindow.cs에서 다음 using 문을 추가합니다.
using System.ComponentModel.Design;
TestToolWindow 생성자에서 다음 줄을 추가합니다.
this.ToolBar = new CommandID(new Guid(TWTestCommandPackageGuids.guidTWTestCommandPackageCmdSet), TWTestCommandPackageGuids.TWToolbar);
도구 창에서 도구 모음 테스트
프로젝트를 빌드하고 디버깅을 시작합니다. Visual Studio 실험적 인스턴스가 나타납니다.
보기/다른 창 메뉴에서 Test ToolWindow를 클릭하여 도구 창을 표시합니다.
도구 창의 왼쪽 위 제목 바로 아래에 도구 모음(기본 아이콘처럼 표시됨)이 표시되어야 합니다.
도구 모음에서 TWTestCommandPackage Inside TWToolbar.TWTestCommand.MenuItemCallback() 메시지를 표시하는 아이콘을 클릭합니다.