ProvideLanguageEditorOptionPageAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供設定語言服務編輯器工具選項頁面的一般方法。
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」 屬性頁的屬性頁節點 (「格式化」) 。 請注意建構函式的第二個參數如何指定相對於節點的登錄位置。
注意
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 [選項] 中所顯示的選項頁面, (其中選項頁面樹狀結構會顯示在語言名稱下,每個包含適當選項的頁面) 。
這個選項頁面清單中的每個索引鍵都包含資源識別碼或常值字串,其中包含頁面的當地語系化名稱。 這是 [工具選項] 對話框中實際顯示的內容。 此外,它也包含封裝 GUID,以及選擇性地包含選項頁面的 GUID。
如果沒有選項頁面 GUID,則會將索引鍵視為選項樹狀結構中的節點,而且沒有相關聯的頁面。 否則,索引鍵是樹狀結構中的分葉,而且會顯示其選項頁面。
這個屬性可以有多個實例,而每個實例都會指定節點或屬性頁。 屬性可以依任何順序顯示。 如果指定屬性頁 GUID,則會註冊屬性頁,否則為已註冊的節點。
下列使用者定義的屬性會用於語言服務:
屬性 | Description |
---|---|
ProvideLanguageServiceAttribute | 向 Visual Studio 註冊語言服務,並指定支援哪些功能。 |
ProvideLanguageExtensionAttribute | 將擴展名與語言服務產生關聯。 |
ProvideLanguageEditorOptionPageAttribute | 指定語言服務專屬之 [選項] 對話框的屬性節點或頁面。 |
ProvideLanguageCodeExpansionAttribute | 指定支援語言服務代碼段的位置資訊。 |
ProvideServiceAttribute | 將語言服務註冊為 Visual Studio 服務。 Managed 程式代碼中提供的所有服務都會使用這個屬性。 |
給繼承者的注意事項
這個屬性類別無法繼承自 ,因此不會實作任何專案。
給呼叫者的注意事項
這個屬性類別通常會套用至您的主要 VSPackage 類別,不過它可以出現在任何類別上。 這個屬性類別可以多次出現,而且依任何順序顯示屬性頁樹狀結構中的每個屬性頁和節點一次。
建構函式
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 |
取得頁面的名稱資源識別碼。 (繼承來源 ProvideOptionDialogPageAttribute) |
PageType |
取得頁面的類型。 (繼承來源 ProvideOptionDialogPageAttribute) |
TypeId |
覆寫 TypeID 屬性,讓 RegistrationAttribute 衍生類別使用 System.ComponentModel.TypeDescriptor.GetAttributes (...) 。衍生自這個屬性的屬性必須覆寫此屬性,只有在實例上需要更好的控件,才能套用至類別。 (繼承來源 RegistrationAttribute) |
方法
GetPackageRegKeyPath(Guid) |
取得相對於 VSPackage 應用程式) 之登錄根目錄的登錄路徑 (。 (繼承來源 RegistrationAttribute) |
Register(RegistrationAttribute+RegistrationContext) |
建立類別建構函式所指定的所有登錄機碼和專案。 |
Unregister(RegistrationAttribute+RegistrationContext) |
拿掉所有登錄機碼和專案。 |