Как я могу превратить DTE.ActiveWindow.Selection в ближайший CodeElement в макросе VS2008?

StackOverflow https://stackoverflow.com/questions/470117

Вопрос

Я работаю с объектной моделью 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)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top