Comment : contrôler la fenêtre Sortie

Les macros complémentaires Visual Studio sont déconseillées dans Visual Studio 2013. Vous devriez mettre vos macros complémentaires à niveau vers des extensions VSPackage. Pour plus d'informations sur les mises à jour, consultez FAQ : conversion de compléments en extensions VSPackage.

La fenêtre Sortie affiche des messages d'état relatifs à diverses fonctionnalités de l'environnement de développement intégré (IDE). Ces messages incluent les erreurs de build qui se produisent lors de la compilation d'un projet, ainsi que les résultats de la comparaison entre la syntaxe Transact-SQL d'une procédure stockée et une base de données cible. Certaines fonctionnalités de l'IDE, par exemple les fonctionnalités ou commandes d'outils externes appelées dans la fenêtre Commande, affichent la sortie dans des volets spécifiques de la fenêtre Sortie. Toute sortie provenant d'outils externes, par exemple des fichiers .bat ou .com, qui s'affiche généralement dans la fenêtre d'invite de commandes Windows, peut également être affichée dans la fenêtre Sortie.

Le modèle Automation de Visual Studio propose les objets suivants pour vous permettre de contrôler la fenêtre Sortie :

Nom de l'objet

Description

OutputWindow

Représente la fenêtre Sortie.

OutputWindowPanes

Collection qui contient l'ensemble des volets de la fenêtre Sortie.

OutputWindowPane

Représente un seul volet dans la fenêtre Sortie.

OutputWindowEvents

Vous permet de répondre à des événements qui se produisent dans la fenêtre Sortie.

Outre le contrôle du contenu de la fenêtre Sortie, vous pouvez également contrôler ses caractéristiques, notamment sa largeur et sa hauteur. Pour plus d'informations, consultez Comment : modifier les caractéristiques d'une fenêtre.

Vous pouvez manipuler le texte des volets de la fenêtre Sortie via le modèle Automation Editor de Visual Studio, à l'image du code dans l'éditeur de code, à l'aide des objets TextDocument et EditPoint, ou d'autres objets similaires. Pour plus d'informations, consultez Comment : contrôler l'éditeur de code (Visual Basic).

Notes

Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée.Ces procédures ont été développées avec les paramètres de développement généraux actifs.Pour modifier vos paramètres, cliquez dans le menu Outils sur Importation et exportationde paramètres.Pour plus d'informations, consultez Paramètres Visual Studio.

Exemple

Cet exemple montre comment ajouter un nouveau volet à la fenêtre Sortie et comment ajouter du texte dans ce volet : Pour plus d'informations sur l'exécution de l'exemple, consultez Comment : compiler et exécuter les exemples de code du modèle objet Automation.

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

Cet exemple ajoute du texte au volet Générer de la fenêtre Sortie, puis récupère ce texte.

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

Voir aussi

Tâches

Comment : modifier les caractéristiques d'une fenêtre

Comment : créer un complément

Procédure pas à pas : création d'un Assistant

Concepts

Graphique Modèle d'objet Automation

Autres ressources

Création et contrôle de fenêtres d'environnement

Création de compléments et d'Assistants

Guide de référence de l'extensibilité et de l'automation