다음을 통해 공유


프로젝트 하위 형식에 의해 확장된 속성 및 메서드

프로젝트 하위 형식에는 기본 프로젝트의 집계자로 생성되기 때문에 프로젝트의 동작에 영향을 줄 수 있는 많은 기능이 있습니다. 이 섹션에서는 프로젝트 하위 형식으로 향상하거나 수정할 수 있는 몇 가지 기능을 요약합니다.

집계를 통해 얻은 기능

다음 표에는 집계를 통해 프로젝트 하위 형식이 기본 프로젝트에서 재정의할 수 있는 많은 메서드가 요약됩니다.

집계를 통해 재정의된 메서드 프로젝트 하위 형식
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를 호출하여 이를 가져오므로 프로젝트 하위 형식이 속성의 구현을 재정의할 수 있습니다.

참고 항목