¿Cómo puedo convertir DTE.ActiveWindow.Selection en el CodeElement más cercano en una macro VS2008?
-
19-08-2019 - |
Pregunta
Estoy trabajando con el modelo de objetos de Visual Studio 2008 como se ve aquí: Gráfico del modelo de objetos de automatización VS2008 .
Quiero actuar en un CodeElement
en un Marco VS2008, uno que es elegido por la selección de texto del usuario en el documento .cs actual.
Aunque realmente no me importa cómo lo obtengo, esto es lo que probé: el modelo de objetos VS te da DTE.ActiveWindow.Selection
que es de tipo TextSelection
, y luego está el DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElementFromPoint ()
que toma un TextPoint
y vsCMEElement
como parámetros y devuelve el CodeElment
como quiero.
Sin embargo, parece que no puedo obtener un TextElement
de una TextSelection
.
¿Alguien puede decirme cómo obtener un CodeElement
del texto seleccionado en un archivo .cs?
Solución
Prueba esto:
textSelection = DTE.ActiveWindow.Selection
codeElement = textSelection.ActivePoint.CodeElement (vsCMElement.vsCMElementClass)