Как мне получить IVsTextView определенного OutputWindowPane? - PullRequest
4 голосов
/ 11 марта 2010

У меня есть пакет интеграции с Visual Studio, который отслеживает вывод из окна отладки. Я могу получить IVsTextView окна вывода, например, так:

IVsTextView view = GetService(typeof(SVsOutputWindow)) as IVsTextView;
// grab text from the view and process it

Однако, если в настоящий момент активна другая панель, отличная от панели «Отладка», то этот IVsTextView будет иметь текст с этой панели, а не панель «Отладка».

Можно ли получить IVsTextView для конкретной панели окна вывода, не вызывая OutputWindowPanel.Activate () до получения IVsTextView окна вывода?

1 Ответ

2 голосов
/ 13 марта 2010

Конечно, это возможно. Вам просто нужно выбрать панель окна вывода, которую вы хотите прочитать:

IVsOutputWindow outWindow = GetService(typeof(SVsOutputWindow)) as IVsOutputWindow;
// Give me the Debug pane
Guid debugPaneGuid = VSConstants.GUID_OutWindowDebugPane;
IVsOutputWindowPane pane;
outWindow.GetPane(ref debugPaneGuid, out pane);
// Get text view and process it
IVsTextView view = pane as IVsTextView;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...