Come posso trasformare DTE.ActiveWindow.Selection nel CodeElement più vicino in una macro VS2008?
-
19-08-2019 - |
Domanda
Sto lavorando con il modello a oggetti di Visual Studio 2008 come mostrato qui: Grafico modello oggetto automazione VS2008 .
Voglio agire su un CodeElement
in un VS2008 Marco, uno che viene scelto dalla selezione di testo dell'utente nel documento .cs corrente.
Anche se non mi interessa davvero come lo ottengo, questo è quello che ho provato: il modello a oggetti VS ti dà DTE.ActiveWindow.Selection
che è di tipo TextSelection
, e poi c'è il DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElementFromPoint ()
che accetta un TextPoint
e vsCMEElement
come parametri e restituisce il CodeElment
come voglio.
Tuttavia non riesco a ottenere un TextElement
da un TextSelection
.
Qualcuno può dirmi come ottenere un CodeElement
dal testo selezionato in un file .cs?
Soluzione
Prova questo:
textSelection = DTE.ActiveWindow.Selection
codeElement = textSelection.ActivePoint.CodeElement (vsCMElement.vsCMElementClass)