IVsColorizer.ColorizeLine, méthode
Colorizes le texte donné.
Espace de noms : Microsoft.VisualStudio.TextManager.Interop
Assembly : Microsoft.VisualStudio.TextManager.Interop (dans Microsoft.VisualStudio.TextManager.Interop.dll)
Syntaxe
'Déclaration
Function ColorizeLine ( _
iLine As Integer, _
iLength As Integer, _
pszText As IntPtr, _
iState As Integer, _
<OutAttribute> pAttributes As UInteger() _
) As Integer
int ColorizeLine(
int iLine,
int iLength,
IntPtr pszText,
int iState,
uint[] pAttributes
)
int ColorizeLine(
[InAttribute] int iLine,
[InAttribute] int iLength,
[InAttribute] IntPtr pszText,
[InAttribute] int iState,
[OutAttribute] array<unsigned int>^ pAttributes
)
abstract ColorizeLine :
iLine:int *
iLength:int *
pszText:IntPtr *
iState:int *
pAttributes:uint32[] byref -> int
function ColorizeLine(
iLine : int,
iLength : int,
pszText : IntPtr,
iState : int,
pAttributes : uint[]
) : int
Paramètres
iLine
Type : Int32[in] ligne à sont colorisés.
iLength
Type : Int32[in] longueur de la ligne moins la marque de fin de ligne (paires de retour chariot, de saut de ligne, de CRLF, ou 0 (EOF)).
pszText
Type : IntPtr[in] le texte de la ligne (examinez jusqu'à iLength les personnages).
iState
Type : Int32[in] l'état du coloriseur au début de la ligne.
pAttributes
Type : array<UInt32[][] un tableau d'attributs de couleur à effectuer pour le texte. La matrice contient un membre pour chaque personnage dans la ligne sont colorisés, et un élément supplémentaire qui représente la couleur d'arrière-plan de l'espace à droite du dernier personnage. Cette matrice est iLength + les personnages 1 longtemps.
Les membres de la matrice d'pAttributes peuvent contenir les bits qui peuvent être masqués avec les différentes valeurs fournies dans l'énumération d'COLORIZER_ATTRIBUTE pour obtenir les informations requises. Pour plus d'informations, consultez COLORIZER_ATTRIBUTE.
Valeur de retour
Type : Int32
Retourne l'état du coloriseur à la fin de la ligne.
Notes
Signature de COM
De textmgr.idl :
HRESULT IVsColorizer::ColorizeLine(
[in] long iLine,
[in] long iLength,
[in] const WCHAR *pszText,
[in] long iState,
[out] ULONG * pAttributes
);
Toute implémentation de cette méthode doit analyser la ligne d'entrée (pszText) pour que les jetons colorize.
Pour chaque personnage dans une ligne donnée, l'élément de tableau retourné correspondant dans pAttributes contient un index dans le tableau du service de langage d'éléments colorizable, tels que les commentaires, des identificateurs, et des numéros.
Les valeurs retournées dans la matrice d'pAttributes sont des index dans les éléments qui autorisent la modification de la couleur par défaut fournis par Visual Studio ou dans les éléments qui autorisent la modification de la couleur personnalisés fournis par le service de langage (voir l'GetColorableItem dans l'interface d'IVsProvideColorableItems). Un index de 0 signifie toujours la couleur du texte par défaut comme fourni par Visual Studio.
Le coloriseur doit commencer dans l'état fourni, et retourne son état actuel, qui est mis en cache et plus loin à mesure que l'état de début lorsque la ligne suivante sont colorisés. La matrice d'index donnée est garantie être un élément plus longtemps que le nombre de personnages dans la ligne. Le dernier élément est utilisé pour déterminer la couleur d'arrière-plan de l'espace à droite du dernier personnage sur la ligne.
Un coloriseur doit marquer le texte à traiter comme texte de langage naturel humain avec le bit d'HUMAN_TEXT_ATTR. Ce bit doit être défini pour le contenu des commentaires et des chaînes, à l'exclusion des séparateurs et est utilisé pour obtenir la mise en page correcte du texte bidirectionnel. Le bit d'HUMAN_TEXT_ATTR est également utilisé pour déterminer quand appliquer des règles de langage naturel au lieu des règles de langage de programmation, par exemple, pour la correction orthographique et les limites de mot.
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, voir Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.