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

Параметры

AddInInstance
AddIn

Обязательный. Объект AddIn , который добавляет новую команду.

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

Необязательный параметр. Определяет тип элемента управления, добавляемого при создании пользовательского интерфейса.

Возвращаемое значение

Command

Созданная команда с именем.

Атрибуты

Комментарии

Надстройки могут позже изменить ButtonText имя, отменив его на QueryStatus метод. Если текст начинается с #, остальная часть строки представляет собой целое число, представляющее идентификатор ресурса в зарегистрированной вспомогательной библиотеке DLL надстройки.

Существует два состояния команд по умолчанию: состояние включения по умолчанию и состояние видимости по умолчанию. Эти состояния по умолчанию важны, если не удается найти обработчик команд (поскольку компонент не загружен или не реализован IDTCommandTarget ). Если компонент загружен и реализуется IDTCommandTarget , значения по умолчанию никогда не применяются.

Существуют два интересных случая, где используются состояния по умолчанию:

  1. Вы предоставляете идентификаторы GUID контекста пользовательского интерфейса с помощью ContextUIGUIDs параметра. В этом случае видимость полностью определяется предоставленными идентификаторами GUID контекста. Если контекст активен, команда будет видима, в противном случае она будет скрыта. Включенное состояние полностью определяется значениями по умолчанию. По умолчанию в Visual Studio команда всегда включена, если вы передаете Вскомманддисабледфлагсгрэй, то состояние по умолчанию будет отключено. Если вы передадите Вскомманддисабледфлагсенаблед или просто не указывайте этот параметр, состояние по умолчанию — Enabled (включено).

  2. Идентификаторы GUID контекста пользовательского интерфейса не предоставляются с помощью ContextUIGUIDs параметра. В этом случае видимость зависит от флагов, которые вы передали в vsCommandStatusValue или в состояние по умолчанию. Видимость команд по умолчанию в VS должна быть видимой. Если вы передадите Вскомманддисабледфлагшидден здесь, значение по умолчанию будет невидимым. Включенное состояние аналогично указанному в случае 1 выше (определяется флагами и/или поведением VS по умолчанию).

Надстройка может принимать уведомления о вызовах через IDTCommandTarget интерфейс. Кнопку можно добавить с помощью OnConnection метода IDTExtensibility2 интерфейса.

Применяется к