Практическое руководство. Управление окном вывода
Окно Вывод используется для отображения сообщений о состоянии различных компонентов интегрированной среды разработки (IDE). Среди этих сообщений — ошибки построения, возникающие при компиляции проекта, а также результаты проверки синтаксиса Transact-SQL хранимой процедуры по отношению к целевой базе данных. Некоторые возможности интерфейса IDE, такие как функции внешних средств или команды, вызываемые через окно Команда, направляют выходные данные в специальные области окна Вывод. Вывод из таких внешних средств, как файлы BAT или COM, обычно отображаемый в окне командной строки Windows, также может отображаться в окне Вывод.
Модель автоматизации Visual Studio предлагает следующие объекты для управления окном Вывод.
Имя объекта |
Описание |
---|---|
Представляет окно Вывод. |
|
Коллекция, содержащая все области окна Вывод. |
|
Представляет одну область в окне Вывод. |
|
Позволяет реагировать на события, происходящие в окне Вывод. |
Помимо содержимого окна Вывод разработчик также может управлять такими его характеристиками, как ширина и высота. Дополнительные сведения см. в разделе Практическое руководство. Изменение параметров окон.
Операции с текстом в областях окна Вывод можно выполнять с помощью модели автоматизации редактора Visual Studio подобно коду в редакторе кода с помощью объектов TextDocument, EditPoint и подобных объектов. Дополнительные сведения см. в разделе Практическое руководство. Управление редактором кода (Visual Basic).
Примечание
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Эти процедуры были разработаны с обычными параметрами разработки.Чтобы изменить параметры, выберите команду Импорт и экспортпараметров в меню Сервис.Дополнительные сведения см. в разделе Работа с параметрами.
Пример
В следующем примере показано, как добавить новую область к окну Вывод и вывести в нее некоторый текст. Дополнительные сведения о запуске примера см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.
Public Sub OnConnection(ByVal application As Object, ByVal _
connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
_applicationObject = CType(application, DTE2)
_addInInstance = CType(addInInst, AddIn)
' Pass the applicationObject member variable to the code example.
OutputWindowTest(_applicationObject)
End Sub
Sub OutputWindowTest(ByVal dte As DTE2)
' Create a tool window reference for the Output window
' and window pane.
Dim ow As OutputWindow = dte.ToolWindows.OutputWindow
Dim owP As OutputWindowPane
' Add a new pane to the Output window.
owP = ow.OutputWindowPanes.Add("A New Pane")
' Add a line of text to the new pane.
owP.OutputString("Some Text")
End Sub
public void OnConnection(object application, ext_ConnectMode
connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
// Pass the applicationObject member variable to the code example.
OutputWindowTest(_applicationObject);
}
public void OutputWindowTest(DTE2 dte)
{
// Create a tool window reference for the Output window
// and window pane.
OutputWindow ow = dte.ToolWindows.OutputWindow;
OutputWindowPane owP;
// Add a new pane to the Output window.
owP = ow.OutputWindowPanes.Add("A New Pane");
// Add a line of text to the new pane.
owP.OutputString("Some Text");
}
Этот пример добавляет текст в область Построение окна Вывод, а затем извлекает его.
Public Sub OnConnection(ByVal application As Object, ByVal _
connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
_applicationObject = CType(application, DTE2)
_addInInstance = CType(addInInst, AddIn)
' Pass the applicationObject member variable to the code example.
writeReadOW(_applicationObject)
End Sub
Sub writeReadOW(ByVal dte As DTE2)
' Add-in code.
' Create a reference to the Output window.
' Create a tool window reference for the Output window
' and window pane.
Dim ow As OutputWindow = dte.ToolWindows.OutputWindow
Dim owP As OutputWindowPane
' Create a reference to the pane contents.
Dim owPTxtDoc As TextDocument
' Select the Build pane in the Output window.
owP = ow.OutputWindowPanes.Item("Build")
owP.Activate()
owPTxtDoc = owP.TextDocument
' Put some text in the pane.
owP.OutputString("Testing 123.")
' Retrieve the text contents of the pane.
MsgBox("Startpoint: " & owPTxtDoc.StartPoint.DisplayColumn)
MsgBox(owPTxtDoc.StartPoint.CreateEditPoint. _
GetText(owPTxtDoc.EndPoint))
End Sub
using System.Windows.Forms;
public void OnConnection(object application, ext_ConnectMode
connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
// Pass the applicationObject member variable to the code example.
writeReadOW(_applicationObject);
}
public void writeReadOW(DTE2 dte)
{
// Add-in code.
// Create a reference to the Output window.
// Create a tool window reference for the Output window
// and window pane.
OutputWindow ow = dte.ToolWindows.OutputWindow;
OutputWindowPane owP;
// Create a reference to the pane contents.
TextDocument owPTxtDoc;
EditPoint2 strtPt;
// Select the Build pane in the Output window.
owP = ow.OutputWindowPanes.Item("Build");
owP.Activate();
owPTxtDoc = owP.TextDocument;
// Put some text in the pane.
owP.OutputString("Testing 123.");
// Retrieve the text contents of the pane.
System.Windows.Forms.MessageBox.Show("Startpoint: " +
owPTxtDoc.StartPoint.DisplayColumn);
strtPt = (EditPoint2)owPTxtDoc.StartPoint.CreateEditPoint();
System.Windows.Forms.MessageBox.Show
(strtPt.GetText(owPTxtDoc.EndPoint));
}
См. также
Задачи
Практическое руководство. Изменение параметров окон
Практическое руководство. Создание надстройки
Пошаговое руководство. Создание мастера
Основные понятия
Диаграмма модели объектов автоматизации