다음을 통해 공유


Visual Studio 확장에 메뉴 & 명령 추가

이 문서에서는 Visual Studio 확장에 메뉴 및 명령을 추가하는 단계를 안내합니다. 명령은 Visual Studio 주변의 메뉴에서 단추로 가장 자주 사용됩니다. 명령을 만들려면 다음의 두 단계가 필요합니다.

  1. 명령 정의
  2. 클릭/호출 처리

명령 정의

모든 메뉴의 모든 단추는 명령입니다. 확장에 명령을 추가하려면 먼저 .vsct 파일에 정의해야 합니다. 다음과 같이 표시되어야 합니다.

<Buttons>
  <Button guid="MyPackage" id="MyCommand" priority="0x0105" type="Button">
    <Parent guid="VSMainMenu" id="View.DevWindowsGroup.OtherWindows.Group1"/>
    <Icon guid="ImageCatalogGuid" id="StatusInformation" />
    <CommandFlag>IconIsMoniker</CommandFlag>
    <Strings>
      <ButtonText>R&amp;unner Window</ButtonText>
    </Strings>
  </Button>
</Buttons>

이 단추는 Parent 요소에 지정된 대로 보기 > 다른 창 메뉴에 있는 부모 그룹에 배치됩니다.

이제 확장을 실행하여 명령이 올바른 위치 및 메뉴에 표시되는지 확인할 수 있습니다.

클릭/호출 처리

단추가 정의되면 호출될 때 발생하는 작업을 처리해야 합니다. 다음과 같은 C# 클래스에서 이 작업을 수행합니다.

[Command("489ba882-f600-4c8b-89db-eb366a4ee3b3", 0x0100)]
public class MyCommand : BaseCommand<TestCommand>
{
    protected override Task ExecuteAsync(OleMenuCmdEventArgs e)
    {
        // Do something
    }
}

Package 클래스의 InitializeAsync 메서드에서 호출해야 합니다.

protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress<ServiceProgressData> progress)
{
    await this.RegisterCommandsAsync();
 }    

명령 GUID 및 ID는 .vsct 파일의 Button 요소에 있는 guid/id 쌍과 일치해야 합니다.