다중 파일 항목 템플릿 만들기
항목 템플릿은 하나의 항목만 지정할 수 있지만 항목이 여러 파일로 구성되는 경우가 있습니다. 예를 들어 Windows Forms 항목 템플릿에는 다음 3개 파일이 필요합니다.
양식에 대한 코드가 들어 있는 파일
양식에 대한 디자이너 정보가 들어 있는 파일
양식에 대한 포함 리소스가 들어 있는 파일
다중 파일 항목 템플릿에는 항목을 만들 때 올바른 파일 확장명을 사용하도록 매개 변수가 필요합니다. 템플릿 내보내기 마법사를 사용하여 다중 파일 항목 템플릿을 만드는 경우 이러한 매개 변수가 자동으로 생성되므로 더 이상 편집할 필요가 없습니다.
템플릿 내보내기 마법사 사용
단일 파일 항목 템플릿과 동일한 방식으로 다중 파일 항목 템플릿을 만들 수 있습니다. 방법: 항목 템플릿 만들기를 참조하세요. 마법사의 내보낼 항목 선택 페이지에서 종속 파일(예: Windows Forms 양식 파일)을 가진 파일을 선택합니다. 마법사에서 디자이너 및 리소스 파일과 같은 종속 파일을 템플릿에 자동으로 포함합니다.
수동으로 다중 파일 항목 템플릿 만들기
단일 파일 항목 템플릿을 수동으로 만들 때처럼 항목 템플릿을 만들되, 다중 파일 항목을 구성 하는 각 파일을 포함합니다.
.vstemplate XML 파일에서 각 개별 파일에 대한
ProjectItem
요소를 추가하고 이 요소에TargetFileName
특성을 추가합니다.TargetFileName
특성 값을 $fileinputname$.FileExtension으로 설정합니다. 여기서 FileExtension은 템플릿에 포함될 파일의 파일 확장명입니다. 예시:<ProjectItem TargetFileName="$fileinputname$.vb"> Form1.vb </ProjectItem> <ProjectItem TargetFileName="$fileinputname$.Designer.vb"> Form1.Designer.vb </ProjectItem> <ProjectItem TargetFileName="$fileinputname$.resx"> Form1.resx </ProjectItem>
참고 항목
이 템플릿에서 파생된 항목이 프로젝트에 추가되면 파일 이름은 사용자가 새 항목 추가 대화 상자에 입력한 이름에서 파생됩니다.
템플릿에 포함할 파일을 선택하고 마우스 오른쪽 단추를 클릭한 다음 보내기>압축(ZIP) 폴더를 선택합니다.
선택한 파일이 .zip 파일로 압축됩니다.
.zip 파일을 사용자 항목 템플릿 위치에 복사합니다. 기본적으로 이 디렉터리는 %USERPROFILE%\Documents\Visual Studio <버전>\Templates\ItemTemplates입니다. 자세한 내용은 방법: 템플릿 찾기 및 구성을 참조하세요.
Visual Studio를 종료한 다음 다시 엽니다.
새 프로젝트를 만들거나 기존 프로젝트를 연 다음, 프로젝트>새 항목 추가를 선택하거나 Ctrl+Shift+A를 누릅니다.
새 항목 추가 대화 상자에 다중 파일 항목 템플릿이 나타납니다.
예시
다음 예제에서는 Windows Forms 템플릿을 보여 줍니다. 이 템플릿을 기반으로 항목이 생성되면 생성된 3개 파일의 이름은 새 항목 추가 대화 상자에 입력된 이름과 일치합니다.
<VSTemplate Version="2.0.0" Type="Item"
xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>Multi-file Item Template</Name>
<Icon>Icon.ico</Icon>
<Description>An example of a multi-file item template</Description>
<ProjectType>VisualBasic</ProjectType>
</TemplateData>
<TemplateContent>
<ProjectItem TargetFileName="$fileinputname$.vb" SubType="Form">
Form1.vb
</ProjectItem>
<ProjectItem TargetFileName="$fileinputname$.Designer.vb">
Form1.Designer.vb
</ProjectItem>
<ProjectItem TargetFileName="$fileinputname$.resx">
Form1.resx
</ProjectItem>
</TemplateContent>
</VSTemplate>