.Vsdir 파일을 사용하여 항목 추가 및 새 프로젝트 대화 상자에 마법사 추가

업데이트: 2007년 11월

VSDir 파일은 항목 추가 및 새 프로젝트 대화 상자에 항목이 표시되는 방법에 관한 정보를 제공하기 위해 사용자가 만드는 텍스트 파일이며, 확장명은 .vsdir입니다. 이 파일에 포함되는 정보로는 항목 이름, 항목 표시 순서 및 항목과 함께 표시되는 아이콘이 있습니다. 이러한 항목은 사용자가 변경할 수 있습니다. VSDir 파일은 항목 추가 및 새 프로젝트 대화 상자에 새 템플릿이나 마법사를 추가하는 데 사용됩니다.

기본 VSDir 파일은 없습니다. VSDir 파일이 있는 경우 Visual Studio는 그 파일을 읽고 파일의 내용을 대화 상자에 추가합니다. 이 파일이 없으면 기본 템플릿과 마법사가 표시됩니다. 같은 디렉터리에 VSDir 파일을 여러 개 넣을 수 있습니다. 이 경우 모든 파일의 내용이 대화 상자에 추가됩니다. 대개는 하나의 VSDir 파일에 여러 개의 마법사, 폴더 및 템플릿에 대한 레코드를 넣습니다. 파일에서 각 레코드는 줄 바꿈 문자에 의해 구분되며 파이프(|) 문자는 각 레코드의 필드를 구분하는 데 사용합니다. 의미 있는 데이터가 없는 선택적 필드에는 자리 표시자로 숫자 0이나 공백이 포함됩니다. 문자열을 필드에 입력할 때는 따옴표로 묶지 않아도 됩니다.

VSDir 파일 구성 요소

아래에 VSDir 예제 파일이 있습니다. 첫 번째 예제 파일에서는 단일 마법사, 즉 연습: 마법사 만들기 항목에서 만든 마법사를 참조합니다.

MyNewWizard.vsz| |A New Wizard|1|My New Wizard|C:\Addins\MyNewWizard\MyNewWizard\bin\Debug| | |MyNewWizard99

그 다음 VSDir 예제 파일에서는 각 마법사와 관련된 다른 정보(이 항목의 뒷부분에서 설명)와 함께 여러 마법사 .vsz 파일을 참조합니다. 이 파일은 리터럴 문자열이 아닌 리소스 ID 번호로 문자열을 참조한다는 점에서 이전 VSDir 파일과 다릅니다. 또한 DLL을 참조하기 위해 GUID를 사용합니다.

..\..\Projects\csharp building blocks\BusinessFacade.vsz|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|#5015|10|#5022|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|127|0|Project
..\..\Projects\csharp building blocks\BusinessRules.vsz|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|#5016|20|#5023|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|128|0|Project
..\..\Projects\csharp building blocks\DataAccess.vsz|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|#5017|30|#5024|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|129|0|Project
..\..\Projects\csharp building blocks\SystemFrameworks.vsz|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|#5018|40|#5025|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|130|0|Project
..\..\Projects\csharp building blocks\WebService.vsz|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|#5019|50|#5026|{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}|4547|1|WebService|Web
..\..\Projects\csharp building blocks\WebUI.vsz|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|#5020|60|#5027|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|131|1|WebUI|web
..\..\Projects\csharp building blocks\WinUI.vsz|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|#5021|70|#5028|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|132|0|Project

VSDir 파일에 있는 각 레코드에 대해 다음 필드를 지정할 수 있습니다.

필드

의미

RelPathName

필수적 요소. .vsz 마법사 파일의 이름(예: MyWizard.vsz)이며, Visual Studio 설치 디렉터리를 기준으로 한 상대 경로를 나타냅니다.

{clsidPackage}

선택적 요소. 지역화된 리소스를 포함하는 DLL이 들어 있는 제품(예: Visual C++)을 나타내는 GUID입니다. 일반적으로 타사의 마법사에 해당하는 VSDir 파일의 경우에는 이 필드가 비어 있습니다.

LocalizedName

선택적 요소. 마법사 또는 템플릿의 지역화 가능한 이름이며 항목 추가 대화 상자에 표시되는 이름입니다. #ResID 형식의 리소스 식별자 또는 문자열이 될 수 있습니다.

SortPriority

필수적 요소. 마법사의 상대적인 우선 순위 및 정렬 순서를 나타내는 정수입니다(최상위: 1). 예를 들어, "1"인 항목은 다른 1 항목 옆에 그리고 2 이상 항목 앞에 표시됩니다.

Description

필수적 요소. 템플릿 또는 마법사의 지역화 가능한 설명이며 항목을 선택할 때 항목 추가 대화 상자에 표시됩니다. #ResID 형식의 리소스 식별자 또는 문자열이 될 수 있습니다. 폴더를 제외한 템플릿 파일에만 적용됩니다.

DLLPath 또는 {clsidPackage}

필수적 요소. DLL 또는 EXE 파일에 대한 전체 경로 또는 마법사에 대해 로드할 아이콘을 포함하는 .dll 파일이 들어 있는 제품의 GUID를 지정합니다. 지정된 IconResourceId를 사용하여 DLL/EXE 파일에 있는 아이콘을 리소스로 로드합니다. 이 설정을 지정할 경우 이는 아이콘 위치에 대해 {clsidPackage}를 재정의합니다. 폴더를 제외한 템플릿 파일에만 적용됩니다.

IconResourceId

선택적 요소. DLL 파일 내에 있는 리소스 식별자이며 표시할 아이콘을 결정합니다. 정의된 아이콘이 없는 경우 항목과 동일한 확장명을 사용하는 파일에 대해 기본 아이콘을 사용합니다. 폴더를 제외한 템플릿 파일에만 적용됩니다.

Flags

선택적 요소. 아래의 Flags 설명과 표를 참조하십시오. 폴더를 제외한 템플릿 파일에만 적용됩니다.

SuggestedBaseName

필수적 요소. 대화 상자의 이름 필드에 표시되는 마법사의 기본 이름입니다. 이 이름은 #ResID 형식의 리소스 식별자 또는 문자열이 될 수 있습니다. 이름이 고유하지 않은 경우 IDE 환경에서 이름 끝에 정수를 추가합니다. 예를 들어, MyFile.aspx는 MyFile1.aspx로 변경됩니다. 제공된 이름이 없는 경우에는 "Project"가 사용됩니다. 폴더를 제외한 템플릿 파일에만 적용됩니다.

  • 설명
    의미 있는 데이터가 없는 선택적 필드는 숫자 0을 자리 표시자로 포함해야 합니다.

    지역화된 이름이 제공되지 않은 경우에는 상대 경로가 사용됩니다.

    정의된 아이콘이 없는 경우 IDE는 해당 확장명을 사용하는 파일에 대해 기본 아이콘을 사용합니다.

    제공된 기본 이름이 없는 경우에는 "Project"가 사용됩니다.

  • Flags
    항목 추가 대화 상자의 이름 및 위치 필드를 활성화하거나 비활성화하는 데 사용되는 비트 플래그 그룹입니다. 즉, 사용자가 추가 메뉴에서 새 항목 추가를 선택하면 프로젝트는 템플릿 창에 이름과 위치가 표시되는지 여부를 확인하고 플래그는 이름과 위치를 사용자가 사용할 수 있는지 여부를 확인합니다.

    Flags의 값을 개별 값의 합으로 설정합니다. 즉, 33은 VSDIRFLAG_NonLocalTemplate | VSDIRITEM_DisableLocationField와 같습니다.

    플래그 이름

    10진 값

    설명

    VSDIRFLAG_NonLocalTemplate

    1

    로컬이 아닌 사용자 인터페이스 동작을 사용하고 메커니즘을 저장합니다.

    VSDIRFLAG_BlankSolution

    2

    빈 솔루션을 만듭니다. 프로젝트는 만들지 않습니다.

    VSDIRFLAG_DisableBrowseButton

    4

    이 프로젝트나 항목에 대해 찾아보기 단추를 비활성화합니다.

    VSDIRFLAG_DontAddDefExtension

    8

    항목의 이름에 기본 확장명을 추가하지 않습니다. 프로젝트에는 이 설정을 사용할 수 없습니다.

    VSDIRFLAG_DisableLocationField

    32

    이 프로젝트나 항목에 대해 위치 필드를 비활성화합니다.

    VSDIRFLAG_DontInitNameField

    4096

    유효한 이름을 사용하여 이 프로젝트나 항목에 대해 이름 필드를 초기화하지 않습니다.

    VSDIRFLAG_DisableNameField

    8192

    이 프로젝트나 항목에 대해 이름 필드를 비활성화합니다.

참고 항목

작업

방법: 추가 기능 만들기

연습: 마법사 만들기

개념

마법사 디자인

마법사를 시작하도록 .Vsz 파일 구성

기타 리소스

추가 기능 및 마법사 만들기