다음과 같은 두 가지 종류의 설정 저장소가 있습니다.
읽기 전용 Visual Studio 및 VSPackage 설정인 구성 설정입니다. Visual Studio는 알려진 모든 .pkgdef 파일의 설정을 이 저장소에 병합합니다.
사용자 설정은 옵션 대화 상자, 속성 페이지, 기타 특정 대화 상자의 페이지에 표시되는 설정과 같은 쓰기 가능한 설정입니다. Visual Studio 확장은 소량의 데이터의 로컬 스토리지로 사용할 수 있습니다.
이 연습에서는 구성 설정 저장소에서 데이터를 읽는 방법을 보여 줍니다. 사용자 설정 저장소에 쓰기 방법에 대한 설명은 사용자 설정 저장소에 쓰기를 참조하세요.
예제 프로젝트 만들기
이 섹션에서는 데모의 메뉴 명령을 사용하여 간단한 확장 프로젝트를 만드는 방법을 보여 줍니다.
모든 Visual Studio 확장은 확장 자산을 포함하는 VSIX 배포 프로젝트로 시작합니다.
SettingsStoreExtension이라는 Visual Studio VSIX 프로젝트를 만듭니다. Visual C# / 확장성에 있는 새 프로젝트 대화 상자에서 VSIX 프로젝트 템플릿을 찾을 수 있습니다.이제 SettingsStoreCommand라는 사용자 지정 명령 항목 템플릿을 추가합니다. 새 항목 추가 대화 상자에서 Visual C# / 확장성으로 이동해 사용자 지정 명령을 선택합니다. 창 아래의 이름 필드에서 명령 파일 이름을 SettingsStoreCommand.cs로 바꿉니다. 사용자 지정 명령을 만드는 방법에 대한 자세한 내용은 메뉴 명령을 사용하여 확장 만들기를 참조하세요.
구성 설정 저장소 사용
이 섹션에서는 구성 설정을 검색하고 표시하는 방법을 보여 줍니다.
SettingsStorageCommand.cs 파일에서 다음 using 지시문을 추가합니다.
using System.Collections.Generic; using Microsoft.VisualStudio.Settings; using Microsoft.VisualStudio.Shell.Settings; using System.Windows.Forms;MenuItemCallback에서 메서드의 본문을 제거하고 다음 줄을 추가하면 구성 설정 저장소가 표시됩니다.SettingsManager settingsManager = new ShellSettingsManager(ServiceProvider); SettingsStore configurationSettingsStore = settingsManager.GetReadOnlySettingsStore(SettingsScope.Configuration);ShellSettingsManager는 IVsSettingsManager 서비스를 통한 관리 도우미 클래스입니다.
이제 Windows Phone 도구가 설치되어 있는지 확인합니다. 코드는 다음과 유사합니다.
private void MenuItemCallback(object sender, EventArgs e) { SettingsManager settingsManager = new ShellSettingsManager(ServiceProvider); SettingsStore configurationSettingsStore = settingsManager.GetReadOnlySettingsStore(SettingsScope.Configuration); bool arePhoneToolsInstalled = configurationSettingsStore.CollectionExists(@"InstalledProducts\Microsoft Windows Phone Developer Tools"); string message = "Microsoft Windows Phone Developer Tools: " + arePhoneToolsInstalled; MessageBox.Show(message); }코드를 테스트합니다. 프로젝트를 빌드하고 디버깅을 시작합니다.
실험적 인스턴스에서 도구 메뉴의 SettingsStoreCommand 호출을 클릭합니다.
Microsoft Windows Phone 개발자 도구:라는 메시지 상자가 표시되고 그 뒤에 True 또는 False가 표시됩니다.
Visual Studio는 설정 저장소를 시스템 레지스트리에 보관합니다.
레지스트리 편집기를 사용하여 구성 설정을 확인하려면
Regedit.exe를 엽니다.
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0Exp_Config\InstalledProducts\로 이동합니다.
참고 항목
\14.0_Config\가 아닌 \14.0Exp_Config\가 포함된 키를 보고 있는지 확인합니다. Visual Studio의 실험적 인스턴스를 실행할 때 구성 설정은 레지스트리 하이브 “14.0Exp_Config”에 있습니다.
\Installed Products\ 노드를 확장합니다. 이전 단계의 메시지가 Microsoft Windows Phone 개발자 도구 설치: True인 경우 \Installed Products\에 Microsoft Windows Phone 개발자 도구 노드가 포함되어야 합니다. 메시지가 Microsoft Windows Phone 개발자 도구 설치: False인 경우 \Installed Products\에 Microsoft Windows Phone 개발자 도구 노드가 포함되어서는 안 됩니다.