2010-10-23 2 views

Répondre

3

Il y a deux façons d'obtenir des informations du moteur soulignant: au début de chaque ligne

Le moteur mettant en lumière les magasins seulement la « pile span ». Vous pouvez utiliser la méthode DocumentHighlighter.GetSpanStack pour le récupérer.

var documentHighlighter = textEditor.TextArea.GetService(typeof(IHighlighter)) as DocumentHighlighter; 
bool isInComment = documentHighlighter.GetSpanStack(1) 
      .Any(s => s.SpanColor != null && s.SpanColor.Name == "Comment"); 

Ceci retournera vrai si la fin de la ligne 1 (= début de la ligne 2) est dans un commentaire multiligne.

Pour des résultats plus détaillés à l'intérieur des lignes, vous devrez exécuter le surligneur. Bien sûr, l'identification des sections/sections par couleur ne fonctionne de manière fiable que si ces couleurs sont nommées. Tous les surlignages intégrés n'ont pas été mis à jour pour utiliser des couleurs nommées. Veuillez d'abord vérifier les fichiers .xshd.

+0

Merci, cela fonctionne très bien. – zee

+0

Je pense que c'est un peu lent. Y a-t-il du code pour le rendre plus rapide? – zee

Questions connexes