프로젝트 템플릿 및 항목 템플릿 등록
프로젝트 형식에서 프로젝트 템플릿과 프로젝트 항목 템플릿이 있는 디렉터리를 등록해야 합니다. Visual Studio는 프로젝트 형식과 관련된 등록 정보를 사용하여 새 프로젝트 추가 및 새 항목 추가 대화 상자에 표시할 항목을 결정합니다.
템플릿에 대한 자세한 내용은 프로젝트 및 프로젝트 항목 템플릿 추가를 참조하세요.
프로젝트의 레지스트리 항목
다음 예제에서는 HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\<버전>의 레지스트리 항목을 보여 줍니다. 함께 제공되는 표에서는 예제에 사용된 요소를 설명합니다.
[Projects\{ProjectGUID}]
@="MyProjectType"
"DisplayName"="#2"
"Package"="{VSPackageGUID}"
"ProjectTemplatesDir"="C:\\MyProduct\\MyProjectTemplates"
이름 | 형식 | 설명 |
---|---|---|
@ | REG_SZ | 이 형식의 프로젝트 기본 이름입니다. |
DisplayName | REG_SZ | 패키지 아래에 등록된 위성 DLL에서 검색할 이름의 리소스 ID입니다. |
Package(패키지) | REG_SZ | 패키지 아래에 등록된 패키지의 클래스 ID입니다. |
ProjectTemplatesDir | REG_SZ | 프로젝트 템플릿 파일의 기본 경로입니다. 프로젝트 템플릿 파일은 새 프로젝트 템플릿에 의해 표시됩니다. |
항목 템플릿 등록
항목 템플릿을 저장하는 디렉터리를 등록해야 합니다.
[Projects\{ProjectGUID}\AddItemTemplates\TemplateDirs\{VSPackageGUID}\1]
@="#7"
"TemplatesDir"="C:\\MyProduct\\MyProjectItemTemplates "
"TemplatesLocalizedSubDir"="#10"
"SortPriority"=dword:00000064
이름 | 형식 | 설명 |
---|---|---|
@ | REG_SZ | 항목 추가 템플릿의 리소스 ID입니다. |
TemplatesDir | REG_SZ | 새 항목 추가 마법사의 대화 상자에 표시되는 프로젝트 항목의 경로입니다. |
TemplatesLocalizedSubDir | REG_SZ | 지역화된 템플릿이 있는 TemplatesDir의 하위 디렉터리 이름을 지정하는 문자열의 리소스 ID입니다. Visual Studio는 위성 DLL이 있으면 여기에서 문자열 리소스를 로드하므로 각 위성 DLL에 다른 지역화된 하위 디렉터리 이름이 포함될 수 있습니다. |
SortPriority | REG_DWORD | SortPriority를 설정하여 새 항목 추가 대화 상자에 템플릿이 표시되는 순서를 제어합니다. SortPriority 값이 클수록 템플릿 목록 앞부분에 나타납니다. |
파일 필터 등록
필요한 경우 파일 이름을 묻는 메시지가 표시될 때 Visual Studio에서 사용하는 필터를 등록할 수 있습니다. 예를 들어 파일 열기 대화 상자의 Visual C# 필터는 다음과 같습니다.
Visual C# Files (*.cs,*.resx,*.settings,*.xsd,*.wsdl);*.cs,*.resx,*.settings,*.xsd,*.wsdl)
필터 여러 개를 등록할 수 있도록 각 필터는 HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\<버전>\Projects\{<ProjectGUID>}\Filters\<하위 키>에 있는 자체 하위 키에 등록됩니다. 하위 키 이름은 임의입니다. Visual Studio는 하위 키 이름을 무시하고 해당 값만 사용합니다.
다음 표에 표시된 플래그를 설정하여 필터가 사용되는 컨텍스트를 제어할 수 있습니다. 필터에 플래그가 설정되어 있지 않으면 기존 항목 추가 대화 상자와 파일 열기 대화 상자의 일반 필터 뒤에 나열되지만 파일에서 찾기 대화 상자에서는 사용되지 않습니다.
[Projects\{ProjectGUID}\Filters\MyLanguageFilter]
@="#3"
"CommonOpenFilesFilter"=dword:00000000
"CommonFindFilesFilter"=dword:00000000
"FindInFilesFilter"=dword:00000000
"NotOpenFileFilter"=dword:00000000
"NotAddExistingItemFilter"=dword:00000000
"SortPriority"=dword:00000064
이름 | 형식 | 설명 |
---|---|---|
CommonFindFilesFilter | REG_DWORD | 필터를 파일에서 찾기 대화 상자의 일반 필터 중 하나로 만듭니다. 공통 필터는 공통으로 표시되지 않은 필터보다 먼저 필터 목록에 나열됩니다. |
CommonOpenFilesFilter | REG_DWORD | 필터를 파일 열기 대화 상자의 일반 필터 중 하나로 만듭니다. 공통 필터는 공통으로 표시되지 않은 필터보다 먼저 필터 목록에 나열됩니다. |
FindInFilesFilter | REG_DWORD | 필터를 파일에서 찾기 대화 상자의 일반 필터 뒤에 나열합니다. |
NotOpenFileFilter | REG_DWORD | 필터가 파일 열기 대화 상자에서 사용되지 않음을 나타냅니다. |
NotAddExistingItemFilter | REG_DWORD | 필터가 기존 항목 추가 대화 상자에서 사용되지 않음을 나타냅니다. |
SortPriority | REG_DWORD | 필터가 표시되는 순서를 제어하도록 SortPriority를 설정합니다. SortPriority 값이 클수록 필터 목록 앞부분에 나타납니다. |
디렉터리 구조
VSPackage는 위치가 IDE(통합 개발 환경)를 통해 등록되는 한 로컬 또는 원격 디스크 어디에나 템플릿 파일과 폴더를 배치할 수 있습니다. 그러나 조직 편의성을 위해 제품 설치 경로 아래에서 다음 디렉터리 구조를 사용하는 것이 좋습니다.
\Templates
\Projects(프로젝트 템플릿 포함)
\Applications
\Components
\ProjectItems(프로젝트 항목 포함)
\Class
\Form
\Web Page
\HelperFiles(다중 파일 프로젝트 항목에 사용되는 파일 포함)
\WizardFiles