다음을 통해 공유


XML 명령 테이블 디자인 (.Vsct) 파일

레이아웃 및 명령 항목의 모양에 있는 VSPackage XML 명령 테이블 (.vsct) 파일을 설명합니다. 단추, 콤보 상자, 메뉴, 도구 모음 및 명령 항목 그룹 명령 항목을 포함 합니다. 이 항목에서는 XML 명령 테이블 파일, 해당 명령 항목 및 메뉴에 미치는 영향을 만드는 방법을 설명 합니다.

명령, 메뉴, 그룹 및 파일.vsct

.vsct 파일은 명령, 메뉴 및 명령 그룹 주위의 구성 됩니다. 각이 항목에 명령 단추, 명령 배치 및 비트맵 등의 다른 관련된 항목에 함께.vsct 파일에서 XML 태그를 나타냅니다.

만들 때 새 Vspackage를 실행 하 여 해당 Visual Studio 패키지 템플릿을 템플릿은 필요한 요소를 메뉴 명령이 나 도구 창에서 선택한 항목에 따라 사용자 지정 편집기에 대 한.vsct 파일을 생성 합니다. 이.vsct 파일 다음 특정 Vspackage의 요구 사항에 맞게 수정할 수 있습니다. 예제에서는.vsct 파일을 수정 하는 방법의 예제를 참조 하십시오 명령, 메뉴 및 도구 모음에 대 한 연습.

새, 빈.vsct 파일을 작성 하려면를 참조 하십시오 방법: 작성 된.Vsct 파일. 작성 한 후 XML 요소, 특성 및 값 명령 항목 레이아웃을 설명 하는 파일에 추가 합니다. 세부 XML 스키마에 대 한 참조를 VSCT XML 스키마 참조.

.Ctc 및.vsct 파일의 차이점

구현을 지금의.ctc 파일 형식이 더 이상 사용 되지 의미 하는.vsct 파일에서 XML 태그는 동일 하지만 약간 다릅니다.

  • 새로운 <extern> 태그는 같은 컴파일할 수.h 파일 다른 참조 위치를 Visual Studio 도구 모음입니다.

  • .Vsct 파일을 지원 하지만 /include 문을 때.ctc 파일 또한 제공 새로운 <import> 요소입니다. 차이점은, /include 에 연결 모든 의 정보를 하지만 <import> 에 있는 이름만 나타납니다.

  • 하나를 전처리기 지시문을 정의 하는 헤더 파일.ctc 파일이 필요 하지만,.vsct 파일에 대 한 필요는 없습니다. 대신, 기호 테이블에 있는 지시문을 배치는 <Symbol> .vsct 파일의 맨 아래에 있는 요소를 합니다.

  • .vsct 파일 기능을 <Annotation> 태그를 원하는 노트, 그림도 등과 같은 모든 정보를 포함할 수 있습니다.

  • 값 항목 특성으로 저장 됩니다.

  • 명령 플래그 개별적으로 저장 하거나 누적 수 있습니다. 그러나 Intellisense, 누적된 명령 플래그에 작동 하지 않습니다. 명령 플래그에 대 한 자세한 내용은 참조 하십시오 있는 명령 플래그 요소.

  • 분할 드롭다운, 바로 가기 단축키 등과 같은 여러 형식을 지정할 수 있습니다.

  • Guid의 유효성을 검사 하지 않습니다.

  • 각 UI 요소에 표시 되는 텍스트를 나타내는 string을입니다.

  • 부모는 선택 사항입니다. 인수를 생략 하면 그룹 "Unknown" 값이 사용 됩니다.

  • 아이콘 인수는 선택 사항입니다.

  • .Ctc와 같은 비트맵 섹션-파일, 이제 vsct.exe 컴파일러에서 컴파일 타임에 가져올 수 href 통해 파일 이름을 지정할 수 있습니다 제외 하 고.

  • ResID-이전 비트맵 리소스 ID를 사용할 수 있으며 여전히 동일한.ctc 파일에서 작동 합니다.

  • HRef-비트맵 리소스의 파일 이름을 지정할 수는 새로운 방법입니다. 사용 되는 부분을 생략 해도 되므로 모두 사용 된 것으로 가정 합니다. 컴파일러는 먼저 모든 net 공유 다음 파일에 대 한 로컬 리소스와 /I 스위치에서 정의 된 리소스에 대 한 검색 합니다.

  • -키 바인딩에서는 더 이상 에뮬레이터 지정 해야 합니다. 지정 하지 않으면 컴파일러가 편집기와 에뮬레이터 동일 하다는 가정 합니다.

  • Keychord-삭제 되었습니다. 새 형식은 Key1, Key2 업체, Mod1 Mod2입니다. 문자, 16 진수 또는 VK 상수를 지정할 수 있습니다.

새 컴파일러, vsct.exe,.ctc 및.vsct 파일을 컴파일합니다. 그러나 이전 ctc.exe 컴파일러 됩니다 인식도.vsct 파일을 컴파일합니다.

Vsct.exe 컴파일러를 사용 하 여 기존.cto 파일을.vsct 파일로 변환할 수 있습니다. 이에 대한 자세한 내용은 방법: 작성 된.Vsct 파일에서 기존.Cto 파일을 참조하십시오.

.Vstc 파일 요소

다음 계층 구조와 요소를 명령 테이블에 있습니다.

CommandTable 요소-모든 명령, 메뉴 그룹 및 Vspackage와 연관 된 메뉴를 나타냅니다.

Extern 요소-.Vstc 파일에 병합 하려는 외부.h 파일을 참조 합니다.

Include 요소-Your.vstc 파일 함께 컴파일할 추가 헤더 (.h) 파일을 참조 합니다. .Vstc 파일이 IDE 또는 다른 VSPackage 제공 명령, 메뉴 그룹 및 메뉴를 정의 하는 상수가 들어 있는.h 파일에 포함할 수 있습니다.

Commands 요소-개별 명령을 실행할 수 나타냅니다. 각 명령에는 다음과 같은 네 가지 자식 요소가 있습니다.

Menus 요소-모든 메뉴와 도구 모음에 있는 VSPackage 나타냅니다. 메뉴 명령 그룹에 대 한 컨테이너입니다.

Groups 요소-모든 그룹이 있는 VSPackage에서 나타냅니다. 그룹의 개별 명령 모음입니다.

Buttons 요소-모든 명령 단추 및 메뉴 항목은 VSPackage에서 나타냅니다. 단추 명령 함께 연결할 수 있는 시각적 컨트롤입니다.

Bitmaps 요소-모든 비트맵 모든 단추에 있는 VSPackage 나타냅니다. 비트맵 옆에 컨텍스트에 따라 명령 단추를 표시 하는 그림입니다.

CommandPlacements 요소-추가 위치는 개별 명령을 VSPackage 메뉴에 있을 수 합니다 나타냅니다.

VisibilityConstraints 요소-번 이나 특정 대화 상자 또는 창 표시 될 때와 같은 특정 컨텍스트에서만, 모든 명령을 표시 여부를 지정 합니다. 지정 된 컨텍스트의 현재 경우에 메뉴와 명령을이 요소의 값이 표시 됩니다. 기본 동작 명령을 항상 표시 됩니다.

KeyBindings 요소-는 명령의 모든 키 바인딩을 지정합니다. 같은 명령을 실행 하려면 눌러야 합니다 즉, 하나 이상의 키 조합을 CTRL + S.

UsedCommands 요소-알립니다는 Visual Studio 환경의 현재 VSPackage 활성 상태일 때 다른 코드에 의해 지정 된 명령을 구현 되어 있지만 명령 구현을 제공 합니다.

Symbols Element-기호 이름 및 GUID Id 모든 패키지에서 명령을 포함합니다.

.Vsct 파일 설계 지침

.Vsct 파일을 성공적으로 디자인 하려면 다음이 지침을 따르십시오.

  • 명령 그룹에만 배치 될 수 있습니다, 그룹 메뉴에만 배치 될 수 있습니다 및 메뉴 그룹에만 배치할 수 있습니다. 메뉴 그룹 IDE에 실제로 표시 되 고 명령은 사용할 수 없습니다.

  • 하위 메뉴에 직접 할당할 수 없습니다 있지만 메뉴에 차례로 지정 된 그룹에 할당 합니다.

  • 명령, 하위 메뉴 및 그룹 부모 그룹 또는 부모 필드가 정의 지시문을 사용 하 여 메뉴에 할당할 수 있습니다.

  • 구성 명령을 테이블의 지시문에서 부모 필드를 통해서만 중요 한 제한이 있습니다. 개체가 정의 된 지시문 한 부모 인수를 사용할 수 있습니다.

  • 개체의 새 인스턴스를 직접 만들 수 있는 새 지시문을 사용 해야 명령, 그룹 또는 하위 메뉴를 다시 사용 GUID:ID 쌍입니다.

  • GUID:ID 쌍은 고유 해야 합니다. 예를 들어, 도구 모음, 메뉴 또는 상황에 맞는 메뉴에서 배치 된, 명령을 다시 처리 하는 IOleCommandTarget 인터페이스입니다.

  • 명령 및 하위 메뉴도 할당 될 수 있습니다 여러 그룹에 및 그룹 사용 하 여 여러 메뉴에 할당 될 수 있는 Commands 요소.

.Vsct 파일 정보

컴파일와 네이티브 위성 DLL에 배치 후.vsct 파일을 변경 하는 경우 실행 해야 devenv.exe /setup /nosetupvstemplates. 이렇게 강제로 다시 읽어야 하는 실험 레지스트리 및 설명 하는 내부 데이터베이스에 지정 된 VSPackage 리소스 Visual Studio 를 다시 작성 합니다.

개발 하는 동안 여러 VSPackage 프로젝트를 작성 하 고 IDE에서 혼란 혼란을 야기 시킬 수 있는 실험 레지스트리 하이브에 등록 가능 합니다. 이 문제를 해결 하려면 기본 설정에서 등록 된 모든 Vspackages가 IDE를 수 있습니다 변경 사항을 제거 하려면 실험적 하이브를 재설정할 수 있습니다. 실험적 하이브를 원래 대로 설정 하려면 Visual Studio SDK와 함께 제공 되는 vsregex.exe 도구를 사용 합니다. 이 도구는 VisualStudioIntegration 폴더 (예를 들어, C:\Program Files\Visual Studio 2010 SDK\VisualStudioIntegration\Tools\Bin\vsregexe.exe)의 tools\bin 또는 tools\bin\x86 폴더에 있습니다. 명령줄을 사용 하 여 도구를 실행 vsregex GetOrig 10.0 Exp10.0 의 버전입니다 Visual Studio 사용 하는 및 Exp 버전 실험 레지스트리 하이브 아래에 추가 된 접미사입니다 HKEY_CURRENT_USER.

Vsregex.exe 도구는 일반적으로 설치 하 여 등록 된 모든 VSPackages 실험적 하이브를 제거 하도록 기억 Visual Studio.

참고 항목

개념

Making Commands Available

기타 리소스

Command Table Configuration (.ctc) Files

Command Table Format Reference

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