Udostępnij za pośrednictwem


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

  • 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

Zobacz też

Informacje

IScanner Interfejs

Przestrzeń nazw Microsoft.VisualStudio.Package