IScanner.ScanTokenAndProvideInfoAboutIt(TokenInfo, Int32) Метод

Определение

Выполняет синтаксическую проверку следующего токена языка из текущей строки и возвращает сведения о нем.

public:
 bool ScanTokenAndProvideInfoAboutIt(Microsoft::VisualStudio::Package::TokenInfo ^ tokenInfo, int % state);
bool ScanTokenAndProvideInfoAboutIt(Microsoft::VisualStudio::Package::TokenInfo const & tokenInfo, int & state);
public bool ScanTokenAndProvideInfoAboutIt (Microsoft.VisualStudio.Package.TokenInfo tokenInfo, ref int state);
abstract member ScanTokenAndProvideInfoAboutIt : Microsoft.VisualStudio.Package.TokenInfo * int -> bool
Public Function ScanTokenAndProvideInfoAboutIt (tokenInfo As TokenInfo, ByRef state As Integer) As Boolean

Параметры

tokenInfo
TokenInfo

[in, out] Структура TokenInfo для заполнения.

state
Int32

[in, out] Значение текущего состояния сканера.

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

Boolean

Возвращает true если токен был проанализирован из текущей строки и данные вернулись; в противном случае Возвращает false, указывая, что нет больше маркеров на текущей строке.

Примеры

Это пример того, как при использовании этого метода можно использовать этот метод.

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;  
        }  
    }  
}  

Комментарии

Вызовите SetSource метод, чтобы задать строку, которая должна быть проанализирована. Затем ScanTokenAndProvideInfoAboutIt метод обычно вызывается повторно, пока не будут получены все токены.

Применяется к