Comment puis-je transformer DTE.ActiveWindow.Selection dans le CodeElement le plus proche dans une macro VS2008?

StackOverflow https://stackoverflow.com/questions/470117

Question

Je travaille avec le modèle d'objet Visual Studio 2008, comme indiqué ci-dessous: Graphique de modèle d'objet d'automatisation VS2008 .

Je souhaite agir sur un CodeElement sur un Marco VS2008, choisi par le texte sélectionné par l'utilisateur dans le document .cs actuel.

Bien que je ne me soucie pas vraiment de la façon dont je l'obtiens, voici ce que j'ai essayé: Le modèle d'objet VS vous donne DTE.ActiveWindow.Selection qui est de type TextSelection , puis il y a la méthode DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElementFromPoint () qui prend TextPoint et vsCMEElement en tant que paramètres et renvoie le CodeElment comme je le veux.

Cependant, je n'arrive pas à obtenir un TextElement d'un TextSelection .

Quelqu'un peut-il me dire comment obtenir un CodeElement à partir du texte sélectionné dans un fichier .cs?

Était-ce utile?

La solution

Essayez ceci:

textSelection = DTE.ActiveWindow.Selection

codeElement = textSelection.ActivePoint.CodeElement (vsCMElement.vsCMElementClass)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top