Étendre la barre d’étatExtend the status bar

Vous pouvez utiliser la barre d’état Visual Studio en bas de l’IDE pour afficher des informations.You can use the Visual Studio status bar at the bottom of the IDE to display information.

Lorsque vous étendez la barre d’état, vous pouvez afficher des informations et l’interface utilisateur dans quatre régions : la zone de commentaires, de la barre de progression, de la région d’animation et de la zone du concepteur.When you extend the status bar, you can display information and UI in four regions: the feedback region, the progress bar, the animation region, and the designer region. La zone de commentaires permet d’afficher du texte et mettre en surbrillance le texte affiché.The feedback region allows you to display text and highlight the displayed text. La barre de progression indique la progression incrémentielle pour les opérations d’exécution courte telles que l’enregistrement d’un fichier.The progress bar shows incremental progress for short-running operations such as saving a file. La région d’animation affiche une animation en boucle en continu pour les opérations longues ou l’opération de durée indéterminée, tels que la création de plusieurs projets dans une solution.The animation region displays a continuously-looped animation for long-running operations or operation of undetermined length, such as building multiple projects in a solution. Et la zone du concepteur affiche le numéro de ligne et colonne de l’emplacement du curseur.And the designer region shows the line and column number of the cursor location.

Vous pouvez obtenir la barre d’état à l’aide de la IVsStatusbar interface (à partir de la SVsStatusbar service).You can get the status bar by using the IVsStatusbar interface (from the SVsStatusbar service). En outre, n’importe quel objet doit se trouver sur un frame de fenêtre peut enregistrer en tant qu’un état de la barre objet client en implémentant le IVsStatusbarUser interface.In addition, any object sited on a window frame can register as a status bar client object by implementing the IVsStatusbarUser interface. Chaque fois qu’une fenêtre est activée, Visual Studio interroge l’objet doit se trouver dans cette fenêtre pour le IVsStatusbarUser interface.Whenever a window is activated, Visual Studio queries the object sited on that window for the IVsStatusbarUser interface. Si trouvée, elle appelle le SetInfo méthode sur l’interface retournée et l’objet peut mettre à jour la barre d’état à partir de cette méthode.If found, it calls the SetInfo method on the returned interface and the object can update the status bar from within that method. Document de windows, par exemple, peut utiliser le SetInfo méthode pour mettre à jour les informations contenues dans la zone du concepteur quand ils sont activés.Document windows, for example, can use the SetInfo method to update information in the designer region when they become active.

Les procédures suivantes supposent que vous comprenez comment créer un projet VSIX et ajouter une commande de menu personnalisé.The following procedures assume that you understand how to create a VSIX project and add a custom menu command. Pour plus d’informations, consultez créer une extension avec une commande de menu.For information, see Create an extension with a menu command.

Modifier la barre d’étatModify the status bar

Cette procédure vous montre comment définir et obtenir le texte, afficher du texte statique et mettez en surbrillance le texte affiché dans la zone de commentaires de la barre d’état.This procedure shows you how to set and get text, display static text, and highlight the displayed text in the feedback region of the status bar.

Lire et écrire dans la barre d’étatRead and write to the status bar

  1. Créez un projet VSIX nommé TestStatusBarExtension et ajoutez une commande de menu nommée TestStatusBarCommand.Create a VSIX project named TestStatusBarExtension and add a menu command named TestStatusBarCommand.

  2. Dans TestStatusBarCommand.cs, remplacez le code de méthode de gestionnaire de commande (MenuItemCallback) par le code suivant :In TestStatusBarCommand.cs, replace the command handler method code (MenuItemCallback) with the following:

    private void MenuItemCallback(object sender, EventArgs e)  
    {  
        IVsStatusbar statusBar = (IVsStatusbar)ServiceProvider.GetService(typeof(SVsStatusbar));  
    
        // Make sure the status bar is not frozen  
        int frozen;  
    
        statusBar.IsFrozen(out frozen);  
    
        if (frozen != 0)   
        {  
            statusBar.FreezeOutput(0);  
        }  
    
        // Set the status bar text and make its display static.  
        statusBar.SetText("We just wrote to the status bar.");  
    
        // Freeze the status bar.  
        statusBar.FreezeOutput(1);  
    
        // Get the status bar text.   
        string text;  
        statusBar.GetText(out text);  
        System.Windows.Forms.MessageBox.Show(text);  
    
        // Clear the status bar text.  
        statusBar.FreezeOutput(0);  
        statusBar.Clear();  
    }  
    
  3. Compilez le code et démarrer le débogage.Compile the code and start debugging.

  4. Ouvrez le outils menu dans l’instance expérimentale de Visual Studio.Open the Tools menu in the experimental instance of Visual Studio. Cliquez sur le TestStatusBarCommand appeler bouton.Click the Invoke TestStatusBarCommand button.

    Vous devez voir que le texte dans la barre maintenant lectures nous venons de la barre d’état.You should see that the text in the status bar now reads We just wrote to the status bar. et la boîte de message qui s’affiche comporte le même texte.and the message box that appears has the same text.

Mettre à jour de la barre de progressionUpdate the progress bar

  1. Dans cette procédure, nous allons montrer comment initialiser et mettre à jour de la barre de progression.In this procedure we will show how to initialize and update the progress bar.

  2. Ouvrez le TestStatusBarCommand.cs fichier et remplacez le MenuItemCallback méthode avec le code suivant :Open the TestStatusBarCommand.cs file and replace the MenuItemCallback method with the following code:

    private void MenuItemCallback(object sender, EventArgs e)  
    {  
        IVsStatusbar statusBar = (IVsStatusbar)ServiceProvider.GetService(typeof(SVsStatusbar));  
        uint cookie = 0;  
        string label = "Writing to the progress bar";  
    
        // Initialize the progress bar.  
        statusBar.Progress(ref cookie, 1, "", 0, 0);  
    
        for (uint i = 0, total = 20; i <= total; i++)  
        {  
            // Display progress every second.  
            statusBar.Progress(ref cookie, 1, label, i, total);  
            System.Threading.Thread.Sleep(1000);  
        }  
    
        // Clear the progress bar.  
        statusBar.Progress(ref cookie, 0, "", 0, 0);  
    }  
    
  3. Compilez le code et démarrer le débogage.Compile the code and start debugging.

  4. Ouvrez le outils menu dans l’instance expérimentale de Visual Studio.Open the Tools menu in the experimental instance of Visual Studio. Cliquez sur TestStatusBarCommand appeler bouton.Click Invoke TestStatusBarCommand button.

    Vous devez voir que le texte dans la barre maintenant lectures écriture dans la barre de progression.You should see that the text in the status bar now reads Writing to the progress bar. Vous devez également voir la barre de progression est mise à jour par seconde pendant 20 secondes.You should also see the progress bar get updated every second for 20 seconds. Après cela, la barre d’état et la barre de progression sont effacées.After that the status bar and the progress bar are cleared.

Afficher une animationDisplay an animation

  1. La barre d’état affiche une animation de boucle qui indique soit une opération longue (par exemple, la génération de plusieurs projets dans une solution).The status bar displays a looping animation that indicates either a long-running operation (for example, building multiple projects in a solution). Si vous ne voyez pas cette animation, assurez-vous que vous avez la bonne outils > Options paramètres :If you do not see this animation, make sure you have the correct Tools > Options settings:

    Accédez à la outils > Options > général onglet et décochez la case ajuster automatiquement l’expérience visuelle selon le client performances.Go to the Tools > Options > General tab and uncheck Automatically adjust visual experience based on client performance. Puis activez sous-l’option de activer l’expérience visuelle améliorée.Then check the sub-option Enable rich client visual experience. Vous devez maintenant être en mesure de voir l’animation lorsque vous générez le projet dans votre instance expérimentale de Visual Studio.You should now be able to see the animation when you build the project in your experimental instance of Visual Studio.

    Dans cette procédure, nous affichons l’animation de Visual Studio standard, qui représente la création d’un projet ou une solution.In this procedure we display the standard Visual Studio animation which represents building a project or solution.

  2. Ouvrez le TestStatusBarCommand.cs fichier et remplacez le MenuItemCallback méthode avec le code suivant :Open the TestStatusBarCommand.cs file and replace the MenuItemCallback method with the following code:

    private void MenuItemCallback(object sender, EventArgs e)  
    {  
        IVsStatusbar statusBar =(IVsStatusbar)ServiceProvider.GetService(typeof(SVsStatusbar));  
    
        // Use the standard Visual Studio icon for building.  
        object icon = (short)Microsoft.VisualStudio.Shell.Interop.Constants.SBAI_Build;  
    
        // Display the icon in the Animation region.  
        statusBar.Animation(1, ref icon);  
    
        // The message box pauses execution for you to look at the animation.  
        System.Windows.Forms.MessageBox.Show("showing?");  
    
        // Stop the animation.   
        statusBar.Animation(0, ref icon);  
    }  
    
  3. Compilez le code et démarrer le débogage.Compile the code and start debugging.

  4. Ouvrez le outils menu dans l’instance expérimentale de Visual Studio et cliquez sur TestStatusBarCommand appeler.Open the Tools menu in the experimental instance of Visual Studio and click Invoke TestStatusBarCommand.

    Lorsque vous voyez la boîte de message, vous devez également voir l’animation dans la barre d’état à l’extrême droite.When you see the message box, you should also see the animation in the status bar on the far right. Lorsque vous fermez la boîte de message, l’animation disparaît.When you dismiss the message box, the animation disappears.