Comment puis-je transformer DTE.ActiveWindow.Selection dans le CodeElement le plus proche dans une macro VS2008?
-
19-08-2019 - |
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?
La solution
Essayez ceci:
textSelection = DTE.ActiveWindow.Selection
codeElement = textSelection.ActivePoint.CodeElement (vsCMElement.vsCMElementClass)