다음을 통해 공유


제작 합니다.Vsct 파일

이 문서는 Visual Studio 통합된 개발 환경 (IDE) 메뉴 항목, 도구 모음 및 기타 사용자 인터페이스 (UI) 요소를 추가 하는.vsct 파일을 작성 하는 방법을 보여 줍니다. Visual Studio.vsct 파일이 없는 패키지를 (VSPackage) UI 요소를 추가할 때 다음과이 같이 하십시오.

새 프로젝트에 대해 선택한 옵션에 따라 메뉴 명령, 도구 창, 사용자 지정 편집기의 필수 요소를 이미가지고 있는.vsct 파일을 생성 하기 때문에 Visual Studio 패키지 템플릿을 사용 하는 것이 좋습니다. 하면 VSPackage 요구에이.vsct 파일을 수정할 수 있습니다. 예제에서는.vsct 파일을 수정 하는 방법에 대 한 자세한 내용은 참조 하십시오. 명령, 메뉴 및 도구 모음에 대 한 연습.

파일 제작

이 단계를.vsct 파일을 작성 합니다: 파일 및 리소스에 대 한 구조를 만드는, UI 요소를 선언, IDE에서 UI 요소를 배치 및 모든 특수 한 동작을 추가 합니다.

파일 구조

.Vsct 파일의 기본 구조입니다 있는 CommandTable 포함 하는 루트 요소는 명령 요소 a 기호 요소.

파일 구조를 만들려면

  1. 에 나와 있는 단계를 수행 하 여.vsct 파일을 프로젝트에 추가 방법: 작성 된.Vsct 파일.

  2. 필수 네임 스페이스에 추가 CommandTable 는 다음 예제와 같이 요소를.

    <CommandTable xmlns="https://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" 
        xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
  3. 에 CommandTable 요소를 추가 된 Commands 요소에 모든 사용자 지정 메뉴, 도구 모음, 명령 그룹 및 명령. 사용자 지정 UI 요소를 로드할 수 있도록는 Commands 요소에 있어야 해당 Package 특성을 설정 하는 패키지의 이름입니다.

    뒤는 Commands 요소를 추가 Symbols 요소 Guid 이름 및 패키지를 정의 하 고 Id를 UI 요소에 대 한 명령입니다.

Visual Studio 리소스를 포함 하 여

사용은 Extern 요소가 Visual Studio 명령 및 IDE에서 UI 요소를 배치 하는 데 필요한 메뉴를 정의 하는 파일에 액세스할 수 있습니다. 패키지 외부에 정의 된 명령을 사용할 경우 사용 하는 UsedCommands Visual Studio 알리기 위해 요소입니다.

Visual Studio 리소스를 포함 하려면

  1. 상단에는 CommandTable 요소를 추가 Extern 요소의 각 외부 파일을 참조 하 고 설정 하는 href 특성은 파일 이름에. Visual Studio 리소스에 액세스 하는 다음과 같은 헤더 파일을 참조할 수 있습니다.

    • Stdidcmd.h, Visual Studio 의해 노출 되는 모든 명령 Id를 정의 합니다.

    • Vsshlids.h, Visual Studio 메뉴 명령 id가 포함 되어 있습니다.

    • Msobtnid.h, 기타 VSCT 상수를 정의 합니다. 여기에 표준 아이콘 id가 포함 됩니다.

  2. 패키지는 Visual Studio 또는 다른 패키지에 정의 된 명령을 호출 하는 경우 추가 UsedCommands 요소 뒤의 Commands 요소입니다. 이 요소를 채우기는 UsedCommand 호출 된 패키지의 일부가 아닌 각 명령에 대 한 요소입니다. 설정의 guid 및 id 의 특성은 UsedCommand 요소를 호출 하는 명령 GUID 및 ID 값에. Guid 및 Id를 Visual Studio 명령을 확인 하는 방법에 대 한 자세한 내용은 참조 하십시오. Visual Studio 명령 Id 및 Guid. 명령을 다른 패키지에서 호출할 수 해당 패키지에 대 한.vsct 파일에 정의 된 명령 ID 및 GUID를 사용 합니다.

UI 요소를 선언합니다.

모든 새 UI 요소에서 선언에서 Symbols .vsct 파일의.

UI 요소를 선언 하려면

  1. 에 Symbols 요소를 세 개 추가 GuidSymbol 요소입니다. 각 GuidSymbol 요소에는 name 특성은 value 특성입니다. 설정의 name 요소의 목적은 반영 되도록 특성입니다. value 속성의 GUID를 사용 합니다. (에 GUID를 생성 하는 도구 메뉴를 클릭 GUID 만들기, 다음을 선택 하 고 레지스트리 형식.)

    첫 번째 GuidSymbol 요소 패키지를 나타내며 일반적으로 하위 항목이 없습니다. 두 번째 GuidSymbol 요소가 나타내는 명령을 설정 하 고 모든 사용자 메뉴, 그룹 및 명령을 정의 하는 기호가 포함 됩니다. 세 번째 GuidSymbol 요소를 이미지 저장소를 나타내며 모든 아이콘을 명령에 대 한 기호가 들어 있습니다. 아이콘을 사용 하는 명령이 없는 경우 세 번째를 생략할 수 있습니다 GuidSymbol 요소입니다.

  2. 에 GuidSymbol 명령 집합을 나타내는 요소를 추가할 하나를 IDSymbol 요소입니다. 각각의 메뉴, 도구 모음, 그룹 또는 UI에 추가 하는 명령을 나타냅니다.

    각 IDSymbol 요소를 설정의 name 특성 이름에 해당 하는 메뉴, 그룹 또는 명령에 참조할 수 및 다음 설정 합니다는 value 요소에 명령 id를 나타내는 16 진수입니다. 두 IDSymbol 동일한 부모 요소에 동일한 값을 가질 수 있습니다.

  3. 아이콘 UI 요소를 요구 하는 경우 추가 된 IDSymbol 각 아이콘에 대 한 요소는 GuidSymbol 이미지 저장소를 나타내는 요소.

IDE에서 UI 요소를 배치

메뉴 요소를 그룹 요소 및 단추 요소 모든 메뉴, 그룹 및 사용자의 패키지에 정의 된 명령에 대 한 정의 포함 합니다. 이러한 메뉴, 그룹 및 명령 중 하나를 사용 하 여 IDE의 배치는 부모 요소를 사용 하 여 UI 요소 정의의 일부로 CommandPlacement 요소 위치를 정의 합니다.

각 Menu, Group, 및 Button 요소에는 guid 특성 및 id 특성입니다. 항상 설정의 guid 특성의 이름과 일치 하는 GuidSymbol 로 설정 하 고 설정 하는 명령을 나타내는 요소는 id 특성 이름에는 IDSymbol 사용자 메뉴, 그룹 또는 명령을 나타내는 요소는 Symbols 섹션.

UI 요소를 정의.

  1. 새 메뉴, 하위 메뉴, 바로 가기 메뉴 또는 도구 모음을 정의 하는 경우 추가 된 Menus 요소에는 Commands 요소. 그런 다음 만들려는 각 메뉴에 대 한 추가 메뉴 요소에는 Menus 요소입니다.

    설정의 guid 및 id 의 특성의 Menu 요소를 제거한 다음 설정은 type 특성 종류를 원하는 메뉴에. 설정할 수도 있습니다에 priority 특성이 부모 그룹의 메뉴의 상대적인 위치를 설정 합니다. 자세한 내용은 방법: 메뉴, 하위 메뉴, 바로 가기 메뉴 만들기방법: IDE에서 도구 모음을 만들을 참조하십시오.

    참고

    priority 도구 모음 및 상황에 맞는 메뉴에 특성이 적용 되지 않습니다.

  2. Visual Studio IDE의 모든 명령은 직접 자식 메뉴와 도구 모음 명령 그룹에 호스팅해야 합니다. IDE에 새 메뉴나 도구 모음을 추가 하는 경우 이러한 새 명령 그룹을 포함 해야 합니다. 명령을 시각적으로 그룹화 할 수 있도록 기존 메뉴 및 도구 모음 명령 그룹도 추가할 수 있습니다.

    새 명령 그룹을 추가할 때 먼저 만들어야 합니다는 Groups 요소를 추가 하 고는 그룹 각 명령 그룹에 대 한 요소.

    설정의 guid 및 id 각 특성 Group 요소를 제거한 다음 설정의 priority 특성 그룹 부모 메뉴의 상대적인 위치를 설정 합니다. 자세한 내용은 방법: 단추를 다시 사용할 수 있는 그룹을 만듭니다를 참조하십시오.

  3. IDE에 새 명령을 추가 하는 경우 추가 된 Buttons 요소에는 Commands 요소. 그런 다음 각 명령에 대 한 추가 단추 요소에는 Buttons 요소.

    1. 설정의 guid 및 id 각 특성 Button 요소를 제거한 다음 설정의 type 특성을 원하는 단추 종류를. 설정할 수도 있습니다 해당 priority 명령의 상대적 위치는 상위 그룹에 설정 하는 특성입니다.

      참고

      사용 type="button" 표준 메뉴 명령 및 도구 모음 단추에 대 한.

    2. 에 Button 요소를 추가 문자열 포함 하는 요소는 를 로드 합니다 요소와 a CommandName 요소. ButtonText 요소는 메뉴 항목 또는 도구 모음 단추에 대 한 도구 설명에 대 한 텍스트 레이블을 제공 합니다. CommandName 요소를 잘 사용 하는 명령 이름을 제공 합니다.

    3. 명령 아이콘이 있으면를 만들어는 아이콘 요소에는 Button 요소와 집합 해당 guid 및 id 특성의 Bitmap 요소 아이콘에 대 한.

      참고

      도구 모음 단추 아이콘이 있어야 합니다.

    자세한 내용은 방법: 만들고 VSPackages (C#)에서 명령 처리를 참조하십시오.

  4. 해당 명령을 아이콘을 필요한 경우 추가 비트맵 요소에는 Commands 요소입니다. 그런 다음 각 아이콘에 대 한 추가 비트맵 요소에는 Bitmaps 요소입니다. 이 비트맵 리소스의 위치를 지정 하는 위치입니다. 자세한 내용은 방법: 도구 모음에서 명령에 아이콘 추가를 참조하십시오.

대부분의 메뉴, 그룹 및 명령 올바르게 배치 하려면 부모 지정 구조에 의존 수 있습니다. 매우 큰 명령 집합에 대 한 또는 메뉴, 그룹 또는 명령을 여러 위치에 표시 해야 하는 경우 명령 위치를 지정 하는 것이 좋습니다.

IDE에서 UI 요소를 배치 하려면 부모 지정 의존 하

  • 일반적인 부모에 대 한 만들는 Parent 각 요소 Menu, Group, 및 Command 패키지에 정의 된 요소입니다.

    대상의 Parent 메뉴 또는 메뉴를 포함 하는 그룹, 그룹 또는 명령 요소입니다.

    1. 설정의 guid 특성 이름으로는 GuidSymbol 명령 집합을 정의 하는 요소입니다. 대상 요소를 패키지의 일부인 경우 해당.vsct 파일에 정의 된 해당 명령 집합에 대 한 guid를 사용 합니다.

    2. 설정의 id 특성이 일치 하는 id 대상 메뉴 또는 그룹 특성입니다. 메뉴 및 Visual Studio 의해 노출 되는 그룹에 대 한 목록을 참조 하십시오. Guid 및 Id Visual Studio 메뉴 중 또는 Guid와 Id를 Visual Studio 도구 모음.

IDE에서 배치 하는 UI 요소가 많은 경우 여러 위치에 표시 되는 요소가 있는 경우에 그 위치에 정의 CommandPlacements 요소를 다음과 같이 합니다.

명령을 배치를 사용 하 여 IDE에서 UI 요소를 배치 하

  1. 이후에 Commands 요소를 추가 CommandPlacements 요소입니다.

  2. 에 있는 CommandPlacements 요소를 추가 CommandPlacement 요소에 각 메뉴, 그룹 또는 명령을 배치 합니다.

    각 CommandPlacement 요소 또는 Parent IDE의 한 위치에서 하나의 메뉴 그룹 또는 명령 요소를 배치 합니다. UI 요소의 부모를 하나만 적용할 수 있지만 여러 개의 명령을 배치를 할 수 있습니다. 여러 위치에서 UI 요소를 배치 하려면 추가 CommandPlacement 각 위치에 대 한 요소입니다.

  3. 설정의 guid 및 id 각 특성 CommandPlacement 호스팅 메뉴 또는 마찬가지로 그룹 요소 수에 대 한는 Parent 요소입니다. 설정할 수도 있습니다 해당 priority UI 요소의 상대 위치를 설정 하는 특성입니다.

부모 지정으로 배치 및 명령 배치를 혼합할 수 있습니다. 그러나 매우 큰 명령 집합에 대 한 명령을 배치만 사용 하는 것이 좋습니다.

특수화 된 동작 추가

사용할 수 있는 CommandFlag 요소 동작 메뉴 및 명령, 예 수정, 모양과 표시 여부를 변경 합니다. 명령을 사용 하 여 표시 된 경우에 달라질 수 있습니다 VisibilityConstraints, 또는 바로 가기 키를 사용 하 여 추가 키 바인딩을. 특정 종류의 메뉴와 명령에 이미 내장 된 동작 전문화 되어 있습니다.

특별 한 동작을 추가 하려면

  1. 솔루션을 로드할 때 UI 요소 예를 들어, 특정 UI 컨텍스트에서 표시 하려면 표시 제약 조건 사용.

    1. 이후에 Commands 요소를 추가 VisibilityConstraints 요소입니다.

    2. 추가할 각 UI 항목을 제한 하는 VisibilityItem 요소입니다.

    3. 각 VisibilityItem 요소를 설정의 guid 및 id 메뉴 및 명령, 다음 설정, 그룹 또는 특성의 context 에 정의 된 특성을 UI 컨텍스트에 UIContextGuids80 클래스. 자세한 내용은 VisibilityItem 요소를 참조하십시오.

  2. 표시 유형 또는 UI 항목의 사용 가능 여부를 코드에서 설정 하려면 다음 명령 플래그 중 하나를 사용 하십시오.

    • DefaultDisabled

    • DefaultInvisible

    • DynamicItemStart

    • DynamicVisibility

    • NoShowOnMenuController

    • NotInTBList

    자세한 내용은 명령 플래그 요소를 참조하십시오.

  3. 요소 표시 또는 모양을 동적으로 변경할 방법을 변경 하려면 다음 명령 플래그 중 하나를 사용 하십시오.

    • AlwaysCreate

    • CommandWellOnly

    • DefaultDocked

    • DontCache

    • DynamicItemStart

    • FixMenuController

    • IconAndText

    • Pict

    • StretchHorizontally

    • TextMenuUseButton

    • TextChanges

    • TextOnly

    자세한 내용은 명령 플래그 요소를 참조하십시오.

  4. 요소 명령을 받으면 반응을 변경 하려면 다음 명령 플래그 중 하나를 사용 하십시오.

    • AllowParams

    • CaseSensitive

    • CommandWellOnly

    • 필터 키

    • NoAutoComplete

    • NoButtonCustomize

    • NoKeyCustomize

    • NoToolbarClose

    • PostExec

    • RouteToDocs

    • TextIsAnchorCommand

    자세한 내용은 명령 플래그 요소를 참조하십시오.

  5. 종속 메뉴 바로 가기 메뉴 항목 또는 메뉴를 연결 하려면 앰퍼샌드 문자를 추가 ('/')에 ButtonText 메뉴 또는 메뉴 항목에 대 한 요소입니다. 상위 메뉴가 열려 있는 경우 앰퍼샌드 다음에 오는 문자가 현재 바로 가기 키입니다.

  6. 명령 메뉴에 관계 없이 바로 가기 키를 연결 하려면 키 바인딩을. 자세한 내용은 KeyBinding 요소를 참조하십시오.

  7. 메뉴 텍스트를 지역화 하려면 사용 하는 LocCanonicalName 요소입니다. 자세한 내용은 Strings 요소를 참조하십시오.

일부 메뉴 및 단추 종류 특별 한 동작을 포함합니다. 다음 표에서 일부 특수 메뉴 및 단추 종류를 설명합니다. 다른 형식에 대 한 참조를 types 특성에 대 한 설명 Menu 요소, Button 요소, 및 Combo 요소.

  • Combo box
    콤보 상자 도구 모음에서 사용할 수 있는 드롭다운 목록입니다. UI에 콤보 상자를 추가 하려면 작성 된 바로 가기 단축키 요소에는 Commands 요소. 다음 추가 Combos 요소는 Combo 요소를 추가 하려면 각 콤보 상자에 대 한. Combo요소가 있는 특성과 자식으로 Button 요소와 있는 DefaultWidth 및 idCommandList 특성입니다. DefaultWidth 특성 설정 너비 (픽셀)를 하는 idCommandList 콤보 상자를 채우는 데 사용 되는 명령 ID에 요소 특성입니다. 자세한 내용은 Combo 요소 설명서입니다.

  • MenuController
    메뉴 컨트롤러 옆에 있는 화살표가 있는 단추입니다. 화살표를 클릭 하 여 목록을 엽니다. 만들기 메뉴 컨트롤러를 UI에 추가 하는 Menu 요소와 집합의 type 동작에 따라 MenuController 또는 MenuControllerLatched, 특성. 부모로 설정할 메뉴 컨트롤러를 채우려면는 Group 요소입니다. 메뉴 컨트롤러 드롭다운 목록에서 해당 그룹의 모든 자식 항목을 표시 합니다.

참고 항목

개념

VSCT XML 스키마 참조

기타 리소스

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

Visual Studio 명령은 테이블 (.Vsct) 파일