Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede usar la barra de estado de Visual Studio en la parte inferior del IDE para mostrar información.
Al ampliar la barra de estado, puede mostrar información y la interfaz de usuario en cuatro regiones: la región de comentarios, la barra de progreso, la región de animación y la región del diseñador. La región de comentarios permite mostrar texto y resaltar el texto mostrado. La barra de progreso muestra el progreso incremental para las operaciones de ejecución corta, como guardar un archivo. La región de animación muestra una animación en bucle continua para operaciones de larga duración o operación de longitud no determinada, como la creación de varios proyectos en una solución. Y la región del diseñador muestra el número de línea y el de columna de la ubicación del cursor.
Puede obtener la barra de estado mediante la IVsStatusbar interfaz (desde el SVsStatusbar servicio). Además, cualquier objeto que se encuentra en un marco de ventana puede registrarse como un objeto cliente de barra de estado mediante la implementación de la IVsStatusbarUser interfaz . Cada vez que se activa una ventana, Visual Studio consulta el objeto que se encuentra en esa ventana para la IVsStatusbarUser interfaz. Si se encuentra, llama al método SetInfo en la interfaz devuelta y el objeto puede actualizar la barra de estado desde ese método. Las ventanas de documento, por ejemplo, pueden usar el SetInfo método para actualizar la información en la región del diseñador cuando se activan.
En los procedimientos siguientes se supone que comprende cómo crear un proyecto VSIX y agregar un comando de menú personalizado. Para obtener información, vea Crear una extensión con un comando de menú.
Modificación de la barra de estado
Este procedimiento muestra cómo establecer y obtener texto, mostrar texto estático y resaltar el texto mostrado en la región de comentarios de la barra de estado.
Leer y escribir en la barra de estado
Cree un proyecto VSIX denominado TestStatusBarExtension y agregue un comando de menú denominado TestStatusBarCommand.
En TestStatusBarCommand.cs, reemplace el código del método del controlador de comandos (
MenuItemCallback) por lo siguiente: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(); }Compile el código e inicie la depuración.
Abra el menú Herramientas en la instancia experimental de Visual Studio. Seleccione el botón Invocar TestStatusBarCommand.
El texto de la barra de estado ahora muestra Acabamos de escribir en la barra de estado. Además, el cuadro de mensaje que aparece usa el mismo texto.
Actualización de la barra de progreso
En el procedimiento siguiente se muestra cómo inicializar y actualizar la barra de progreso.
Abra el archivo TestStatusBarCommand.cs y reemplace el
MenuItemCallbackmétodo por el código siguiente: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); }Compile el código e inicie la depuración.
Abra el menú Herramientas en la instancia experimental de Visual Studio. Seleccione la opción Invocar TestStatusBarCommand.
El texto de la barra de estado ahora muestra Escritura en la barra de progreso. La barra de progreso se actualiza cada segundo durante 20 segundos y se borran las barras de estado y progreso.
Mostrar una animación
La barra de estado muestra una animación en bucle que indica una operación de larga duración (por ejemplo, compilar varios proyectos en una solución). Si no ve esta animación, asegúrese de que tienela configuración de> correcta:
Abra el panel de Herramientas>Opciones y expanda la sección Todos los Ajustes>Entorno>Experiencia Visual>Efectos.
En Habilitar experiencia visual de cliente enriquecida, seleccione Automático (Habilitar solo cuando se recomienda).
Abra el cuadro de diálogo Opciones de herramientas> y expanda la secciónEntorno>General.
Desactive la casilla Ajustar automáticamente la experiencia visual en función del rendimiento del cliente .
Seleccione la casilla de verificación para la subopción Habilitar la experiencia visual del cliente enriquecida.
Selecciona Aceptar.
La animación ahora se muestra al compilar el proyecto en la instancia experimental de Visual Studio.
Este procedimiento muestra cómo mostrar la animación estándar de Visual Studio, que representa la creación de un proyecto o solución.
Abra el archivo TestStatusBarCommand.cs y reemplace el
MenuItemCallbackmétodo por el código siguiente: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); }Compile el código e inicie la depuración.
Abra el menú Herramientas en la instancia experimental de Visual Studio y seleccione el botón Invocar TestStatusBarCommand .
Cuando vea la caja de mensaje, también debería ver la animación en la barra de estado del lado derecho. Al descartar el cuadro de mensaje, la animación desaparece.