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
- Атрибуты
Примеры
В этом примере показано, как этот пользовательский атрибут используется для регистрации двух страниц свойств ("Общие" и "Отступ") и узла страницы свойств ("Форматирование"), содержащего страницу свойств "Отступ". Обратите внимание, что второй параметр конструктора указывает положение в реестре относительно узла.
Примечание
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\[язык]\EditorToolsOptions, где [language] — это имя языка.
В разделе EditorToolsOptions — это дерево страниц и вложенных страниц, которые могут вложить любое количество уровней. Эти страницы соответствуют страницам параметров, отображаемым в Инструменты Visual Studio Параметры для редакторов (где под названием языка отображается дерево страниц параметров, каждая страница содержит соответствующие параметры).
Каждый ключ в списке страниц этого параметра содержит идентификатор ресурса или литеральную строку, содержащую локализованное имя страницы. Это то, что фактически отображается в диалоговом окне Параметры инструментов. Кроме того, он также содержит GUID пакета и при необходимости GUID страницы параметров.
Если guid страницы параметра отсутствует, ключ считается узлом в дереве параметров и не имеет связанной страницы. В противном случае ключ является листом в дереве, и будет показана его страница параметров.
Существует несколько экземпляров этого атрибута, и каждый экземпляр указывает узел или страницу свойств. Атрибуты могут отображаться в любом порядке. Если указан GUID страницы свойств, то страница свойств регистрируется, в противном случае это узел, который регистрируется.
Для языковых служб используются следующие определяемые пользователем атрибуты:
attribute | Описание |
---|---|
ProvideLanguageServiceAttribute | Регистрирует языковую службу в Visual Studio и указывает, какие функции поддерживаются. |
ProvideLanguageExtensionAttribute | Связывает расширение файла с языковой службой. |
ProvideLanguageEditorOptionPageAttribute | Указывает узел свойств или страницу для диалогового окна Параметры, относяскогося к языковой службе. |
ProvideLanguageCodeExpansionAttribute | Указывает сведения о расположении для поддержки фрагментов кода в языковой службе. |
ProvideServiceAttribute | Регистрирует языковую службу в качестве службы Visual Studio. Все службы, предоставляемые в управляемом коде, используют этот атрибут. |
Примечания для тех, кто наследует этот метод
Этот класс атрибута не может быть унаследован от , поэтому реализовать нечего.
Примечания для тех, кто вызывает этот метод
Этот класс атрибутов обычно применяется к основному классу 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) |
Удаляет все разделы реестра и записи. |