Share via


ProvideLanguageEditorOptionPageAttribute 클래스

정의

언어 서비스의 편집기 도구 옵션 페이지를 설정하는 일반적인 방법을 제공합니다.

public ref class ProvideLanguageEditorOptionPageAttribute sealed : Microsoft::VisualStudio::Shell::ProvideOptionDialogPageAttribute
public ref class ProvideLanguageEditorOptionPageAttribute sealed : Microsoft::VisualStudio::Shell::ProvideOptionDialogPageAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideLanguageEditorOptionPageAttribute : Microsoft.VisualStudio.Shell.ProvideOptionDialogPageAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideLanguageEditorOptionPageAttribute = class
    inherit ProvideOptionDialogPageAttribute
Public NotInheritable Class ProvideLanguageEditorOptionPageAttribute
Inherits ProvideOptionDialogPageAttribute
상속
ProvideLanguageEditorOptionPageAttribute
특성

예제

이 예제에서는 이 사용자 정의 특성을 사용하여 두 개의 속성 페이지("일반" 및 "들여쓰기")와 "들여쓰기" 속성 페이지가 포함된 속성 페이지 노드("Formatting")를 등록하는 방법을 보여 줍니다. 생성자에 대한 두 번째 매개 변수가 노드를 기준으로 레지스트리의 위치를 지정하는 방법을 확인합니다.

참고

Visual C#을 사용하면 이름의 "특성" 부분을 삭제하여 사용자 정의 특성의 약식 형식을 사용할 수 있습니다. 이 약식 양식은 이 클래스 전체의 다른 모든 예제에서 사용됩니다.

using Microsoft.VisualStudio.Shell;  

namespace MyLanguagePackage  
{  
    internal class MyConstants  
    {  
        public const string languageName                = "MyLanguage";  
        public const string formattingNodeResIDAsString = "#108";  
        public const string generalPageResIDAsString    = "#109";  
        public const string indentPageResIDAsString     = "#110";  
    }  

    [ProvideLanguageEditorOptionPage(MyConstants.languageName,  
                                     "General",  // property page  
                                     MyConstants.generalPageResIDAsString,  
        // Optional language service properties  
        OptionPageGuid = "{12434534-cecd-48e7-a866-45cad2e8b169}"  
                                    )]  
    [ProvideLanguageEditorOptionPage(MyConstants.languageName,  
                                     "Formatting",  // property node  
                                     MyConstants.formattingNodeResIDAsString  
                                    )]  
    [ProvideLanguageEditorOptionPage(MyConstants.languageName,  
                                     @"Formatting\Indent",  // property page  
                                     MyConstants.indentPageResIDAsString,  
        // Optional language service properties  
        OptionPageGuid = "{12434556-cecd-48e7-a866-45cad2e8b169}"  
                                    )]  

    class MyLanguagePackage  
    {  
    }  
}  

설명

이 정보는 레지스트리 키 <RegistrationRoot>\Languages\Language Services\[language]\EditorToolsOptions에 저장됩니다. 여기서 [language]는 언어의 이름입니다.

EditorToolsOptions 아래에는 여러 수준을 중첩할 수 있는 페이지 및 하위 페이지의 트리가 있습니다. 이러한 페이지는 편집기용 Visual Studio Tools 옵션에 표시되는 옵션 페이지에 해당합니다(옵션 페이지의 트리가 언어 이름 아래에 표시되고 각 페이지에 적절한 옵션이 포함됨).

이 옵션 페이지 목록의 각 키에는 페이지의 지역화된 이름을 포함하는 리소스 ID 또는 리터럴 문자열이 포함되어 있습니다. 도구 옵션 대화 상자에 실제로 표시되는 내용입니다. 또한 패키지 GUID와 옵션 페이지의 GUID(선택 사항)도 포함됩니다.

옵션 페이지 GUID가 없는 경우 키는 옵션 트리의 노드로 간주되며 연결된 페이지가 없습니다. 그렇지 않으면 키가 트리의 리프이고 해당 옵션 페이지가 표시됩니다.

이 특성의 인스턴스가 여러 개 있을 수 있으며 각 instance 노드 또는 속성 페이지를 지정합니다. 특성은 임의의 순서로 표시할 수 있습니다. 속성 페이지 GUID를 지정하면 속성 페이지가 등록되고, 그렇지 않으면 등록된 노드입니다.

언어 서비스에는 다음과 같은 사용자 정의 특성이 사용됩니다.

attribute Description
ProvideLanguageServiceAttribute Visual Studio에 언어 서비스를 등록하고 지원되는 기능을 지정합니다.
ProvideLanguageExtensionAttribute 파일 확장자를 언어 서비스와 연결합니다.
ProvideLanguageEditorOptionPageAttribute 언어 서비스와 관련된 옵션 대화 상자의 속성 노드 또는 페이지를 지정합니다.
ProvideLanguageCodeExpansionAttribute 언어 서비스에서 코드 조각을 지원할 위치 정보를 지정합니다.
ProvideServiceAttribute 언어 서비스를 Visual Studio 서비스로 등록합니다. 관리 코드에 제공된 모든 서비스는 이 특성을 사용합니다.

상속자 참고

이 특성 클래스는 에서 상속할 수 없으므로 구현할 것이 없습니다.

호출자 참고

이 특성 클래스는 모든 클래스에 나타날 수 있지만 일반적으로 기본 VSPackage 클래스에 적용됩니다. 이 특성 클래스는 속성 페이지 트리의 각 속성 페이지 및 노드에 대해 한 번 순서에 따라 여러 번 표시할 수 있습니다.

생성자

ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, Int32)

ProvideLanguageEditorOptionPageAttribute의 새 instance 인스턴스화합니다.

ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, String)

ProvideLanguageEditorOptionPageAttribute의 새 instance 인스턴스화합니다.

ProvideLanguageEditorOptionPageAttribute(Type, String, String, String, String, String[])

ProvideLanguageEditorOptionPageAttribute의 새 instance 인스턴스화합니다.

속성

IsInUnifiedSettings

새 등록을 만들어 이 페이지의 설정이 통합 설정에 온보딩되었는지 여부를 나타내는 값을 가져오거나 설정합니다. true이면 통합 설정을 사용하도록 설정하면 페이지가 숨겨지므로 설정이 중복되지 않습니다.

Keywords

키워드를 가져옵니다.

LanguageName

언어의 이름을 가져옵니다.

PageGuid

옵션 페이지의 GUID를 가져옵니다.

PageNameResourceId

페이지의 이름 리소스 ID를 가져옵니다.

(다음에서 상속됨 ProvideOptionDialogPageAttribute)
PageType

페이지의 형식을 가져옵니다.

(다음에서 상속됨 ProvideOptionDialogPageAttribute)
TypeId

RegistrationAttribute 파생 클래스가 System.ComponentModel.TypeDescriptor.GetAttributes(...)에서 작동하도록 하려면 TypeID 속성을 재정의합니다. 이 속성에서 파생된 특성은 클래스에 적용할 수 있는 인스턴스에 대한 더 나은 제어가 필요한 경우에만 이 속성을 재정의해야 합니다.

(다음에서 상속됨 RegistrationAttribute)

메서드

GetPackageRegKeyPath(Guid)

VSPackage의 레지스트리 경로(애플리케이션의 레지스트리 루트를 기준으로)를 가져옵니다.

(다음에서 상속됨 RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

클래스 생성자가 지정한 대로 모든 레지스트리 키와 항목을 만듭니다.

Unregister(RegistrationAttribute+RegistrationContext)

모든 레지스트리 키 및 항목을 제거합니다.

적용 대상