다음을 통해 공유


Vspackages에 IDE 사용자 인터페이스 요소를 추가 하는 방법

있는 VSPackage 사용자 인터페이스 (UI) 요소를 추가할 수 있습니다, 그리고 예를 들어, 메뉴, 도구 모음 및 도구 windows Visual Studio 개발 환경 (IDE)을 통합 합니다.

아키텍처 원칙

명명 된 집합의 규칙과 있는 VSPackage UI를 사용자 지정할 수 있도록 하는 구조는 명령을 테이블 아키텍처. 명령이 테이블 아키텍처 다음과 같은 디자인 원칙을 기반으로 합니다.

  • UI 복잡 하거나 혼란을 줄 수 없습니다.

  • UI는 동적, 정적 이어야 합니다.

  • UI를 사용자 지정할 수 있어야 합니다.

  • UI 유용 합니다.

UI 복잡 하거나 혼란을 줄 수 없습니다.

  • 여러 VSPackages Vspackage를 호스팅하는 Visual Studio 세션에서 설치할 수 있습니다. Vspackage를 명령이 추가 되 면 이전에 설치한 Vspackages를 끊어야 하지만 또한 다른 Vspackages에 해당 기능을 사용할 수 있도록 하 고는 반환 기능을 사용 하도록 설정 해야 합니다.

  • 주 메뉴 모음, 하위 메뉴 또는 바로 가기 메뉴를 사용 하 여 액세스할 수 있는지 여부 모든 메뉴에서 메뉴 항목을 다른 Vspackages가 멤버를 포함할 수 있습니다. 따라서 UI overcrowd 하지 않도록 주의 합니다. 동시에 너무 많은 명령이 표시 되 면 UI 사용자 혼동 될 수 있습니다.

UI 수 동적, 정적

  • 명령은 표시 하거나 내부 데이터와 현재 사용자가 작업의 상태에 따라 언제 든 지 숨길 수 있습니다.

  • UI 항목의 레이블 및 해당 콤보 상자 또는 메뉴의 내용을 변경할 수 있는 VSPackage 활성화 되어야 합니다.

  • UI 항목 추가 또는 있는 Vspackage를 사용 하는 경우 제거 해야 합니다.

  • UI 항목 값을 채우거 나 자신의 현재 상태를 검색할 수 있는 VSPackage 추가로 호출 해야 합니다. 이러한 항목의 가장 최근에 사용한 (MRU) 파일 콤보 상자, 색 또는 질감에 대 한 선택기 목록이 포함 됩니다.

  • 이 다른 Vspackages의 메뉴에 명령을 추가 하는 사용자 환경을 향상 시킬 수 있습니다. 예를 들어, 사용자 제공 명령을 유사한 복사, 명령 마다 Vspackage를 넣을 수 있습니다 어디 복사 나타납니다.

UI를 사용자 지정할 수 있어야 합니다.

  • 언제 든 지, 사용자 UI 요소를 VSPackage에서 예를 들어, 도구 창에 단추를 추가 하거나 메뉴 다시 정렬 수 있습니다. 그러나 경우에 따라 사용자 지정을 사용 하지 않을.

  • 일부 명령은 사용자 지정을 사용 하 여 사용할 수 있습니다. 사용자가를 사용 하 여 추가 될 때까지, 즉 명령을 메뉴 또는 도구 모음에서 사용할 수 없습니다의 사용자 지정 대화 상자.

  • 언제 든 지 Visual Studio 및 기타 VSPackages 명령의 바로 가기 키와 함께 해당 명령에 대 한 바로 가기 키를 사용자 지정할 수 있습니다.

  • 명령을 사용 하 여 실행할 수 있는 명령 을 창. 따라서 IDE는 명령에는 특정 명령 레이블에 해당 알 수 있습니다. 이라는 프로세스를 사용 하 여이 IDE 수행 인가, 명령 이름 한 단어에 압축 하려면 공백이 제거 됩니다 위치. 인가의 예를 들어, ' & 파일 열기 ' 'FileOpen'입니다.

UI 유용

  • 대부분의 UI 항목이 도구 설명을 해야 합니다.

  • 해당 함수 중 하나가 호출 될 때 성능 향상을 위해 하면 VSPackage 로드 해야 합니다. 이 "로드 지연 같이." 라고

  • IDE가 있는 VSPackage 요청에 대 한 추가 지역화 될 수 있어야 합니다.

  • Visual Studio 포함 된 비트맵을 사용할 수 있습니다 하거나 직접 제공할 수 있습니다.

Visual Studio 명령은 테이블 아키텍처

언급 했 듯이, 앞서 언급 한 아키텍처 원칙 명령을 테이블 아키텍처를 지원 합니다. 개념의 추상화, 데이터 구조 및 도구 명령을 테이블 구조는 다음과 같습니다.

  • 항목의 세 가지 기본 종류: 메뉴, 명령 및 그룹입니다. 메뉴 메뉴, 하위 메뉴, 도구 모음 또는 도구 창의 UI에서 노출할 수 있습니다. 명령은 사용자가 IDE에서 실행 될 수 있습니다 및 메뉴 항목, 단추, 목록 상자 또는 기타 컨트롤 노출 될 수 있는 프로시저입니다. 그룹은 모두 메뉴와 명령에 대 한 컨테이너입니다.

  • 각 항목 항목, 기타 항목 및 해당 동작을 수정 하는 플래그를 기준으로 우선 순위에 설명 하는 정의 의해 지정 됩니다.

  • 각 항목은 부모 항목에 대해 설명 하는 배치가 있습니다. UI에서 여러 위치에 나타날 수 있도록 항목 부모가 여러 개 있을 수 있습니다.

    유일한 자식 그룹의 경우에 모든 명령 그룹 상위에 있어야 합니다. 모든 표준 메뉴 부모 그룹도 있어야 합니다. 도구 모음 및 도구 창으로 부모 역할을 합니다. 상위 주 Visual Studio 메뉴 모음 또는 모든 메뉴, 도구 모음 또는 도구 창으로 가질 수 있습니다.

항목을 정의 하는 방법

.Vsct 파일은 XML로 서식이 지정 됩니다. .Vsct 파일 패키지에 대 한 UI 요소를 정의 하 고 이러한 요소의 IDE에 표시 되는 위치를 결정 합니다. 모든 메뉴, 그룹 또는 패키지에서 명령을 먼저 GUID 및 ID에 할당 되는 Symbols 섹션입니다. 해당.vsct 나머지 파일, 각 메뉴, 명령 및 그룹의 GUID와 ID 조합으로 식별 됩니다. 다음 예제에 나와 있는 일반적인 Symbols Visual Studio 패키지 템플릿에 의해 생성 되는 구역을 때는 메뉴 명령 을 에서 서식 파일을 선택 합니다.

<Symbols>
  <!-- This is the package guid. -->
  <GuidSymbol name="guidMenuTextPkg" value="{b1253bc6-d266-402b-89e7-5e3d3b22c746}" />

  <!-- This is the guid used to group the menu commands together -->
  <GuidSymbol name="guidMenuTextCmdSet" value="{a633d4e4-6c65-4436-a138-1abeba7c9a69}">

    <IDSymbol name="MyMenuGroup" value="0x1020" />
    <IDSymbol name="cmdidMyCommand" value="0x0100" />
  </GuidSymbol>

  <GuidSymbol name="guidImages" value="{53323d9a-972d-4671-bb5b-9e418480922f}" >
    <IDSymbol name="bmpPic1" value="1" />
    <IDSymbol name="bmpPic2" value="2" />
    <IDSymbol name="bmpPicSearch" value="3" />
    <IDSymbol name="bmpPicX" value="4" />
    <IDSymbol name="bmpPicArrows" value="5" />
  </GuidSymbol>
</Symbols>

최상위 요소는 Symbols 섹션의 GuidSymbol 요소. GuidSymbol요소 이름을 IDE에서 패키지와 해당 구성 요소를 식별 하는 Guid에 매핑합니다.

참고

Guid가 Visual Studio 패키지 서식 파일에서 자동으로 생성 됩니다.클릭 하 여 고유한 GUID를 만들 수 있습니다 GUID 만들기 에 있는 도구 메뉴.

첫 번째 GuidSymbol 요소를 "guid [패키지 이름] Pkg"에 패키지의 GUID입니다. 이가 Visual Studio 패키지를 로드 하는 데 사용 되는 GUID입니다. 일반적으로 자식 요소가 없습니다.

규칙에 따라 메뉴와 명령에서 두 번째 그룹화 됩니다 GuidSymbol 요소를 "guid [패키지 이름] CmdSet", 아래의 세 번째 비트맵입니다 및 GuidSymbol 요소, "guidImages"입니다. 이 규칙을 따가 필요는 없지만 각 메뉴, 그룹, 명령 및 비트맵의 자식 이어야 합니다는 GuidSymbol 요소입니다.

두 번째의 GuidSymbol 패키지 명령 집합을 나타내는 요소는 몇 가지 IDSymbol 요소입니다. 각 IDSymbol 요소 를 숫자 값으로 이름을 매핑합니다 및 그룹 메뉴나 명령 집합의 명령 메뉴를 나타낼 수 있습니다. IDSymbol 세 번째에서 요소 GuidSymbol 명령에 대 한 아이콘으로 사용할 수 있는 요소가 나타내는 비트맵입니다. GUID/i D 쌍 두 자식이 동일한 응용 프로그램에서 고유 해야 하므로 GuidSymbol 요소에 같은 값을 가질 수 있습니다.

메뉴, 그룹 및 명령

메뉴, 그룹, 또는 명령 GUID 및 ID 있으면 IDE에 추가할 수 있습니다. 모든 UI 요소는 다음과 같은 작업 해야 합니다.

  • A guid 특성의 이름과 일치 하는 GuidSymbol UI 요소에 정의 된 요소입니다.

  • id 연결 된 이름과 일치 하는 특성 IDSymbol 요소입니다.

    함께 guid 및 id 특성을 구성의 서명 UI 요소입니다.

  • A priority 상위 메뉴 또는 그룹에서 UI 요소의 위치를 결정 하는 특성입니다.

  • A Parent 요소 는 guid 및 id 상위 메뉴 또는 그룹의 서명을 지정 하는 특성입니다.

메뉴

각 메뉴 정의 됩니다 있는 Menu 요소Menus 섹션입니다. 메뉴에 있어야 guid, id, 및 priority 특성은 Parent 요소 및 또한 다음과 같은 추가 특성 및 자식:

  • A type ide 도구 모음 또는 메뉴의 일종으로 메뉴의 표시 여부를 지정 하는 특성입니다.

  • A Strings 요소 포함 된는 ButtonText 요소, IDE에서 메뉴의 제목을 지정 하는 CommandName 요소, 사용 되는 이름을 지정은 명령 을 창 메뉴에 액세스 하려면.

  • 선택적 플래그입니다. A 명령 플래그 요소 의 모양이 나 동작을 ide에서를 변경 하는 메뉴 정의에 나타나지 않을 수 있습니다.

모든 Menu 요소에 있어야 그룹 상위에는 도구 모음과 같은 도킹 가능한 요소가 아닌 경우. 도킹 가능한 메뉴는 자신의 부모입니다. 메뉴 및 값에 대 한 자세한 내용은 type 특성, 참조는 Menu 요소 설명서입니다.

다음 예제에서는 Visual Studio 메뉴 표시줄에서 옆에 표시 되는 메뉴의 도구 메뉴입니다.

<Menu guid="guidTopLevelMenuCmdSet"
id="TopLevelMenu" priority="0x700" type="Menu">
  <Parent guid="guidSHLMainMenu"
          id="IDG_VS_MM_TOOLSADDINS" />
  <Strings>
    <ButtonText>TestMenu</ButtonText>
    <CommandName>TestMenu</CommandName>
  </Strings>
</Menu>

그룹

그룹에 정의 되어 있는 항목 수를 Groups .vsct 파일의. 그룹은 단지 컨테이너입니다. 이러한 ide를 제외 하 고 메뉴에서 구분선 표시 되지 않습니다. 따라서 한 Group 요소 의 서명, 우선 순위 및 상위로만 정의 됩니다.

메뉴, 다른 그룹 또는 자체 부모로 가질 수 있습니다. 그러나 부모는 일반적으로 메뉴 또는 도구 모음입니다. 앞의 예제에서 메뉴의 자식입니다의 IDG_VS_MM_TOOLSADDINS 그룹 및 해당 그룹의 Visual Studio 메뉴 표시줄의 하위입니다. 그룹의 다음 예제에서는 앞의 예제에서 메뉴의 자식입니다.

 <Group guid="guidTopLevelMenuCmdSet" id="MyMenuGroup"
priority="0x0600">
   <Parent guid="guidTopLevelMenuCmdSet" id="TopLevelMenu"/>
 </Group>

메뉴에 속해 있기 때문에이 그룹은 일반적으로 명령이 포함 됩니다. 그러나이 또한 다른 메뉴를 포함할 수 있습니다. 이 하위 메뉴 정의 하는 방법 다음 예제에 표시 된 대로입니다.

<Menu guid="guidTopLevelMenuCmdSet" id="SubMenu"
priority="0x0100" type="Menu">
  <Parent guid="guidTopLevelMenuCmdSet" id="MyMenuGroup"/>
  <Strings>
    <ButtonText>Sub Menu</ButtonText>
    <CommandName>Sub Menu</CommandName>
  </Strings>
</Menu>

명령

IDE로 제공 되는 명령으로 정의 되는 Button 요소 나는 Combo 요소. 메뉴나 도구 모음을 표시 하려면 명령 상위 그룹이 있어야 합니다.

단추

단추에 정의 되어 있는 Buttons 섹션. 메뉴 항목, 단추 또는 클릭할 단일 명령을 실행 하려면 다른 요소는 단추가 간주 됩니다. 일부 단추 형식 목록 기능을 포함할 수도 있습니다. 단추 같은 필요한 및 메뉴가 있는 경우 선택적 특성이 있으며 해야 할 수도 있습니다에 Icon 요소 GUID 및 단추에는 IDE에서에서 나타내는 비트맵의 ID를 지정 합니다. 단추 및 해당 속성에 대 한 자세한 내용은 참조 하십시오 있는 Buttons 요소 설명서입니다.

단추 다음 예제에서는 앞의 예제에 있는 그룹의 자식인 및 IDE에서 그룹 부모 메뉴의 메뉴 항목으로 나타납니다.

<Button guid="guidTopLevelMenuCmdSet" id="cmdidTestCommand" priority="0x0100" type="Button">
  <Parent guid="guidTopLevelMenuCmdSet" id="MyMenuGroup" />
  <Icon guid="guidImages" id="bmpPic1" />
  <Strings>
    <CommandName>cmdidTestCommand</CommandName>
    <ButtonText>Test Command</ButtonText>
  </Strings>
</Button>

바로 가기 단축키

바로 가기 단축키에 정의 되어 있는 Combos 섹션입니다. 각 Combo 요소는 드롭다운 목록 상자에는 IDE 나타냅니다. 목록 상자 되었거나의 값에 따라 사용자가 쓸 수 있는 type 콤보 특성. 바로 가기 단축키에 같은 요소가 있고 단추 동작, 및 또한 다음과 같은 추가 속성을 가질 수 있습니다.

  • A defaultWidth 픽셀 너비를 지정 하는 특성입니다.

  • idCommandList 의 목록 상자에 표시 되는 항목을 포함 하는 목록을 지정 하는 특성입니다. 명령 목록에서 같은 이름으로 선언 되어야 합니다. GuidSymbol 콤보 노드.

다음은 콤보 요소를 정의합니다.

<Combos>
  <Combo guid="guidFirstToolWinCmdSet"
         id="cmdidWindowsMediaFilename"
         priority="0x0100" type="DynamicCombo"
         idCommandList="cmdidWindowsMediaFilenameGetList"
         defaultWidth="130">
    <Parent guid="guidFirstToolWinCmdSet"
            id="ToolbarGroupID" />
    <CommandFlag>IconAndText</CommandFlag>
    <CommandFlag>CommandWellOnly</CommandFlag>
    <CommandFlag>StretchHorizontally</CommandFlag>
    <Strings>
      <CommandName>Filename</CommandName>
      <ButtonText>Enter a Filename</ButtonText>
    </Strings>
  </Combo>
</Combos>

비트맵

아이콘과 함께 표시 되는 명령에는 Icon 해당 GUID 및 ID를 사용 하 여 비트맵을 참조 하는 요소 각 비트맵으로 정의 되는 Bitmap 요소Bitmaps 섹션. 유일한 필수 특성에 대 한 있는 Bitmap 정의 된 guid 및 href, 소스 파일을 가리키는. 리소스 스트립, 소스 파일인 경우에 usedList 특성이 필요 또한, 스트립에서 사용할 수 있는 이미지를 나열 합니다. 자세한 내용은 Bitmap 요소 설명서를 참조하십시오.

부모 지정

다음 규칙 항목 다른 항목 상위 호출할 수 있습니다 방법을 제어 합니다.

요소

이 명령은 표이 절에 정의 된

포함 될 수 있습니다 (부모, 또는 위치에 의해 해당 CommandPlacements 섹션, 또는 둘 다)

포함 될 수 있습니다 (한 부모 라고도 함)

Group

Groups 요소IDE, 기타 VSPackages

메뉴에서 그룹에 있는 항목

메뉴, 그룹 및 명령

메뉴

Menus 요소IDE, 기타 VSPackages

1 n 그룹

0으로 n 그룹

도구 모음

Menus 요소IDE, 기타 VSPackages

해당 항목

0으로 n 그룹

Menu Item

Buttons 요소IDE, 기타 VSPackages

1 n 그룹, 항목 자체가

-0 n 그룹

Button

Buttons 요소IDE, 기타 VSPackages

1 n 그룹, 항목 자체가

콤보

Combos 요소IDE, 기타 VSPackages

1 n 그룹, 항목 자체가

메뉴, 명령 및 그룹 배치

메뉴, 그룹 또는 명령을 IDE에서 둘 이상의 위치에 나타날 수 있습니다. 항목을 여러 위치에 표시 되도록 추가 해야 있는 CommandPlacements 섹션으로 CommandPlacement 요소. 모든 메뉴, 그룹 또는 명령에 따라 명령 배치를 추가할 수 있습니다. 그러나 이러한 상황에 맞는 여러 위치에 나타날 수 없습니다 때문에이 방식으로 도구 모음 배치가 불가능.

명령 배치 된 guid, id, 및 priority 특성입니다. GUID와 ID 위치 하 고 있는 항목을 일치 해야 합니다. priority 특성을 다른 항목과 관련 하 여 해당 항목의 배치를 제어 합니다. 우선 순위가 동일한 둘 이상의 항목이 IDE를 병합할 때 IDE 패키지 리소스 패키지를 빌드할 때마다 순서 대로 읽을 수 보증 하지 않습니다 때문에 해당 배치 정의 되지 않습니다.

메뉴 또는 그룹의 여러 위치에 표시 되는 경우 해당 메뉴 또는 그룹의 모든 자식 항목의 각 인스턴스에 표시 됩니다.

명령 표시 유형 및 컨텍스트

여러 Vspackages가 설치 된 경우, 메뉴, 메뉴 항목 및 도구 모음에 IDE 복잡 될 수 있습니다. 이 문제를 방지 하려면 사용 하 여 개별 UI 요소의 표시 여부를 제어할 수 있습니다 표시 제약 조건 은 , 명령 플래그입니다.

표시 제약 조건

표시 제한으로 설정 되었습니다는 VisibilityItem 요소VisibilityConstraints 섹션입니다. 표시 제한 특정 UI 컨텍스트를 대상 항목을 볼 수를 정의 합니다. 정의 된 컨텍스트 중 하나 현재 경우에 메뉴 또는이 절에 포함 된 명령이 표시 됩니다. 메뉴 또는 명령이이 절에서 참조 되지 않는 경우에 항상 기본적으로 표시 됩니다. 이 섹션에서는 그룹에 적용 되지 않습니다.

VisibilityItem요소에 3 개의 특성은 다음과 같이:는 guid 및 id 대상 UI 요소 및 context. context 아이템 볼 수는 및 올바른 UI 컨텍스트 값으로 사용 하면 특성을 지정 합니다. Visual Studio 대 한 UI 컨텍스트에서 상수 멤버입니다 있는 VSConstants 클래스입니다. 모든 VisibilityItem 요소는 하나의 컨텍스트 값을 수행할 수 있습니다. 초 만드는 두 번째 컨텍스트를 적용 하려면 VisibilityItem 요소는 다음 예제와 같이 동일한 항목을 가리킵니다.

<VisibilityConstraints>
  <VisibilityItem guid="guidSolutionToolbarCmdSet"
        id="cmdidTestCmd"
        context="UICONTEXT_SolutionHasSingleProject" />
  <VisibilityItem guid="guidSolutionToolbarCmdSet"
        id="cmdidTestCmd"
        context="UICONTEXT_SolutionHasMultipleProjects" />
</VisibilityConstraints>

명령 플래그

다음 명령은 플래그 메뉴와 명령을 적용의 표시 여부에 영향을 줍니다.

  • AlwaysCreate
    메뉴 단추 / 그룹이 있는 경우에 만들어집니다.

    유효 기간:Menu

  • CommandWellOnly
    이 플래그 최상위 메뉴의 명령이 나타나지 않습니다 셸 추가 사용자 지정을 사용할 수 있게 하려는 경우 예를 들어, 키에 바인딩 적용 됩니다. 사용자는 Vspackage를 설치한 후 사용자가 이러한 명령을 열어 지정할 수 있습니다의 옵션 대화 상자 및 다음 명령을 배치에서 편집 하는 키보드 환경 범주. 바로 가기 메뉴, 도구 모음, 메뉴 컨트롤러 또는 하위 메뉴의 위치는 변경 되지 않습니다.

    에: Button,Combo

  • DefaultDisabled
    기본적으로 명령은 명령을 구현 VSPackage 로드 되지 않은 또는 QueryStatus 메서드에 호출 되지 않은 경우 사용할 수 없습니다.

    에: Button,Combo

  • DefaultInvisible
    QueryStatus 메서드를 호출 하지 명령을 구현 VSPackage 로드 되지 않은 경우 기본적으로 명령이 표시 되지 않습니다.

    와 결합 하지는 DynamicVisibility 플래그입니다.

    Valid for: Button, Combo,Menu

  • DynamicVisibility
    QueryStatus 메서드 또는 컨텍스트에 포함 된 GUID 사용 하 여 명령 표시 유형을 변경할 수 있는 VisibilityConstraints 섹션입니다.

    메뉴, 도구 모음에 나타나는 명령에 적용 됩니다. 최상위 도구 모음 항목 비활성화, 수 있지만 OLECMDF_INVISIBLE 플래그에서 QueryStatus 메서드가 반환 될 때, 숨겨진 않았습니다.

    메뉴에서이 플래그는 해당 멤버를 숨기면 해당 자동으로 숨김을 나타냅니다. 최상위 메뉴가이 문제가 이미 있으므로이 플래그 하위 메뉴에 일반적으로 할당 됩니다.

    와 결합 하지는 DefaultInvisible 플래그입니다.

    Valid for: Button, Combo,Menu

  • NoShowOnMenuController
    이 플래그는 명령을 메뉴 컨트롤러에 배치 되 면 명령의 드롭다운 목록에 나타나지 않습니다.

    유효 기간:Button

명령 플래그에 대 한 자세한 내용은 참조 하십시오 있는 명령 플래그 요소 설명서입니다.

일반 요구 사항

표시 되 고 사용 될 수 있습니다 전에 다음 일련의 테스트 명령에 전달 해야 합니다.

  • 명령은 정확 하 게 배치 됩니다.

  • DefaultInvisible 플래그가 설정 되지 않았습니다.

  • 상위 메뉴 또는 도구 모음에 표시 됩니다.

  • 명령 컨텍스트 항목 때문에 보이지 않는 수 없습니다의 VisibilityConstraints 요소 섹션입니다.

  • VSPackage 구현 하는 코드는 IOleCommandTarget 인터페이스를 표시 하 고 사용자의 명령을 수 있습니다. 인터페이스 코드를 가로채서 발생 합니다.

  • 명령을 클릭할 때 설명 된 절차에 따라 됩니다 명령 라우팅 알고리즘.

미리 정의 된 명령 호출

UsedCommands 요소 VSPackages 다른 VSPackages 또는 IDE에서 제공 하는 액세스 명령을 수 있습니다. 이 위해 만들는 UsedCommand 요소 있는 GUID 및 ID를 사용 하는 명령입니다. 현재 Visual Studio 구성의 일부가 아닌 경우에 이렇게 명령을 Visual Studio 로드 될 수 있습니다. 자세한 내용은 UsedCommand 요소를 참조하십시오.

인터페이스 요소 모양

선택 하 고 명령 요소 위치 지정에 대 한 고려 사항입니다.

  • Visual Studio위치에 따라 다르게 나타나는 여러 UI 요소를 제공 합니다.

  • 사용 하 여 정의 되는 UI 요소는 DefaultInvisible 플래그가 표시 되지 않습니다 IDE에서 VSPackage 구현으로 표시 되지 않은 경우는 QueryStatus 메서드를 또는 특정 UI 문맥에 관련 된는 VisibilityConstraints 섹션.

  • 명령은 성공적으로 배치 된 경우에 표시 될 수 있습니다. IDE에서 자동으로 숨기 거 나가 (하거나 않았습니다) 있는 VSPackage 인터페이스에 따라 몇 가지 명령이 표시 됩니다 때문에 구현 됩니다. 일부는 VSPackage 구현 예를 들어, 인터페이스를 원인 빌드 관련 메뉴 항목이 자동으로 표시 하도록 빌드합니다.

  • 적용 하 여 CommandWellOnly 플래그에서 UI 요소를 정의 의미 명령 사용자 지정에만 추가할 수 있습니다.

  • IDE 디자인 보기에 있을 때만 대화 상자를 표시할 때 명령 에서만 특정 UI 상황, 예를 들어, 사용할 수 있습니다.

  • 특정 UI 요소를 IDE에 표시 되 게 하려면 하나 이상의 인터페이스를 구현 하거나 코드를 작성 해야 합니다.

참고 항목

개념

Making Commands Available

기타 리소스

일반적인 작업 명령, 메뉴 및 도구 모음 사용

Command Table Configuration (.ctc) Files

Command Table Format Reference

Command Routing in VSPackages