프로젝트 하위 형식에 의해 확장된 속성 및 메서드
프로젝트 하위 형식에는 기본 프로젝트의 집계자로 생성되기 때문에 프로젝트의 동작에 영향을 줄 수 있는 많은 기능이 있습니다. 이 섹션에서는 프로젝트 하위 형식으로 향상하거나 수정할 수 있는 몇 가지 기능을 요약합니다.
집계를 통해 얻은 기능
다음 표에는 집계를 통해 프로젝트 하위 형식이 기본 프로젝트에서 재정의할 수 있는 많은 메서드가 요약됩니다.
집계를 통해 재정의된 메서드 | 프로젝트 하위 형식 |
---|---|
IVsHierarchy에서: GetProperty SetProperty GetGuidProperty SetGuidProperty |
프로젝트 하위 형식이 수행할 수 있는 작업 - 프로젝트 노드의 캡션 및 아이콘을 변경합니다. - 프로젝트 Browse 개체를 완전히 재정의합니다.- 프로젝트의 이름을 바꿀 수 있는지 여부를 제어합니다. - 정렬 순서를 제어합니다. - 동적 도움말에 대한 사용자 컨텍스트를 제어합니다. |
IVsProject에서: GetItemContext |
프로젝트 하위 형식이 디자이너 및 편집기에게 제공되는 컨텍스트 서비스를 제어할 수 있도록 합니다. |
IOleCommandTarget에서: QueryStatus Exec QueryStatusCommand ExecCommand |
프로젝트 하위 형식이 수행할 수 있는 작업 - 프로젝트 명령에 대한 명령 라우팅에 참여합니다. - 프로젝트 앰비언트 명령과 솔루션 탐색기 활성 명령을 모두 추가, 제거 또는 사용하지 않도록 설정합니다. |
IVsFilterAddProjectItemDlg2 | 프로젝트 하위 형식이 새 항목 추가 대화 상자에서 사용자에게 표시되는 내용을 필터링할 수 있도록 합니다. |
IVsSingleFileGeneratorFactory | 프로젝트 하위 형식이 수행할 수 있는 작업 - 파일 확장명이 지정된 기본 생성기를 결정합니다. - 사람이 읽을 수 있는 생성기 이름을 COM 개체에 매핑합니다. |
프로젝트 하위 형식에서 사용하는 속성
환경 및 기본 프로젝트 시스템은 다음 표에 설명된 __VSSPROPID 및 __VSSPROPID2 열거형의 속성을 사용하여 프로젝트 하위 형식이 프로젝트 시스템의 다양한 기능을 제어하도록 할 수 있습니다.
VSHPROPID 속성 | 프로젝트 하위 형식 |
---|---|
AddItemTemplatesGuid |
프로젝트 하위 형식이 항목 추가 대화 상자의 콘텐츠를 제어할 수 있도록 합니다. 프로젝트 하위 형식은 템플릿 디렉터리의 새 사양을 제공하고, 새 종류의 항목을 추가하고, 기존 항목을 제거하고, 기본 프로젝트의 항목 추가 대화 상자에서 항목의 하위 세트를 다시 구성할 수 있습니다. |
PropertyPagesCLSIDList |
프로젝트 하위 형식이 구성 독립적 속성 페이지를 추가하거나 제거할 수 있도록 합니다. |
CfgPropertyPagesCLSIDList |
프로젝트 하위 형식이 구성 종속적 속성 페이지를 추가하거나 제거할 수 있도록 합니다. |
ExtObjectCATID |
프로젝트 하위 형식이 Extender CATID를 인식하여 프로젝트 또는 프로젝트 항목 개체에 대한 Automation Extender를 제공할 수 있도록 합니다. 예를 들어 프로젝트 하위 형식은 사용자 지정 Project.Extender("<subtype>") 개체를 제공할 수 있습니다. |
BrowseObjectCATID |
프로젝트 하위 형식이 Extender CATID를 인식하여 Browse 개체에 대한 Automation Extender를 제공할 수 있도록 합니다. 예를 들어 프로젝트 하위 형식은 Properties 컬렉션에 다른 속성을 추가할 수 있습니다. |
CfgBrowseObjectCATID |
프로젝트 하위 형식이 프로젝트 구성 찾아보기 개체에 대한 Automation Extender를 제공할 수 있도록 합니다. 예를 들어 프로젝트 하위 형식은 Properties 컬렉션에 다른 속성을 추가할 수 있습니다. |
CfgExtObjectCATID |
프로젝트 하위 형식이 구성 개체에 대한 Automation Extender를 제공할 수 있도록 합니다. |
DefaultPlatformName |
프로젝트 하위 형식이 프로젝트의 구성 개체에 대한 플랫폼 이름을 확인할 수 있도록 합니다. |
기본 프로젝트는 위 속성의 기본 구현을 제공합니다. 기본 프로젝트는 가장 바깥쪽 프로젝트 하위 형식에서 IVsHierarchy에 대한 QueryInterface
를 호출하여 이를 가져오므로 프로젝트 하위 형식이 속성의 구현을 재정의할 수 있습니다.