13

Cada vez que veo un formulario o un cuadro de diálogo en Visual Studio (2005), los paneles Propiedades y Cuadro de herramientas aparecen en el lado derecho de mi pantalla. Eso es bueno porque son útiles para manipular diálogos.¿Ocultar propiedades/Panel de herramientas cuando no está en la vista de recursos?

Sin embargo, una vez que vuelvo al código fuente, estos paneles se interponen en el camino ... ¿hay alguna forma de que desaparezcan automáticamente?

+1

Esto ha sido insignificantes en mí desde que empecé a usar VS. – Blorgbeard

+0

@Blorgbeard ¡Gracias por pagar la recompensa! Veamos si obtenemos una respuesta decente. – theycallmemorty

+0

Probablemente necesite hacer su pregunta más exacta para obtener una buena respuesta. – aponomarenko

Respuesta

-1

Si hace clic en el icono 'pin' en esas ventanas de herramientas, puede alternar si las ventanas permanecen abiertas todo el tiempo, o solo cuando el mouse está cerca de ellas. Por supuesto, a veces mi mouse se desvía en esa dirección y salen cuando no quiero, pero tal es la vida ...

+0

Sí, sé sobre el pin, pero eso no es lo que estoy buscando. :) – theycallmemorty

0

En lugar de renunciar al espacio en el lado derecho de la pantalla, arrastré mis propiedades y paneles de caja de herramientas hacia el marco del lado izquierdo que alberga el explorador de soluciones y la vista de clase, etc. Preferiría tener un cuadro multiusos en un lado de la pantalla que rodear el código. Si los necesita, puede colocar la caja de herramientas en el panel del explorador de soluciones y luego apilar el panel de propiedades debajo del explorador de soluciones, que mantiene visibles algunas propiedades en todo momento junto con la caja de herramientas.

Sé que no es exactamente la respuesta que estabas buscando, pero es una manera diferente de mantener esa pantalla de bienes raíces disponible para el código sin jugar con ocultar automáticamente (me parece que ocultar automáticamente es más una molestia que ayuda.)

4

He hecho algo recientemente en VS2010 usando una macro que muestra y oculta el panel Herramientas al cambiar de una vista de código a diseño en vistas de asp.net MVC3. Podría ser fácilmente adaptado para hacer lo mismo para su situación, creo.

Esto va en el archivo de clase EnvironmentEvents en VS Macro IDE después del contenido pregenerado.

<System.ContextStaticAttribute()> Public WithEvents CommandEvents As EnvDTE.CommandEvents 


    Public Sub DTEEvents_OnMacrosRuntimeReset() Handles _ 
    DTEEvents.OnMacrosRuntimeReset 
     CommandEvents = DTE.Events.CommandEvents 
    End Sub 

    Private Sub DTEEvents_OnStartupComplete() Handles _ 
     DTEEvents.OnStartupComplete 
     CommandEvents = DTE.Events.CommandEvents 
    End Sub 

    Public Sub CommandEvents_AfterExecute(_ 
    ByVal Guid As String, _ 
    ByVal ID As Integer, _ 
    ByVal CustomIn As Object, _ 
    ByVal CustomOut As Object) _ 
    Handles CommandEvents.AfterExecute 

     If DTE.Commands.Item(Guid, ID).Name = "View.ViewDesigner" Then 
      DTE.ExecuteCommand("View.Toolbox") 
     End If 

     If DTE.Commands.Item(Guid, ID).Name = "View.ViewMarkup" Then 
      DTE.Windows.Item(Constants.vsWindowKindToolbox).Close() 
     End If 

    End Sub 

Probablemente podría optimizarse mejor utilizando las guías del evento en lugar de las declaraciones if. Funciona cuando utiliza las teclas de acceso rápido para cambiar las vistas, así como el menú de visualización, pero no el menú contextual.

+0

¡Esto parece prometedor! Veré si puedo hacerlo funcionar. Parece que la recompensa te pertenece. – Blorgbeard

+0

¿Cómo hacer que este código funcione? Ya lo pegué en MyMacros.EnvironmentEvents, guardé MyMacros, cerré y abrí Visual Studio, pero cuando cambio al código fuente o al diseñador, no ocurre nada. ¿Qué debo hacer todavía? – 3per

2

para vs2015:

  1. Menú> Herramientas> Extensiones y actualizaciones
  2. instalar "Visual comandante". (Ahora tiene un nuevo menú llamado "VCmd")
  3. Menú> "VCmd"> Extensiones ... (Verá un panel de extensiones a la derecha)
  4. Presione el botón Agregar en el panel Extensiones. (Se abrirá una nueva pestaña Windown.)
  5. escriba un nombre para la extensión.
  6. seleccione el idioma como C#.
  7. pegue el siguiente código:
  8. Presione Guardar. Luego presione Compilar. A continuación pulse Instalar

using EnvDTE; 
using EnvDTE80; 

public class E : VisualCommanderExt.IExtension 
{ 
    private EnvDTE80.DTE2 DTE; 
    private EnvDTE.WindowEvents windowEvents; 

    public void SetSite(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package) { 
     this.DTE = DTE; 
     DTE.Events.WindowEvents.WindowActivated += OnWindowActivated; 
    } 

    public void Close() { 
     // i read somewhere this has to be done on close. 
     // but it gives gives me error on every IDE close. so i commented it . 
     //DTE.Events.WindowEvents.WindowActivated -= OnWindowActivated; 
    } 

    private void OnWindowActivated(Window gotFocus, Window lostFocus) { 
      HidePropertiesWindowInCodeOrTextView(gotFocus); 
    } 

    public void HidePropertiesWindowInCodeOrTextView(Window gotFocus) { 
      if (gotFocus.Document == null) return; 
       var pwin = DTE.Windows.Item(Constants.vsWindowKindProperties); 
       pwin.AutoHides = !gotFocus.Caption.EndsWith(" [Design]") ; 
    } 
} 
Cuestiones relacionadas