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
属性

この例では、このユーザー定義属性を使用して、"Indent" プロパティ ページを含む 2 つのプロパティ ページ ("General" と "Indent") とプロパティ ページ ノード ("Formatting") を登録する方法を示します。 コンストラクターの 2 番目のパラメーターで、ノードに対する相対的なレジストリ内の位置を指定する方法に注意してください。

注意

Visual C# では、名前の "Attribute" 部分を削除することで、ユーザー定義属性の短縮形を使用できます。 この短縮形は、このクラス全体のこのおよび他のすべての例で使用されます。

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 がない場合、キーはオプションのツリー内のノードと見なされ、関連付けられたページはありません。 それ以外の場合、キーはツリー内のリーフであり、そのオプション ページが表示されます。

この属性には複数のインスタンスがあり、各インスタンスはノードまたはプロパティ ページを指定します。 属性は任意の順序で表示できます。 プロパティ ページ GUID が指定されている場合は、プロパティ ページが登録されます。それ以外の場合は、登録されているノードです。

言語サービスには、次のユーザー定義属性が使用されます。

属性 説明
ProvideLanguageServiceAttribute 言語サービスを Visual Studio に登録し、サポートされる機能を指定します。
ProvideLanguageExtensionAttribute ファイル拡張子を言語サービスに関連付けます。
ProvideLanguageEditorOptionPageAttribute 言語サービスに固有の [オプション] ダイアログ ボックスのプロパティ ノードまたはページを指定します。
ProvideLanguageCodeExpansionAttribute 言語サービスでコード スニペットをサポートする場所情報を指定します。
ProvideServiceAttribute 言語サービスを Visual Studio サービスとして登録します。 マネージド コードで提供されるすべてのサービスでは、この属性が使用されます。

注意 (継承者)

この属性クラスは から継承できないため、実装するものはありません。

注意 (呼び出し元)

この属性クラスは通常、プライマリ VSPackage クラスに適用されますが、任意のクラスで使用できます。 この属性クラスは、プロパティ ページ ツリーのプロパティ ページとノードごとに 1 回ずつ、複数回、任意の順序で表示できます。

コンストラクター

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

ProvideLanguageEditorOptionPageAttribute の新しいインスタンスをインスタンス化します。

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

ProvideLanguageEditorOptionPageAttribute の新しいインスタンスをインスタンス化します。

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

ProvideLanguageEditorOptionPageAttribute の新しいインスタンスをインスタンス化します。

プロパティ

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)

すべてのレジストリ キーとエントリを削除します。

適用対象