IScanner.ScanTokenAndProvideInfoAboutIt, méthode
Analyse le jeton suivant de langage de la ligne en cours et retourne des informations connexes.
Espace de noms : Microsoft.VisualStudio.Package
Assemblys : Microsoft.VisualStudio.Package.LanguageService.10.0 (dans Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
Microsoft.VisualStudio.Package.LanguageService.11.0 (dans Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
Microsoft.VisualStudio.Package.LanguageService.9.0 (dans Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
Microsoft.VisualStudio.Package.LanguageService (dans Microsoft.VisualStudio.Package.LanguageService.dll)
Syntaxe
'Déclaration
Function ScanTokenAndProvideInfoAboutIt ( _
tokenInfo As TokenInfo, _
ByRef state As Integer _
) As Boolean
bool ScanTokenAndProvideInfoAboutIt(
TokenInfo tokenInfo,
ref int state
)
Paramètres
- tokenInfo
Type : Microsoft.VisualStudio.Package.TokenInfo
[in, out] la structure d'TokenInfo à accomplir.
- state
Type : System.Int32%
[in, out] la valeur de l'état actuel du scanneur.
Valeur de retour
Type : System.Boolean
Retourne true si un jeton était analysé de la ligne active et les informations se retournaient ; sinon, retours false n'indiquant pas plus de jeton sur la ligne en cours.
Remarques
Appelez la méthode d'SetSource pour définir la ligne qui doit être analysée.Ensuite la méthode d'ScanTokenAndProvideInfoAboutIt est en général appelée à plusieurs reprises jusqu'à ce que tous les jetons sont obtenus.
Exemples
C'est un exemple de la façon dont un coloriseur peut utiliser cette méthode.
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;
}
}
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.