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