다음을 통해 공유


프로젝트 형식을 등록 하는 중

새 프로젝트 형식을 만들 때 사용 하는 레지스트리 항목을 만들어야 합니다 Visual Studio 인식 하 고 프로젝트 형식으로 작업할 수 있습니다. 일반적으로 레지스트리 스크립트 (.rgs) 파일을 사용 하 여 이러한 레지스트리 항목 만듭니다.

아래 예제에서는 기본 경로 레지스트리에서 문을 제공 하 고 데이터가 적용 되는 레지스트리 스크립트 각 문에 대 한 항목을 포함 하는 테이블에. 테이블 스크립트 항목 및 해당 문에 대 한 추가 정보를 제공합니다.

참고

종류의 예 고 항목 프로젝트 형식 등록 하려면 작성 하려는 레지스트리 스크립트에는 다음 레지스트리 정보를 위한 것입니다.실제 항목 및 그 사용법을 프로젝트 형식의 특정 요구 사항에 따라 달라질 수 있습니다.개발 중인 프로젝트의 형식에 유사한 찾을 수 있는 샘플을 검토 하 고 레지스트리 스크립트를 샘플을 검토 해야 합니다.

다음 예제에서 HKEY_CLASSES_ROOT입니다.

예제

\.figp
   @="FigPrjFile"
   "Content Type"="text/plain"
\.figp\ShellNew
   "NullFile"=""
\FigPrjFile
   @="Figure Project File"
\DefaultIcon
   @="<Visual Studio SDK installation path>\\9.0VSIntegration\\SomeFolder\\FigPkgs\\FigPrj\\Debug\\FigPrj.dll,-206"
\shell\open
   @="&Open in Visual Studio"
\shell\open\command
   @="devenv.exe \"%1\""

Name

형식

데이터

설명

@

REG_SZ

FigPrjFile

파일 확장명이.figp 프로젝트의 이름과 설명을 입력 합니다.

Content Type

REG_SZ

Text/plain

프로젝트 파일에 대 한 콘텐츠 형식입니다.

NullFile

REG_SZ

Null

 

@

REG_SZ

%MODULE%,-206

이러한 종류의 프로젝트에 사용 되는 기본 아이콘입니다. %MODULE% 문은 프로젝트 형식의 DLL의 기본 위치에 완료 됩니다.

@

REG_SZ

&Open in Visual Studio

이 프로젝트 형식은 열리는 기본 응용 프로그램입니다.

@

REG_SZ

devenv.exe "%1"

이러한 종류의 프로젝트를 열 때 실행 되는 기본 명령입니다.

다음 예제에서 HKEY_LOCAL_MACHINE 이며 레지스트리 키 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\99.0Exp\Packages] 아래에 있습니다.

예제

\{ACEF4EB2-57CF-11D2-96F4-000000000000} (The CLSID for the VSPackage)
   @="FigPrj Project Package"
   "InprocServer32"="9.0<Visual Studio SDK installation path>\\VSIntegration\\Archive\\FigPkgs\\FigPrj\\                      Debug\\FigPrj.dll"
   "CompanyName"="Microsoft"
   "ProductName"="Figure Project Sample"
   "ProductVersion"="9.0"
   "MinEdition"="professional"
   "ID"=dword:00000001
\{ACEF4EB2-57CF-11D2-96F4-000000000000}\SatelliteDLL
   "DllName"="FigPrjUI.dll"
   "Path"="9.0<Visual Studio SDK installation path>\\VSIntegration\\Archive\\FigPkgs\\FigPrj\\Debug\\"
\{ACEF4EB2-57CF-11D2-96F4-000000000000}\Automation
   "FigProjects"=""
\{ACEF4EB2-57CF-11D2-96F4-000000000000}\AutomationEvents
   "FigProjectsEvents"="Returns the FigProjectsEvents Object"
   "FigProjectItemsEvents"="Returns the FigProjectItemsEvents Object"

Name

형식

데이터

설명

@ (기본값)

REG_SZ

FigPrj Project VSPackage

지역화 가능한 이름을 VSPackage (프로젝트 형식)을 등록합니다.

InprocServer32

REG_SZ

%MODULE%

프로젝트 형식의 DLL의 경로입니다. IDE이이 DLL을 로드 하 고 VSPackage CLSID를 전달 DllGetClassObject 얻을 수 IClassFactory 를 생성 하는 IVsPackage 개체입니다.

CompanyName

REG_SZ

Microsoft

프로젝트 형식을 개발 하는 회사의 이름입니다.

ProductName

REG_SZ

Figure Project Sample

프로젝트 형식에 대 한 이름입니다.

ProductVersion

REG_SZ

9.0

프로젝트 형식의 버전 번호를 놓습니다.

MinEdition

REG_SZ

professional

등록 중인 Vspackage의 버전입니다.

ID

REG_DWORD

%IDS_PACKAGE_LOAD_KEY%

패키지 로드 VSPackage 프로젝트에 대 한 키입니다. 환경 시작 프로젝트가 로드 될 때 키를 확인 합니다.

DllName

REG_SZ

%RESOURCE_DLL%

위성 프로젝트 형식에 대 한 지역화 된 리소스를 포함 하는 DLL의 파일 이름입니다.

Path

REG_SZ

%RESOURCE_PATH%

위성 DLL의 경로입니다.

FigProjectsEvents

REG_SZ

값에 대 한 설명을 참조 하십시오.

이 자동화 이벤트에 대해 반환 되는 텍스트 문자열을 지정 합니다.

FigProjectItemsEvents

REG_SZ

값에 대 한 설명을 참조 하십시오.

이 자동화 이벤트에 대해 반환 되는 텍스트 문자열을 지정 합니다.

다음 예제에서는 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\Projects] 키 아래에 위치 합니다.

예제

\{C061DB26-5833-11D2-96F5-000000000000} (The CLSID for projects of this type)
   @="FigPrj Project"
   "DisplayName"="#2"
   "Package"="{ACEF4EB2-57CF-11D2-96F4-000000000000}"
   "ProjectTemplatesDir"="C:\\Program Files\\VSIP 9.0\\EnvSDK\\FigPkgs\\                           FigPrj\\FigPrjProjects"
   "ItemTemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPkgs\\FigPrj\\                           FigPrjProjectItems"
   "DisplayProjectFileExtensions"="#3"
   "PossibleProjectExtensions"="figp"
   "DefaultProjectExtension"=".figp"
\{C061DB26-5833-11D2-96F5-000000000000}\Filters\1       (Folder 1 contains settings for Open Files filters.)
   @="#4"
   "CommonOpenFilesFilter"=dword:00000000
   "CommonFindFilesFilter"=dword:00000000
   "NotAddExistingItemFilter"=dword:00000000
   "FindInFilesFilter"=dword:00000000
   "NotOpenFileFilter"=dword:00000000
   "SortPriority"=dword:000003e8
\{C061DB26-5833-11D2-96F5-000000000000}\Filters\2
      (Folder 2 contains settings for Find in Files filters.)
   @="#5"
   "CommonOpenFilesFilter"=dword:00000000
   "CommonFindFilesFilter"=dword:00000000
   "NotAddExistingItemFilter"=dword:00000001
   "FindInFilesFilter"=dword:00000001
   "NotOpenFileFilter"=dword:00000000
   "SortPriority"=dword:000003e8
\{C061DB26-5833-11D2-96F5-000000000000}\AddItemTemplates\TemplateDirs\ {ACEF4EB2-57CF-11D2-96F4-000000000000}\1 (Second GUID indicates the registered project type for the Add Items templates.)
   @="#6"
   "TemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPkgs\\FigPrj\\                    FigPrjProjectItems"
   "SortPriority"=dword:00000064

Name

형식

데이터

설명

@

REG_SZ

FigPrj Project

이 형식의 프로젝트의 기본 이름입니다.

DisplayName

REG_SZ

#%IDS_PROJECT_TYPE%

위성 DLL을 검색할 리소스 ID 이름이 패키지에서 패키지를 등록 합니다.

Package

REG_SZ

%CLSID_Package%

클래스 ID가 있는 VSPackage 패키지에서 패키지를 등록 합니다.

ProjectTemplatesDir

REG_SZ

%TEMPLATE_PATH%\FigPrjProjects

프로젝트 서식 파일의 기본 경로입니다. 이러한 새 프로젝트 템플릿에서 표시 되는 파일입니다.

ItemTemplatesDir

REG_SZ

%TEMPLATE_PATH% \FigPrjProjectItems

프로젝트 항목 템플릿 파일의 기본 경로입니다. 이러한 새 항목 추가 템플릿을 통해 표시 되는 파일입니다.

DisplayProjectFileExtensions

REG_SZ

#%IDS_DISPLAY_PROJ_FILE_EXT%

활성화를 구현 하 여 IDE를 열기 대화 상자.

PossibleProjectExtensions

REG_SZ

figp

IDE에서 열려 있는 프로젝트 (프로젝트 공장)이 프로젝트 형식으로 처리할지 여부를 결정 하는 데 사용 합니다. 두 개 이상의 항목의 형식을 세미콜론으로 구분 된 목록입니다. 예를 들어 "vdproj; vdp"입니다.

DefaultProjectExtension

REG_SZ

.figp

IDE에서 기본 파일 이름 확장명으로 이름으로 저장 작업을 사용 합니다.

Filter Settings

REG_DWORD

다양 한 문 및 표 다음 설명을 참조 하십시오.

이러한 설정은 UI 대화 상자에서 파일 표시에 대 한 다양 한 필터를 설정 하는 데 사용 됩니다.

@

REG_SZ

#%IDS_ADDITEM_TEMPLATES_ENTRY%

추가 항목 템플릿 리소스 ID입니다.

TemplatesDir

REG_SZ

%TEMPLATE_PATH%\FigPrjProjectItems

대화 상자에 표시 되는 프로젝트 항목의 경로 새 항목 추가 템플릿.

SortPriority

REG_DWORD

100 (vcprx64)

파일 표시의 트리 노드가 정렬 순서로 결정은 새 항목 추가 대화 상자.

위 코드 세그먼트에 사용할 수 있는 필터 옵션은 다음과 같습니다.

필터 옵션

설명

CommonFindFilesFilter

필터의 일반적인 필터 중 하나입니다의 파일에서 찾기 대화 상자. 일반 필터 하기 전에 일반적으로 표시 되지 않은 필터 필터 목록에 표시 됩니다.

CommonOpenFilesFilter

필터의 일반적인 필터 중 하나입니다의 파일 열기 대화 상자. 일반 필터 하기 전에 일반적으로 표시 되지 않은 필터 필터 목록에 표시 됩니다.

FindInFilesFilter

필터에 있는 필터 중 하나 임을 나타냅니다의 파일에서 찾기 대화 한 후 일반 필터가 나열 됩니다.

NotOpenFileFilter

필터에서 사용 되지 않습니다 것을 나타냅니다에 파일 열기 대화 상자.

NotAddExistingItemFilter

필터 추가에서 사용 되지 않습니다 것을 나타내는 기존 항목 대화 상자.

기본적으로, 더 이러한 플래그 집합을 필터를 하나 없을 경우 필터에 사용 되는 기존 항목 추가 대화 상자 및 해당 파일 열기 공통 필터 나열 된 후 대화 상자. 필터에 사용 되는 것은 파일에서 찾기 대화 상자.

다음 예제에서는 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\Projects] 키 아래에 위치 합니다.

예제

{FE3BBBB6-72D5-11d2-9ACE-00C04F79A2A4} (The CLSID for Enterprise Projects)
\{FE3BBBB6-72D5-11d2-9ACE-00C04F79A2A4}\AddItemTemplates\TemplateDirs\ {ACEF4EB2-57CF-11D2-96F4-000000000000}\1 (CLSID for projects of this type)
   @="#7"
   "TemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPrj\\FigPrjProjects"
   "SortPriority"=dword:00000029
   "NewProjectDialogOnly"=dword:00000000

Name

형식

데이터

설명

@

REG_SZ

#%IDS_NEWPROJ_ TEMPLATES_ENTRY%

새 프로젝트 서식 파일의 리소스 ID입니다.

TemplatesDir

REG_SZ

%TEMPLATE_PATH%\FigPrjProjects

기본적으로 등록 된 프로젝트 형식의 프로젝트에 대 한 경로.

SortPriority

REG_DWORD

41 (x29)

새 프로젝트 마법사 대화 상자에 표시 되는 프로젝트의 순서 집합을 정렬 합니다.

NewProjectDialogOnly

REG_DWORD

0

0이이 유형의 프로젝트를 새 프로젝트 대화 상자에 표시 되는지 나타냅니다.

다음 예제에서는 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\Projects] 키 아래에 위치 합니다.

예제

\{A2FE74E1-B743-11d0-AE1A-00A0C90FFFC3} (CLSID for Miscellaneous Files projects)
   @="Miscellaneous Files Project"
\AddItemTemplates\TemplateDirs\{ACEF4EB2-57CF-11D2-96F4-000000000000}\1
                                 (CLSID for Figures Project projects)
   @="#6"
   "TemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPkgs\\FigPrj\\                    FigPrjProjectItems"
   "SortPriority"=dword:00000064

Name

형식

데이터

설명

@

REG_SZ

없음

기본값을 다음 항목에 대 한 기타 파일 프로젝트 항목 임을 나타냅니다.

@

REG_SZ

#%IDS_ADDITEM_TEMPLATES_ENTRY%

새 항목 추가 템플릿 파일에 대 한 리소스 ID 값입니다.

TemplatesDir

REG_SZ

%TEMPLATE_PATH%\FigPrjProjectItems

에 표시 되는 항목의 기본 경로 새 항목 추가 대화 상자.

SortPriority

REG_DWORD

100 (vcprx64)

트리 노드를 표시 하기 위한 정렬 순서를 설정에서 새 항목 추가 대화 상자.

다음 예제에서는 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\Menus] 키 아래에 있습니다.

예제

"{ACEF4EB2-57CF-11D2-96F4-000000000000}"=",1000,1"

메뉴 항목은 IDE 메뉴 정보를 검색 하는 데 사용 되는 리소스를 가리킵니다. 이 데이터 메뉴 데이터베이스로 병합 된 때 같은 키 레지스트리 MenusMerged 절에 추가 됩니다. 있는 VSPackage 아무것도 MenusMerged 섹션에서 직접 수정할 수 없습니다. 다음 표에서 데이터 필드에는 세 개의 쉼표-구분 된-필드입니다. 첫 번째 필드 메뉴 리소스 파일의 전체 경로 식별합니다.

  • 첫 번째 필드를 지정 하지 않으면 메뉴 리소스 위성 DLL VSPackage guid에서 로드 됩니다.

두 번째 필드 CTMENU 형식의 메뉴 리소스 ID를 식별합니다.

  • 리소스 ID를 지정 하 여 파일 경로 제공 하는 경우 메뉴 리소스의 전체 파일 경로에서 로드 됩니다.

  • 리소스 ID를 사용 하지만 파일 경로가 없는 경우 메뉴 리소스 위성 DLL을 로드 합니다.

  • 전체 파일 경로 제공 하는 리소스 ID를 지정 하지 않으면 파일을 불러온된 CTO 파일 수 있어야 합니다.

마지막 필드의 버전 번호를 CTMENU 리소스를 식별합니다. 버전 번호를 변경 하 여 다시 메뉴를 병합할 수 있습니다.

Name

형식

데이터

설명

%Clsid_package%

REG_SZ

,1000,1

메뉴 정보를 검색 하는 리소스입니다.

다음 예제에서는 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\NewProjectTemplates] 키 아래에 위치 합니다.

\TemplateDirs\{ACEF4EB2-57CF-11D2-96F4-000000000000}\1                (CLSID for Figures Project projects)
   @="#7"
   "TemplatesDir"="<Visual Studio SDK installation path>\\VSIntegration\\Archive9.0\\FigPkgs\\FigPrj\\FigPrjProjects"
   "SortPriority"=dword:00000029
   "NewProjectDialogOnly"=dword:00000000

Name

형식

데이터

설명

@

REG_SZ

#%IDS_NEWPROJ_TEMPLATES_ENTRY%

그림 프로젝트 새 프로젝트 서식 파일의 리소스 ID 값입니다.

TemplatesDir

REG_SZ

%TEMPLATE_PATH%\FigPrjProjects

새 프로젝트 디렉터리의 기본 경로입니다. 이 디렉터리의 항목에 표시할 수 있는 새 프로젝트 마법사 대화 상자.

SortPriority

REG_DWORD

41 (x29)

프로젝트 표시 됩니다 트리 노드를 순서 대로 설정 하는 새 프로젝트 대화 상자.

NewProjectDialogOnly

REG_DWORD

0

이 종류의 프로젝트에만 표시 되도록 나타냅니다의 새 프로젝트 대화 상자.

다음 예제에서는 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\InstalledProducts] 키 아래에 있습니다.

\FiguresProductSample
   "Package"="{ACEF4EB2-57CF-11D2-96F4-000000000000}"
   "UseInterface"=dword:00000001

Name

형식

데이터

설명

Package

REG_SZ

%CLSID_Package%

등록 된 Vspackage의 클래스 ID입니다.

UseInterface

REG_DWORD

1

1 UI이이 프로젝트와 상호 작용 하는 데 사용 될 의미 합니다. 0 UI 인터페이스 없이 나타냅니다.

자주 새 프로젝트 형식을 제어 하는 The.vsz 파일에서 RELATIVE_PATH 항목 포함. 이 경로의 다음 설치 키의 프로젝트 형식 \ProductDir 항목에서 지정 된 경로에 상대적입니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.0Exp\Setup

예를 들어, 엔터프라이즈 프레임 워크 프로젝트 템플릿은 다음 레지스트리 항목을 추가합니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.0Exp\Setup\EF\ProductDir C:\Program 상자 Visual Studio\EnterpriseFrameworks\ =

즉, PROJECT_TYPE를 포함 하는 경우 = EF 항목.vsz 파일에.vsz 파일을 ProductDir 디렉터리에서 이전에 지정 된 환경 찾습니다.

참고 항목

개념

검사 목록: 새 프로젝트 형식 만들기

프로젝트 모델의 요소

프로젝트 공장을 사용 하 여 프로젝트 인스턴스 만들기