옵션 페이지를 사용 하 여
Visual Studio 자동화 모델을 제공의 DTE Vspackages에 액세스할 수 있도록 개체는 옵션 대화 상자에는 도구 메뉴입니다.
일반적으로 페이지의 옵션 대화 상자 액세스 자동화 모델을 사용 하 여 페이지를 제공 하는 여부를 Visual Studio 통합된 개발 환경 (IDE) 나가 있는 VSPackage. 그러나 일부의 예외가, 다음과 같은:
설정에는 동적 도움말 페이지를 프로그래밍 방식으로 액세스할 수 없습니다. 해당 동적 도움말 자동화 모델을 사용 하 여 기능을 제어할 수 있습니다 하지만 코드에서 직접 제어를 수행 해야 합니다. 자세한 내용은 How to: Control the Dynamic Help Window를 참조하십시오.
제어 하는 글꼴 및 색 페이지 설정을 않는 자동화 모델을 통해 자체 API를 통해 제공 됩니다. 자세한 내용은 글꼴를 참조하십시오.
특정 언어 관련 속성 자동화 모델을 통해 가져올 수 없습니다.
옵션 에서 지원 하지 않는 페이지의 Visual Studio 자동화 모델은 자동화를 반환 하지 않습니다 수 있습니다 Properties 쿼리 했을 때 컬렉션입니다. 컬렉션을 반환 하면 모든 기능이 있습니다. 이러한 기능을 관리 하는 방법에 대 한 자세한 내용은 DTE 속성 컬렉션.
옵션 페이지 관리
관리할 수 옵션 해야 합니다 있는 VSPackage 페이지를 가져올는 DTE 개체는 자동화 모델에서입니다.
참고
설치 설정 쿼리 및 변경 하 여 자동화 모델을 사용 하 여 있는 Vspackage에 때 옵션 페이지를 하지 않는 확장할 IDE 기능입니다.따라서 패키지 자동화 개체를 구현 하지 않아도 됩니다.
얻을 수 있는 DTE 자동화 모델에서는 호출을 통해 개체는 QueryService 메서드 서비스 ID 인수를 제공 하 고 SID_SDTE 및 인터페이스 인수를 IID__DTE, 다음과 같이.
pServiceProvider->QueryService(SID_SDTE, IID__DTE, (LPVOID*)pDTE);
얻을 수는 DTE 관리 패키지 프레임 워크 (MPF)를 호출 하 여 개체의 GetService 메서드를 제공 하 고는 serviceType 형식의 매개 변수를 SDTE.
Dim vsEnvironment As DTE = DirectCast(GetService(GetType(SDTE)), DTE)
DTE vsEnvironment = (DTE)GetService(typeof(SDTE));
옵션 페이지가 두 식별자가 지정 됩니다. 첫째 식별자를 포함 하는 폴더를 나타내는 문자열입니다 있는 옵션 페이지입니다. 둘째 식별자는 해당 폴더에 있는 특정 항목을 나타내는 문자열입니다. 이 이름으로 참조 하는 있는 옵션 페이지 범주와 하위 범주, 또는 해당 주제 및 하위 주제입니다.
예를 들어, 텍스트 편집기 설정 처리 기본 코드에 대 한 탐색 창으로 있는 기본 의 멤버는 텍스트 편집기 폴더. 범주에 대 한 식별자입니다 TextEditor 및 해당 하위 범주입니다 Basic, 및 옵션 페이지 자체 라고는 TextEditor.Basic 페이지입니다.
참고
다른 원인에 대 한 지역화 이름 표시 옵션 페이지 범주와 하위 범주 식별자로 사용 되는 문자열의 형식입니다.자동화를 사용 하 여 다른 곳에서 설명 하지 않은 경우 IDE 올바른 식별자를 얻어야 합니다 쿼리 합니다 할 수 있습니다.레지스트리 위치 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\입니다< VS 버전 >\AutomationProperties, 어디 < VS 버전 > 의 출시 된 버전 번호입니다 Visual Studio.자세한 내용은 사용자 지정 옵션 페이지 등록를 참조하십시오.
등록에 대 한 정보를 얻을 수 있습니다의 TextEditor.Basic 페이지를 통해 다음 예제를 사용 하 여 자동화 모델입니다.
CComPtr<_DTE> srpDTE;
CComPtr<Properties> srpDTEPropertiesList;
hr = srpDTE->get_Properties("TextEditor", "Basic", &srpDTEPropertiesList);
MPF를 사용 하 여 속성을 가져올 수 있는 Properties 메서드.
Dim propertiesList As Properties = vsEnvironment.get_Properties("TextEditor", "Basic")
If propertiesList Is Nothing Then
' The specified properties collection is not available.
Exit Sub
End If
Properties propertiesList = vsEnvironment.get_Properties("TextEditor", "Basic");
if (null == propertiesList)
{
// The specified properties collection is not available.
return;
}
Item 메서드가 반환에서 개별 설정의 Properties 컬렉션으로는 Property 개체입니다.
범주 및 하위 범주에는 고유 문자열 식별자 각 설정이 있습니다. 예를 들어, 있는 탭 크기 에서 설정 하는 TextEditor.Basic 페이지는 문자열로 식별 됩니다 TabSize.
참고
다른 원인에 대 한 지역화 이름 표시 옵션 페이지 식별자를 설정 하는 데 사용 되는 문자열에서 달라질 수 있습니다.자동화를 사용 하 여 다른 곳에서 설명 하지 않은 경우 IDE 올바른 식별자를 얻어야 합니다 쿼리 합니다 할 수 있습니다.
사용할 수 있습니다는 Value 의 Property 반환 하는 개체는 Item 메서드는 Properties 컬렉션을 쿼리하고 설정 상태를 변경 하.
설정 방법에 대 한의 탭 크기 에서 설정 하는 TextEditor.Basic 자동화 모델을 사용 하는 페이징할은 Properties 다음 예제에서 반환 된 개체.
CComPtr<Property> srpProperty;
hr = srpDTEPropertiesList->Item("TabSize", &srpProperty);
hr= srpProperty.set_Value(4);
다음은 업데이트 하는 방법을 보여 줍니다 있는 탭 크기 MPF를 사용 하 여 설정 합니다.
Dim tabSize As [Property] = propertiesList.Item("TabSize")
Dim oldSize As Short = CShort(tabSize.Value)
Dim message As String
If oldSize <> 4 Then
tabSize.Value = 4
message = String.Format(CultureInfo.CurrentUICulture, "For Basic, the Text Editor had a tab size of {0}" & " and now has a tab size of {1}.", oldSize, tabSize.Value)
Else
message = String.Format(CultureInfo.CurrentUICulture, "For Basic, the Text Editor has a tab size of {0}.", tabSize.Value)
End If
Property tabSize = propertiesList.Item("TabSize");
short oldSize = (short)tabSize.Value;
string message;
if (oldSize != 4)
{
tabSize.Value = 4;
message = string.Format(CultureInfo.CurrentUICulture,
"For Basic, the Text Editor had a tab size of {0}" +
" and now has a tab size of {1}.", oldSize, tabSize.Value);
}
else
{
message = string.Format(CultureInfo.CurrentUICulture,
"For Basic, the Text Editor has a tab size of {0}.", tabSize.Value);
}
MessageBox.Show(message, "Text Editor, Basic, Tab Size:",
MessageBoxButtons.OK, MessageBoxIcon.Information,
MessageBoxDefaultButton.Button1, 0);
자세한 내용은 옵션 설정 제어를 참조하십시오.
옵션 페이지 설정 유지
IDE의 상태 지 속성 구현 옵션 완벽 하 게 지원 되는 페이지의 Visual Studio 자동화 모델입니다.
IDE에 포함 된 페이지에서 설정 된 자동 저장 (또는 검색) 사용자를 클릭할 때의 가져오기/내보내기 설정 에 있는 도구 메뉴.
사용자 지정을 사용할 수 있습니다 옵션 이 자동 지 속성 지원을 추가 하 여 사용 하는 페이지의 ProfileSave 플래그를 사용자 지정 하려면 옵션 페이지 아래에 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\ 레지스트리 항목< VS 버전 >\AutomationProperties, 어디 < VS 버전 > 의 출시 된 버전 번호입니다 Visual Studio. 자세한 내용은 사용자 지정 옵션 페이지 등록를 참조하십시오.
참고 항목
작업
참조
개념
Interop 어셈블리를 사용 하 여 옵션 페이지를 만들기