2010-11-21 40 views
0

Un élément conditionnel peut-il être un élément CodeElement dans .NET? J'ai parcouru cette page: http://msdn.microsoft.com/en-us/library/envdte.vscmelement(VS.80).aspxUn élément conditionnel est-il un CodeElement dans .NET?

Vous n'avez rien trouvé à ce sujet.

J'écris une macro/macro complémentaire pour obtenir ce qui suit: Si le curseur est à un point de départ d'une instruction if-condition, je veux que l'instruction End If correspondante soit mise en surbrillance. Si les éléments conditionnels (if, switch, etc.) peuvent être représentés en tant que type CodeElement, alors le travail est plus facile.

Répondre

1

Je crains que la réponse soit non. Un élément de code a la granularité d'une méthode ou d'une propriété (ou vous avez des informations si vous êtes en dehors d'une méthode). Dans une méthode, vous ne savez pas quel genre de déclaration il y a.

Désolé.

+0

Merci Timores. Y a-t-il un autre moyen d'y parvenir? – JazJ

0

Non, comme l'a dit Timores, l'élément de code a la granularité d'une méthode ou d'une propriété. Pour faire ce que vous devez faire, vous avez besoin de l'arborescence de la syntaxe abstraite du code affiché dans l'éditeur.

La façon la plus simple de réaliser ce que vous voulez est probablement un plugin DXCore - voir les pages de la communauté DXCore et/ou demander de l'aide. Une fois que vous avez DXCore installé, vous pouvez regarder dans le menu DevExpress dans Visual Studio pour le navigateur de l'arborescence, où vous verrez le nœud de l'arbre de syntaxe abstraite qui représente votre instruction "if", puis recherchez des exemples de code interagir avec elle. Je dois noter qu'il y a déjà une bonne mise en surbrillance dans Resharper, et qu'il y a aussi le plugin VS CodeKana qui met en évidence chaque type d'instruction de contrôle (if/while/etc) dans différentes couleurs.