Как получить текст редактора Visual Studio с цветовым форматированием?

У меня есть подключаемый модуль VS, который в настоящее время берет текст редактора, получая TextDocument через app.ActiveDocument.Object(), а затем я получаю от него текст. Это, однако, просто текст, и я хотел бы иметь не только текст, но и информацию о цвете (вроде экспорта RTF). Как я могу это получить?


person Dmitri Nesteruk    schedule 25.03.2015    source источник


Ответы (1)


Приведите EnvDTE.TextDocument.Selection к EnvDTE.TextSelection, а затем используйте EnvDTE.TextSelection.Move(point1, false) и EnvDTE.TextSelection.Move(point2, true), а затем EnvDTE.TextSelection.Copy() для копирования в буфер обмена, который вы должны сохранять его содержимое перед копированием, а затем восстанавливать, когда закончите.

person Carlos Quintero    schedule 25.03.2015
comment
Создал точку редактирования с doc.StartPoint, затем вызвал ep.Copy(doc.EndPoint), но похоже, что буфер пуст - вызов Clipboard.GetText(TextDataFormat.Rtf) после выполнения вышеописанного дает мне пустую строку. - person Dmitri Nesteruk; 26.03.2015
comment
Можете ли вы проверить, если вы вставите это в Microsoft Word, вы получите цвета? - person Carlos Quintero; 27.03.2015
comment
Нет, я не знаю. Текстовый буфер в порядке, буфер rtf пуст. - person Dmitri Nesteruk; 27.03.2015