IVsCompletionSet.OnCommit-Methode
Bestimmt, wie Text abgeschlossen ist.
Namespace: Microsoft.VisualStudio.TextManager.Interop
Assembly: Microsoft.VisualStudio.TextManager.Interop (in Microsoft.VisualStudio.TextManager.Interop.dll)
Syntax
'Declaration
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
Parameter
pszSoFar
Typ: String[in] Der bisher eingegebenen Text.
iIndex
Typ: Int32[in] Der Index, der das Element identifiziert abschlusses beachten.
fSelected
Typ: Int32[in] Gibt an, ob ein Element Schließen im Feld Vervollständigung aktiviert ist. Wenn true, wird der Wert des pszSoFar-Parameters durch den Text ersetzt wird, der von GetDisplayTextzurückgegeben wurde. Wenn true, das angibt, dass eine S_OK Rückgabe mit dem Wert von pbstrCompleteWord gleich pszSoFar entsprechendes Standardverhalten ist. Der Standardwert von fSelected lautet true.
cCommit
Typ: UInt16[in] letzten Zeichen eingegeben wurde.
pbstrCompleteWord
Typ: String%[out] Gibt das vollständige Wort zurück.
Rückgabewert
Typ: Int32
Wenn die Methode erfolgreich ausgeführt, gibt sie S_OKzurück.Bei einem Fehler wird ein Fehlercode zurückgegeben.
Hinweise
COM-Signatur
Von textmgr.idl:
HRESULT IVsCompletionSet::OnCommit(
[in] const WCHAR *pszSoFar,
[in] long iIndex,
[in] BOOL fSelected,
[in] WCHAR cCommit,
[out] BSTR *pbstrCompleteWord
);
Implementieren Sie diese Methode, um anzupassen, wann und wie Anweisungsvervollständigung in Text übernommen wird.
Das Standardverhalten wird ein Commit ausgeführt, wenn der Benutzer eines der Standardwert abschluss Zeichen drückt. Die Standardeinstellung abschluss Zeichen sind alle nicht alphanumerischen Zeichen mit Ausnahme von „~“ und „_“. Text Ersetzung tritt beim Commit nur auf, wenn ein übereinstimmendes Textelement bestes Anweisungsvervollständigungs ablagen derzeit im Listenfeld ausgewählt ist. Es ist dieser Text, der den Text ersetzt, der bis jetzt eingegeben wird.
Diese Methode wird nur aufgerufen, wenn ein Wert von CSF_CUSTOMCOMMIT für die Vervollständigungssatz Flags angegeben wird. Diese Methode wird einmal für jedes dieses Zeichen der Benutzer aufgerufen, während die Anweisungsvervollständigung aktiv ist.
Wenn diese Methode S_FALSEzurückgibt, tritt kein Commit ausgeführt und das Zeichen wird als normales Zeichen) (nicht-abschließendes eingefügt.
Hinweis
Geben Sie nicht S_FALSE zurück, wenn das Zeichen TAB oder STRG+EINGABEist, da diese erzwungene Commitfälle sind.
Wenn diese Methode S_OKzurückgibt, tritt ein Commit ausgeführt wurde. Wenn fSelectedtrueist, ersetzt der Wert, der in pbstrCompleteWord zurückgegebene Text, der bis jetzt eingegeben wird. Wenn fSelectedfalse oder der zurückgegebene Wert pbstrCompleteWordnullein Nullverweis (Nothing in Visual Basic)ist, wird der vorhandene Text ersetzt nicht das Commit ausgeführt.
Beispiele
Im Folgenden finden Sie ein Beispiel für die OnCommit-Methode.
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-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.