Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können die Visual Studio-Statusleiste unten in der IDE verwenden, um Informationen anzuzeigen.
Wenn Sie die Statusleiste erweitern, können Sie Informationen und Ui in vier Bereichen anzeigen: den Feedbackbereich, die Statusleiste, den Animationsbereich und den Designerbereich. Mit dem Feedbackbereich können Sie Text anzeigen und den angezeigten Text hervorheben. In der Statusleiste wird der inkrementelle Fortschritt für kurz ausgeführte Vorgänge angezeigt, z. B. das Speichern einer Datei. Der Animationsbereich zeigt eine fortlaufende Animation für lange ausgeführte Vorgänge oder vorgänge mit nicht festgelegter Länge an, z. B. das Erstellen mehrerer Projekte in einer Lösung. Der Designerbereich zeigt die Zeilen- und Spaltennummer der Cursorposition an.
Sie können die Statusleiste über die IVsStatusbar Schnittstelle (vom SVsStatusbar Dienst) abrufen. Zusätzlich kann jedes Objekt, das sich auf einem Fensterrahmen befindet, als Statusleisten-Clientobjekt registriert werden, indem die IVsStatusbarUser Schnittstelle implementiert wird. Jedes Mal, wenn ein Fenster aktiviert wird, fragt Visual Studio das Objekt ab, das auf diesem Fenster für die IVsStatusbarUser Schnittstelle vorhanden ist. Falls sie gefunden wird, ruft er die Methode auf der zurückgegebenen Schnittstelle SetInfo auf, und das Objekt kann von innerhalb dieser Methode die Statusleiste aktualisieren. Dokumentfenster können z. B. die SetInfo Methode verwenden, um Informationen in der Designerregion zu aktualisieren, wenn sie aktiv werden.
In den folgenden Verfahren wird davon ausgegangen, dass Sie verstehen, wie Sie ein VSIX-Projekt erstellen und einen benutzerdefinierten Menübefehl hinzufügen. Weitere Informationen finden Sie unter Erstellen einer Erweiterung mit einem Menübefehl.
Ändern der Statusleiste
In diesem Verfahren wird gezeigt, wie Sie Text festlegen und abrufen, statischen Text anzeigen und den angezeigten Text im Feedbackbereich der Statusleiste hervorheben.
Lesen und Schreiben in der Statusleiste
Erstellen Sie ein VSIX-Projekt mit dem Namen "TestStatusBarExtension ", und fügen Sie einen Menübefehl namens "TestStatusBarCommand" hinzu.
Ersetzen Sie in TestStatusBarCommand.cs den Code der Befehlshandlermethode (
MenuItemCallback) durch Folgendes: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(); }Kompilieren Sie den Code, und starten Sie das Debuggen.
Öffnen Sie das Menü "Extras" in der experimentellen Instanz von Visual Studio. Wählen Sie die Schaltfläche "TestStatusBarCommand aufrufen " aus.
Der Text in der Statusleiste zeigt jetzt an, dass wir gerade in die Statusleiste geschrieben haben. Und das angezeigte Meldungsfeld verwendet denselben Text.
Fortschrittsbalken aktualisieren
Das folgende Verfahren zeigt, wie Sie den Fortschrittsbalken initialisieren und aktualisieren.
Öffnen Sie die datei TestStatusBarCommand.cs , und ersetzen Sie die
MenuItemCallbackMethode durch den folgenden 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); }Kompilieren Sie den Code, und starten Sie das Debuggen.
Öffnen Sie das Menü "Extras" in der experimentellen Instanz von Visual Studio. Wählen Sie die Schaltfläche "TestStatusBarCommand aufrufen " aus.
Der Text in der Statusleiste zeigt jetzt "Schreiben in die Fortschrittsleiste". Die Fortschrittsleiste wird jede Sekunde für 20 Sekunden aktualisiert, und die Status- und Fortschrittsleisten werden gelöscht.
Anzeigen einer Animation
Auf der Statusleiste wird eine Schleifenanimation angezeigt, die einen langen Vorgang angibt (z. B. das Erstellen mehrerer Projekte in einer Lösung). Wenn diese Animation nicht angezeigt wird, stellen Sie sicher, dass Sie über die richtigen Optionen unterWerkzeuge>Einstellungen verfügen:
Öffnen Sie den Bereich "Extras">"Optionen", und erweitern Sie den Abschnitt "Alle Einstellungen">"Umgebung">"Visuelle Erfahrung">"Effekte".
Wählen Sie unter Aktivieren der Rich-Client-Visual-Erfahrung, die Option Automatisch (Nur aktivieren, wenn empfohlen) aus.
Öffnen Sie das Dialogfeld "Extras>Optionen ", und erweitern Sie den Abschnitt "Umgebung>allgemein ".
Deaktivieren Sie das Kontrollkästchen „Visuelle Erfahrung basierend auf der Clientleistung automatisch anpassen“.
Aktivieren Sie das Kontrollkästchen "Visuelle Benutzeroberfläche für Rich Client aktivieren ".
Wählen Sie OK aus.
Die Animation wird jetzt angezeigt, wenn Sie das Projekt in Ihrer experimentellen Instanz von Visual Studio erstellen.
Dieses Verfahren zeigt, wie die Standard Visual-Studio-Animation angezeigt wird, die das Erstellen eines Projekts oder einer Lösung darstellt.
Öffnen Sie die datei TestStatusBarCommand.cs , und ersetzen Sie die
MenuItemCallbackMethode durch den folgenden 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); }Kompilieren Sie den Code, und starten Sie das Debuggen.
Öffnen Sie das Menü "Extras" in der experimentellen Instanz von Visual Studio, und wählen Sie die Schaltfläche "TestStatusBarCommand aufrufen " aus.
Wenn das Meldungsfeld angezeigt wird, sollte auch die Animation in der Statusleiste ganz rechts angezeigt werden. Wenn Sie das Meldungsfeld schließen, wird die Animation ausgeblendet.