설정 범주 만들기
이 연습에서는 Visual Studio 설정 범주를 만들고 이를 사용하여 설정 파일에 값을 저장하고 값을 복원합니다. 설정 범주는 "사용자 지정 설정 지점"으로 나타나는 관련 속성 그룹입니다. 즉, 가져오기 및 내보내기 설정 마법사의 확인란입니다. (도구 메뉴에서 찾을 수 있습니다.) 설정은 범주로 저장되거나 복원되며 개별 설정은 마법사에 표시되지 않습니다. 자세한 내용은 환경 설정을 참조하세요.
DialogPage 클래스에서 파생하여 설정 범주를 만듭니다.
이 연습을 시작하려면 먼저 옵션 만들기 페이지의 첫 번째 섹션을 완료해야 합니다. 결과 옵션 속성 그리드를 사용하면 범주의 속성을 검사하고 변경할 수 있습니다. 속성 범주를 설정 파일에 저장한 후 파일을 검사하여 속성 값이 저장되는 방식을 확인합니다.
설정 범주 만들기
이 섹션에서는 사용자 지정 설정 지점을 사용하여 설정 범주의 값을 저장하고 복원합니다.
설정 범주를 만들려면
옵션 만들기 페이지를 완료합니다.
VSPackage.resx 파일을 열고 다음의 세 가지 문자열 리소스를 추가합니다.
속성 값 106 내 범주 107 내 설정 108 OptionInteger 및 OptionFloat 이렇게 하면 범주 이름이 "내 범주"이고 개체가 "내 설정"이며 범주 설명이 "OptionInteger 및 OptionFloat"인 리소스가 만들어집니다.
참고 항목
이 세 가지 중 범주 이름만 가져오기 및 내보내기 설정 마법사에 표시되지 않습니다.
MyToolsOptionsPackage.cs에서 다음 예제와 같이
OptionFloat
라는float
속성을OptionPageGrid
클래스에 추가합니다.public class OptionPageGrid : DialogPage { private int optionInt = 256; private float optionFloat = 3.14F; [Category("My Options")] [DisplayName("My Integer option")] [Description("My integer option")] public int OptionInteger { get { return optionInt; } set { optionInt = value; } } [Category("My Options")] [DisplayName("My Float option")] [Description("My float option")] public float OptionFloat { get { return optionFloat; } set { optionFloat = value; } } }
참고 항목
"My Category"라는
OptionPageGrid
범주는 이제OptionInteger
및OptionFloat
의 두 가지 속성으로 구성됩니다.MyToolsOptionsPackage
클래스에 ProvideProfileAttribute을 추가하고 CategoryName에 "My Category", ObjectName에 "My Settings"를 지정하고, isToolsOptionPage를 true로 설정합니다. categoryResourceID, objectNameResourceID 및 DescriptionResourceID를 이전에 만든 해당 문자열 리소스 ID로 설정합니다.[ProvideProfileAttribute(typeof(OptionPageGrid), "My Category", "My Settings", 106, 107, isToolsOptionPage:true, DescriptionResourceID = 108)]
프로젝트를 빌드하고 디버깅을 시작합니다. 이제 실험적 인스턴스의 내 그리드 페이지에 정수 및 부동 소수점 값이 모두 있는 것을 볼 수 있습니다.
설정 파일 검사
이 섹션에서는 속성 범주 값을 설정 파일로 내보냅니다. 파일을 검사한 후 값을 속성 범주로 다시 가져옵니다.
F5 키를 눌러 디버그 모드에서 프로젝트를 시작합니다. 그러면 실험적 인스턴스가 시작됩니다.
도구>옵션 대화 상자가 열립니다.
왼쪽 창의 트리 보기에서 내 범주를 확장한 다음, 내 그리드 페이지를 클릭합니다.
OptionFloat 값을 3.1416으로, OptionInteger 값을 12로 변경합니다. 확인을 클릭합니다.
도구 메뉴에서 설정 가져오기 및 내보내기를 선택합니다.
설정 가져오기 및 내보내기 마법사가 표시됩니다.
선택한 환경 설정 내보내기가 선택되어 있는지 확인한 후 다음을 클릭합니다.
내보낼 설정 선택 페이지가 나타납니다.
내 설정을 클릭합니다.
설명이 OptionInteger 및 OptionFloat로 변경됩니다.
내 설정이 선택된 유일한 범주인지 확인한 후 다음을 클릭합니다.
설정 파일 이름 지정 페이지가 나타납니다.
새 설정 파일의 이름을 MySettings.vssettings로 지정하고 적절한 디렉터리에 저장합니다. Finish를 클릭합니다.
.vssettings
파일은 Visual Studio 설정 파일입니다. 파일의 스키마가 열려 있습니다. 가장 일반적으로 스키마는 각 범주가 태그인 XML 구조를 따르며, 태그 자체에는 하위 범주 태그가 포함될 수 있습니다. 이러한 하위 범주 태그에는 속성 값 태그가 포함될 수 있습니다. 대부분의 패키지는 공통 구조를 사용하지만 Visual Studio의 모든 패키지는 선택한 스키마를 사용하여 파일에 임의 XML을 제공할 수 있습니다.내보내기 완료 페이지에 설정이 내보내졌다고 보고됩니다.
파일 메뉴에서 열기를 가리킨 다음 파일을 클릭합니다. MySettings.vssettings를 찾아서 엽니다.
내보낸 속성 범주는 파일의 다음 섹션에서 찾을 수 있습니다(GUID는 다를 수 있음).
<Category name="My Category_My Settings" Category="{4802bc3e-3d9d-4591-8201-23d1a05216a6}" Package="{6bb6942e-014c-489e-a612-a935680f703d}" RegisteredName="My Category_My Settings"> PackageName="MyToolsOptionsPackage"> <PropertyValue name="OptionFloat">3.1416</PropertyValue> <PropertyValue name="OptionInteger">12</PropertyValue> </Category>
전체 범주 이름은 범주 이름에 밑줄을 추가하고 그 뒤에 개체 이름을 추가하여 구성됩니다. OptionFloat 및 OptionInteger는 내보낸 값과 함께 범주에 나타납니다.
설정 파일을 변경하지 않고 닫습니다.
도구 메뉴에서 옵션을 클릭하고 내 범주를 확장하고 내 그리드 페이지를 클릭한 다음, OptionFloat 값을 1.0으로, OptionInteger 값을 1로 변경합니다. 확인을 클릭합니다.
도구 메뉴에서 가져오기 및 내보내기 설정을 클릭하고 선택한 환경 설정 가져오기를 선택한 후 다음을 클릭합니다.
현재 설정 저장 페이지가 나타납니다.
아니요. 새 설정만 가져옵니다를 선택한 후 다음을 클릭합니다.
가져올 설정 컬렉션 선택 페이지가 나타납니다.
트리 뷰의 내 설정 노드에서 MySettings.vssettings 파일을 선택합니다. 파일이 트리 뷰에 표시되지 않으면 찾아보기를 클릭하여 찾습니다. 다음을 클릭합니다.
가져올 설정 선택 대화 상자가 나타납니다.
내 설정이 선택되었는지 확인한 다음, 마침을 클릭합니다. 가져오기 완료 페이지가 나타나면 닫기를 클릭합니다.
도구 메뉴에서 옵션을 클릭하고, 내 범주를 확장한 후 내 그리드 페이지를 클릭하고 속성 범주 값이 복원되었는지 확인합니다.