ProvideOptionPageAttribute クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この属性を独立したオブジェクトに適用して、ユーザーがカスタムの [ツール オプション] ページを使用して VSPackage を構成できるようにします。
public ref class ProvideOptionPageAttribute sealed : Microsoft::VisualStudio::Shell::ProvideOptionDialogPageAttribute
public ref class ProvideOptionPageAttribute sealed : Microsoft::VisualStudio::Shell::ProvideOptionDialogPageAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideOptionPageAttribute : Microsoft.VisualStudio.Shell.ProvideOptionDialogPageAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideOptionPageAttribute = class
inherit ProvideOptionDialogPageAttribute
Public NotInheritable Class ProvideOptionPageAttribute
Inherits ProvideOptionDialogPageAttribute
- 継承
- 属性
例
次の例では、 のProvideOptionPageAttributeインスタンスが VSPackage 実装に適用され、 から派生した DialogPageクラス DesignerOptionsPage
を登録し、VSPackage に [ツール オプション] ページを提供しています。
から DialogPage 派生したクラスには、オーバーライドできる Visual Studio 設定機能の既定の実装が用意されています。 例のように ProvideProfileAttribute 、VSPackage 実装に適用されている場合、IDE はこの Visual Studio 設定のサポートを利用します。 Visual Studio 設定のサポートの詳細については、「 ユーザー設定とオプションの拡張」を参照してください。
using Microsoft.VisualStudio.Shell;
namespace Example
{
[DefaultRegistryRoot("Software\\Microsoft\\VisualStudio\\8.0")]
[ProvideOptionPage(typeof(DesignerOptionsPage), "MyDesigner", "OptionPage", 1000, 1001, true)]
[ProvideProfileAttribute(typeof(DesignerOptionsPage), "MyDesigner", "OptionPage", 1002, 1003, true)]
[ProvideProfileAttribute(typeof(PersistCurrentDesign), "MyDesigner","CurrentDesign", 1004, 1005, false)]
[Guid("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")]
public class MyPackage : Package
{
//Implementation here
}
[Guid("YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY")]
internal class DesignerOptionsPage: DialogPage {
//Implementation here
}
[Guid("ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ")]
internal class PersistCurrentDesign: IProfileManager {
//Implementation here
}
注釈
実装側の注意
VSPackage を ProvideOptionPageAttribute 実装するクラスに を適用します。 この属性を使用すると、特定の独立したオブジェクトが、カスタム の [ツール オプション] ページを使用して VSPackage のユーザーに構成アクセスを提供することを登録できます。
属性コンテキスト
適用対象 | VSPackage では、マネージド パッケージ フレームワークDialogPageを介して実装されたカスタム ツール オプション ページを使用するか、Visual Studio SDK コードを使用して構成できます。 |
反復可能 | Yes |
必須属性 | DefaultRegistryRootAttribute |
無効な属性 | なし |
呼び出し元に関する注意事項
この属性は登録目的でのみ使用され、コードの実行時の動作には影響しません。
はProvideOptionPageAttribute、Visual Studio 設定メカニズムを使用して VSPackage の状態の一部またはすべてを永続化するための特定の VSPackage サポートを提供する、 または DialogPage を実装IProfileManagerする特定のクラスを登録します。 実装クラスによって永続化される状態情報は Visual Studio 設定カテゴリと呼ばれ、レジストリ内の定義エントリはカスタム設定ポイントと呼ばれます。
注意
Managed Package Framework ベースのカスタム ツール オプション ページが読み込まれると、IDE によって、実装としてによって ProvideOptionPageAttribute 登録されたオブジェクトがインスタンス化されます。 マネージド パッケージ フレームワーク ツール オプション ページのサポートは、VSPackage 自体ではなく、独自のオブジェクトに実装する必要があります。
のインスタンスの作成と適用の ProvideOptionPageAttribute詳細については、次 ProvideOptionPageAttributeの および の例を参照してください。
コンストラクター
ProvideOptionPageAttribute(Type, String, String, Int16, Int16, Boolean, Int32) |
ProvideOptionPageAttribute の新しいインスタンスをインスタンス化します。 |
ProvideOptionPageAttribute(Type, String, String, Int16, Int16, Boolean, String) |
ProvideOptionPageAttribute の新しいインスタンスをインスタンス化します。 |
ProvideOptionPageAttribute(Type, String, String, Int16, Int16, Boolean, String[]) |
ProvideOptionPageAttribute の新しいインスタンスをインスタンス化します。 |
プロパティ
CategoryDescriptionResourceId |
ページの親カテゴリのローカライズされた説明を含むリソースの ID。 このプロパティは、SupportsAutomation == true および SupportsProfiles == true の場合にのみ使用されます。 ローカライズされた説明は、インポート/エクスポート設定ウィザードに表示されます。 |
CategoryName |
[ツール オプション] ページのカテゴリの標準の非ローカライズ名を取得します。 |
CategoryPackageGuid |
このページが登録されているカテゴリを所有するパッケージの ID。 これが設定されていない場合、パッケージはこの属性が適用されるパッケージであると見なされます。 このプロパティは、SupportsAutomation == true および SupportsProfiles == true の場合にのみ使用されます。 Guid.ToString("B") を使用して Guid からこれを生成します。 |
CategoryResourceID |
[ツール オプション] ページのカテゴリ リソース ID を取得します。 |
DescriptionResourceId |
ページのローカライズされた説明を含むリソースの ID。 このプロパティは、SupportsAutomation == true および SupportsProfiles == true の場合にのみ使用されます。 ローカライズされた説明は、インポート/エクスポート設定ウィザードに表示されます。 |
IsInUnifiedSettings |
このページの設定が新しい登録の作成によって統合設定にオンボードされているかどうかを示す値を取得または設定します。 true の場合、統合設定が有効になっている場合、ページは非表示になるため、その設定は重複しません。 |
IsServerAware |
ISettingsManager3 または同様の機能を持つ API を使用して、接続されたクライアント サーバー シナリオでサーバーと同期される設定をこのページの UI に表示するかどうかを示す値を取得または設定します。 |
Keywords |
このオプション ページの検索可能なキーワードを取得します。 各キーワード (keyword)には、リテラル文字列、単一のキーワード (keyword)を指すリソース名/ID (プレフィックスは "@"/"#")、セミコロンで区切られたキーワードの一覧を指すリソース名/ID (プレフィックスは "@"/"#") を指定できます。 |
NoShowAllView |
集計された [ツール オプション] ページを表示するかどうかを取得または設定します。 |
PageName |
[ツール オプション] ページの標準の非ローカライズ名を取得します。 |
PageNameResourceId |
ページの名前リソース ID を取得します。 (継承元 ProvideOptionDialogPageAttribute) |
PageType |
ページの種類を取得します。 (継承元 ProvideOptionDialogPageAttribute) |
ProfileMigrationType |
プロファイルの移行の種類を設定します。 |
ProvidesLocalizedCategoryName |
パッケージにカテゴリ名のローカライズされたリソースがあるかどうかを判断します。 |
Sort |
オプション ページの並べ替え順序。 オプション ページは、次の順序で照合されます。
|
SupportsAutomation |
[ツール オプション] ページの実装でオートメーションがサポートされているかどうかを取得します。 |
SupportsProfiles |
[ツール オプション] ページの実装で Visual Studio 設定メカニズムを使用してその状態を保持するかどうかを取得または設定します。 |
TypeId |
の現在のインスタンスを ProvideOptionPageAttribute取得します。 |
UnifiedSettingsCategoryMoniker |
= false のページ IsInUnifiedSettings の場合、統合設定階層の親カテゴリのモニカーを取得または設定します。 これは、既に存在するモニカー、または存在するモニカーに 1 つ追加の '.' を加えたものにすることができます。-delimited segment。 後者の場合は、 という CategoryResourceID 名前の新しいカテゴリが統合設定階層に作成され、このページが挿入されます。 それ以外の場合、このページは既存のカテゴリの下に挿入されます。 |
VisibilityCmdUIContexts |
UIContext GUID のセミコロン区切りリスト。 オプション ページは、リスト内の UIContext がアクティブな場合に表示されます。 これが指定されていない場合、オプション ページは常に表示されます。 |
メソッド
GetPackageRegKeyPath(Guid) |
VSPackage のレジストリ パス (アプリケーションのレジストリ ルートに対する相対パス) を取得します。 (継承元 RegistrationAttribute) |
Register(RegistrationAttribute+RegistrationContext) |
[ツール オプション] ページを登録します。 |
Unregister(RegistrationAttribute+RegistrationContext) |
レジストリから [ツール オプション] ページ キーを削除します。 |