Método IVsCompletionSet.OnCommit
Determina como o texto é concluído.
Namespace: Microsoft.VisualStudio.TextManager.Interop
Assembly: Microsoft.VisualStudio.TextManager.Interop (em Microsoft.VisualStudio.TextManager.Interop.dll)
Sintaxe
'Declaração
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
Parâmetros
pszSoFar
Tipo: String[in] O texto digitado até agora.
iIndex
Tipo: Int32[in] Identificando a conclusão da correspondência definir item de índice.
fSelected
Tipo: Int32[in] Indica se um item de conclusão é selecionado na caixa de auto-completar. Se true, em seguida, o valor da pszSoFar parâmetro é substituído pelo texto retornado por GetDisplayText. Se true, isso indica que uma S_OK retorno com o valor da pbstrCompleteWord igual a pszSoFar é o comportamento padrão apropriado. O valor padrão para fSelected é true.
cCommit
Tipo: UInt16[in] Último caractere que foi digitado.
pbstrCompleteWord
Tipo: String%[out] Retorna a palavra completa.
Valor de retorno
Tipo: Int32
Se o método for bem-sucedido, ele retorna S_OK.Se ele falhar, ele retorna um código de erro.
Comentários
COM assinatura
De textmgr.idl:
HRESULT IVsCompletionSet::OnCommit(
[in] const WCHAR *pszSoFar,
[in] long iIndex,
[in] BOOL fSelected,
[in] WCHAR cCommit,
[out] BSTR *pbstrCompleteWord
);
Implemente este método para personalizar quando e como as conclusões de instrução são comprometidos com o texto.
O comportamento padrão faz com que uma confirmação se o usuário pressionar qualquer um dos caracteres padrão de conclusão. Os caracteres de preenchimento padrão são quaisquer caracteres não alfanuméricos, com exceção de "~" e "_". Substituição de texto em Submeter somente ocorrerá se um item de texto que melhor corresponda selecionado atualmente na caixa de lista de soltar de conclusão de instrução. É esse texto que substitui o texto digitado até agora.
Este método é chamado somente se um valor de CSF_CUSTOMCOMMIT é especificado para a conclusão definir sinalizadores. Esse método é chamado uma vez para cada caractere que o usuário digita enquanto a conclusão da instrução está ativa.
Se esse método retorna S_FALSE, nenhum comprometimento ocorre e o caractere é inserido como um caractere de normal (não concluir).
Dica
Não retornam S_FALSE se o caractere é um guia ou CTRL-ENTER, pois esses são casos de confirmação de imposto.
Se esse método retorna S_OK, uma confirmação ocorre. Se fSelected é true, em seguida, o valor retornado em pbstrCompleteWord substitui o texto digitado até agora. Se fSelected é false ou retornado pbstrCompleteWord o valor é nulluma referência nula (Nothing no Visual Basic), e em seguida, o texto existente não é substituído em Submeter.
Exemplos
Este é um exemplo do método 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;
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiável.