Поделиться через


IVsCompletionSet.OnCommit - метод

Указывает, что текст завершено.

Пространство имен:  Microsoft.VisualStudio.TextManager.Interop
Сборка:  Microsoft.VisualStudio.TextManager.Interop (в Microsoft.VisualStudio.TextManager.Interop.dll)

Синтаксис

'Декларация
Function OnCommit ( _
    pszSoFar As String, _
    iIndex As Integer, _
    fSelected As Integer, _
    cCommit As UShort, _
    <OutAttribute> ByRef pbstrCompleteWord As String _
) As Integer
int OnCommit(
    string pszSoFar,
    int iIndex,
    int fSelected,
    ushort cCommit,
    out string pbstrCompleteWord
)
int OnCommit(
    [InAttribute] String^ pszSoFar, 
    [InAttribute] int iIndex, 
    [InAttribute] int fSelected, 
    [InAttribute] unsigned short cCommit, 
    [OutAttribute] String^% pbstrCompleteWord
)
abstract OnCommit : 
        pszSoFar:string * 
        iIndex:int * 
        fSelected:int * 
        cCommit:uint16 * 
        pbstrCompleteWord:string byref -> int
function OnCommit(
    pszSoFar : String, 
    iIndex : int, 
    fSelected : int, 
    cCommit : ushort, 
    pbstrCompleteWord : String
) : int

Параметры

  • pszSoFar
    Тип: String

    [in] текст печатанное на данный момент.

  • iIndex
    Тип: Int32

    [in] индекс, определяющий элемент набора завершений совпадения.

  • fSelected
    Тип: Int32

    [in] указывающее, выбран ли элемент завершения в окне завершения. If GetDisplayTextзатем значение trueпараметр заменяется текстом, возвращаемым by pszSoFar . If trueэто означает, что S_OK возвращает значение pbstrCompleteWord равно pszSoFar соответствующую по умолчанию применяются расширения функциональности. По умолчанию для атрибута fSelected используется значение true.

  • cCommit
    Тип: UInt16

    [in] последний знак, типизирован.

  • pbstrCompleteWord
    Тип: String%

    [out] возвращает полное машинное слово.

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

Тип: Int32
Если метод завершается успешно, возвращается S_OK.Если происходит сбой, возвращается код ошибки.

Заметки

Модель COM подписи

Из textmgr.idl:

HRESULT IVsCompletionSet::OnCommit(
   [in] const WCHAR *pszSoFar,
   [in] long iIndex,
   [in] BOOL fSelected,
   [in] WCHAR cCommit,
   [out] BSTR *pbstrCompleteWord
);

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

По умолчанию функциональности вызывает фиксацию, если пользователь нажимает все стандартные символы завершения. Стандартные символы завершения все символы, отличные от буквенно-цифровых, кроме "~" и "_". Замена текста происходит при фиксации, только если максимально точного соответствия текстовый элемент в данный момент выбран в списке завершения выписки удаления. Это текст, который заменит текст печатанное на данный момент.

Этот метод вызывается, только если значение CSF_CUSTOMCOMMIT определяет для флагов набора завершений. Этот метод вызывается один раз для каждого символа этого пользовательские типы во время выполнения выписки активно.

Если этот метод вернул S_FALSEнет commit не происходит и символ вставляется как обычный (non-завершая).

Примечание

Не возвращайте S_FALSE если символ " a " Табуляция OR CTRL-ENTERпоскольку эти принужденные варианты фиксации.

Если этот метод вернул S_OK, фиксация происходит. If fSelected существует trueпосле этого в возвращаемое значение pbstrCompleteWord заменяет текст печатанное на данный момент. If fSelected существует false либо возвращаемое pbstrCompleteWord значение nullссылка NULL (Nothing в Visual Basic), затем существующий текст не заменяется, фиксацией.

Примеры

Ниже приведен пример метода OnCommit.

STDMETHODIMP CFigStatementCompletion::OnCommit(
   /*[in] */ const WCHAR *pszSoFar,
   /*[in] */ long iIndex,
   /*[in] */ BOOL fSelected,
   /*[in] */ WCHAR cCommit,
   /*[out]*/ BSTR *pbstrCompleteWord )
{
      if (IsCharAlphaNumeric(cCommit) || cCommit == ':' || cCommit == '_')
       {
              // continue trying to match without completion
              return S_FALSE;
       }
       if (null == pbstrCompleteWord)
         return E_POINTER;
       *pbstrCompleteWord = SysAllocString(m_vecCompletions[ iIndex ]);
       return S_OK;
}

Безопасность платформы .NET Framework

См. также

Ссылки

IVsCompletionSet Интерфейс

Microsoft.VisualStudio.TextManager.Interop - пространство имен