Как я могу превратить DTE.ActiveWindow.Selection в ближайший CodeElement в макросе VS2008?
-
19-08-2019 - |
Вопрос
Я работаю с объектной моделью Visual Studio 2008, как показано здесь: Диаграмма модели объектов автоматизации VS2008 .
Я хочу воздействовать на CodeElement
в Marco VS2008, который выбирается выделением текста пользователя в текущем документе .cs.
Хотя мне все равно, как я его получаю, я попробовал вот что: объектная модель VS дает вам DTE.ActiveWindow.Selection
типа TextSelection
, а затем есть метод DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElementFromPoint()
, который принимает TextPoint
и vsCMEElement
в качестве параметров и возвращает CodeElment
, как я хочу. Р>
Однако я не могу получить TextElement
от <=>.
Может кто-нибудь сказать мне, как получить <=> из выделенного текста в файле .cs?
Решение
Попробуйте это:
textSelection = DTE.ActiveWindow.Selection
codeElement = textSelection.ActivePoint.CodeElement (vsCMElement.vsCMElementClass)