Commands2.AddNamedCommand2(AddIn, String, String, String, Boolean, Object, Object[], Int32, Int32, vsCommandControlType) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает команду с именем, которая сохраняется средой и становится доступной при следующем запуске среды, даже если модуль настроек при запуске среды не загружается.
EnvDTE::Command AddNamedCommand2(EnvDTE::AddIn const & AddInInstance, std::wstring const & Name, std::wstring const & ButtonText, std::wstring const & Tooltip, bool MSOButton, winrt::Windows::Foundation::IInspectable const & Bitmap, std::Array <winrt::Windows::Foundation::IInspectable const &> const & & ContextUIGUIDs, int vsCommandStatusValue = 3, int CommandStyleFlags = 3, EnvDTE80::vsCommandControlType ControlType = EnvDTE80.vsCommandControlType.vsCommandControlTypeButton);
[System.Runtime.InteropServices.DispId(20)]
public EnvDTE.Command AddNamedCommand2 (EnvDTE.AddIn AddInInstance, string Name, string ButtonText, string Tooltip, bool MSOButton, object Bitmap, ref object[] ContextUIGUIDs, int vsCommandStatusValue = 3, int CommandStyleFlags = 3, EnvDTE80.vsCommandControlType ControlType = EnvDTE80.vsCommandControlType.vsCommandControlTypeButton);
[<System.Runtime.InteropServices.DispId(20)>]
abstract member AddNamedCommand2 : EnvDTE.AddIn * string * string * string * bool * obj * Object[] * int * int * EnvDTE80.vsCommandControlType -> EnvDTE.Command
Public Function AddNamedCommand2 (AddInInstance As AddIn, Name As String, ButtonText As String, Tooltip As String, MSOButton As Boolean, Optional Bitmap As Object, Optional ByRef ContextUIGUIDs As Object(), Optional vsCommandStatusValue As Integer = 3, Optional CommandStyleFlags As Integer = 3, Optional ControlType As vsCommandControlType = EnvDTE80.vsCommandControlType.vsCommandControlTypeButton) As Command
Параметры
- Name
- String
Обязательный. Краткая форма имени новой команды. AddNamedCommand2(AddIn, String, String, String, Boolean, Object, Object[], Int32, Int32, vsCommandControlType) использует предваряющие надстройки. ProgID. для создания уникального имени.
- ButtonText
- String
Обязательный. Имя, отображаемое для данной команды в ИП.
- Tooltip
- String
Обязательный. Текст, отображаемый, когда пользователь наводит указатель мыши на любой элемент управления, который имеет привязку к новой команде.
- MSOButton
- Boolean
Обязательный элемент. Этот параметр должен содержать значение false.
- Bitmap
- Object
Необязательный параметр. Идентификатор растрового рисунка, который будет отображен на кнопке.
Точечный рисунок может быть одним из следующих:
- Конкретного Bitmap
- Ранне Icon
- Ипиктуре - Идентификатор ресурса точечного рисунка 16x16 (но не ресурса значка), предоставляемый надстройкой. Visual Studio сначала выполнит поиск во вспомогательной библиотеке DLL надстройки. Если ресурс не найден в этом расположении, будет выполнен поиск библиотеки DLL надстройки.
- ContextUIGUIDs
- Object[]
Необязательный параметр. Идентификаторы GUID, которые определяют, в каком контексте среды (другими словами, в режиме отладки, режиме конструктора и т. д.) отображается команда.
- vsCommandStatusValue
- Int32
Необязательный параметр. Определяет, является ли отключенное состояние команды невидимым или отключенным при указании параметра контекстуигуидс и в данный момент не активны. См. раздел vsCommandDisabledFlags.
- CommandStyleFlags
- Int32
Необязательный параметр. Один из vsCommandStyle флагов, в частности vsCommandStylePict , vsCommandStylePictAndText или vsCommandStyleText .
- ControlType
- vsCommandControlType
Необязательный параметр. Определяет тип элемента управления, добавляемого при создании пользовательского интерфейса.
Возвращаемое значение
Созданная команда с именем.
- Атрибуты
Комментарии
Надстройки могут позже изменить ButtonText имя, отменив его на QueryStatus метод. Если текст начинается с #, остальная часть строки представляет собой целое число, представляющее идентификатор ресурса в зарегистрированной вспомогательной библиотеке DLL надстройки.
Существует два состояния команд по умолчанию: состояние включения по умолчанию и состояние видимости по умолчанию. Эти состояния по умолчанию важны, если не удается найти обработчик команд (поскольку компонент не загружен или не реализован IDTCommandTarget ). Если компонент загружен и реализуется IDTCommandTarget , значения по умолчанию никогда не применяются.
Существуют два интересных случая, где используются состояния по умолчанию:
Вы предоставляете идентификаторы GUID контекста пользовательского интерфейса с помощью
ContextUIGUIDsпараметра. В этом случае видимость полностью определяется предоставленными идентификаторами GUID контекста. Если контекст активен, команда будет видима, в противном случае она будет скрыта. Включенное состояние полностью определяется значениями по умолчанию. По умолчанию в Visual Studio команда всегда включена, если вы передаете Вскомманддисабледфлагсгрэй, то состояние по умолчанию будет отключено. Если вы передадите Вскомманддисабледфлагсенаблед или просто не указывайте этот параметр, состояние по умолчанию — Enabled (включено).Идентификаторы GUID контекста пользовательского интерфейса не предоставляются с помощью
ContextUIGUIDsпараметра. В этом случае видимость зависит от флагов, которые вы передали вvsCommandStatusValueили в состояние по умолчанию. Видимость команд по умолчанию в VS должна быть видимой. Если вы передадите Вскомманддисабледфлагшидден здесь, значение по умолчанию будет невидимым. Включенное состояние аналогично указанному в случае 1 выше (определяется флагами и/или поведением VS по умолчанию).
Надстройка может принимать уведомления о вызовах через IDTCommandTarget интерфейс. Кнопку можно добавить с помощью OnConnection метода IDTExtensibility2 интерфейса.