Metoda IScanner.ScanTokenAndProvideInfoAboutIt —
Analizuje dalej tokenu języka z bieżącego wiersza i zwraca informacje na jego temat.
Przestrzeń nazw: Microsoft.VisualStudio.Package
Zestawy: Microsoft.VisualStudio.Package.LanguageService.10.0 (w Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
Microsoft.VisualStudio.Package.LanguageService.11.0 (w Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
Microsoft.VisualStudio.Package.LanguageService.9.0 (w Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
Microsoft.VisualStudio.Package.LanguageService (w Microsoft.VisualStudio.Package.LanguageService.dll)
Składnia
'Deklaracja
Function ScanTokenAndProvideInfoAboutIt ( _
tokenInfo As TokenInfo, _
ByRef state As Integer _
) As Boolean
bool ScanTokenAndProvideInfoAboutIt(
TokenInfo tokenInfo,
ref int state
)
Parametry
- tokenInfo
Typ: Microsoft.VisualStudio.Package.TokenInfo
[w, out] TokenInfo Struktury do wypełnienia.
- state
Typ: System.Int32%
[w, out] Wartość stanu bieżącego skanera.
Wartość zwracana
Typ: System.Boolean
Zwraca true , jeśli zostanie przeanalizowany tokenu z bieżącym wierszem i informacje zwrócone; w przeciwnym razie zwraca false wskazujące nie więcej tokenów w bieżącym wierszu.
Uwagi
Wywołanie SetSource Metoda Ustaw wiersz, który ma zostać przeanalizowany.Następnie ScanTokenAndProvideInfoAboutIt metoda jest zazwyczaj nazywany wielokrotnie, aż do uzyskania wszystkich tokenów.
Przykłady
To jest przykładowy sposób colorizer może użyć tej metody.
using Microsoft.VisualStudio.TextManager.Interop;
using Microsoft.VisualStudio.Package;
namespace MyLanguagePackage
{
public class MyColorizer : IVsColorizer
{
IScanner scanner;
public int ColorizeLine(int line,
int length,
IntPtr ptr,
int state,
uint[] attrs)
{
int linepos = 0;
if (this.scanner != null)
{
try
{
string text = Marshal.PtrToStringUni(ptr, length);
this.scanner.SetSource(text, 0);
TokenInfo tokenInfo = new TokenInfo();
while (this.scanner.ScanTokenAndProvideInfoAboutIt(tokenInfo, ref state))
{
// Do something with tokenInfo
}
}
catch (Exception)
{
// Catch and ignore exceptions
}
}
return state;
}
}
}
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Przy użyciu bibliotek z częściowo zaufanego kodu..