Share via


Cómo: Controlar la ventana Resultados

La ventana de salida muestra mensajes de estado de diversas características del entorno de desarrollo integrado (IDE). Se incluyen los errores de compilación que tienen lugar al compilar un proyecto y los resultados de comprobar la sintaxis de Transact-SQL de un procedimiento almacenado con una base de datos de destino. Algunas características del IDE (por ejemplo, las características de las herramientas externas o los comandos que se invocan en la ventana Comandos) generan resultados en recuadros especiales de la ventana de salida. La salida de herramientas externas (por ejemplo, archivos .bat o .com), que se muestra normalmente en la ventana Símbolo del sistema de Windows, también se puede mostrar en el ventana de salida.

El modelo de automatización de Visual Studio proporciona los objetos siguientes, que se pueden usar para controlar la ventana de salida:

Nombre de objeto

Descripción

OutputWindow

Representa la ventana de salida.

OutputWindowPanes

Colección que contiene todos los recuadros de la ventana de salida.

OutputWindowPane

Representa sólo un recuadro de la ventana de salida.

OutputWindowEvents

Permite responder a eventos que tienen lugar en la ventana de salida.

Además de controlar el contenido de la ventana de salida, se pueden controlar características tales como el ancho y el alto. Para obtener más información, vea Cómo: Cambiar las características de las ventanas.

El texto incluido en los recuadros de la ventana de salida se puede manipular mediante el modelo de automatización del editor de Visual Studio, igual que se manipula el código en el editor de código, mediante el objeto TextDocument, el objeto EditPoint u objetos similares. Para obtener más información, vea Cómo: Controlar el Editor de código (Visual Basic).

Nota

Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de los valores de configuración o de edición activos. Estos procedimientos se han desarrollado con la Configuración de desarrollo general activa. Para cambiar la configuración, haga clic en Importar y exportar configuraciones en el menú Herramientas. Para obtener más información, vea Trabajar con valores de configuración.

Ejemplo

En este ejemplo se muestra cómo agregar un nuevo panel a la ventana de salida y cómo agregarle texto. Para obtener más información sobre cómo ejecutar el ejemplo, vea Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización.

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");
}

En este ejemplo se agrega texto al panel Generar de la ventana de salida y, a continuación, lo recupera.

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));
}

Vea también

Tareas

Cómo: Cambiar las características de las ventanas

Cómo: Crear un complemento

Tutorial: Crear un asistente

Conceptos

Gráfico del modelo de objetos de automatización

Otros recursos

Crear y controlar las ventanas del entorno

Crear complementos y asistentes

Referencia de automatización y extensibilidad