13

Chaque fois que j'affiche un formulaire ou une boîte de dialogue dans Visual Studio (2005), les volets Propriétés et Boîte à outils s'affichent sur le côté droit de l'écran. C'est bien d'avoir parce qu'ils sont utiles pour manipuler les dialogues.Masquer le volet Propriétés/Boîte à outils en dehors de l'affichage des ressources?

Cependant, une fois que je reviens au code source, ces panneaux ne font que gêner ... y a-t-il un moyen de les faire disparaître automatiquement?

+1

Cela a été tatillonne à moi depuis que je commencé à utiliser VS. – Blorgbeard

+0

@Blorgbeard Merci d'avoir mis la prime! Voyons voir si nous obtenons une réponse décente! – theycallmemorty

+0

Vous avez probablement besoin de rendre votre question plus précise afin d'obtenir une bonne réponse. – aponomarenko

Répondre

-1

Si vous cliquez sur l'icône 'Epingler' dans ces fenêtres d'outils, vous pouvez choisir si les fenêtres restent ouvertes tout le temps, ou seulement lorsque la souris est proche d'elles. Bien sûr, parfois, ma souris s'égare dans cette direction et ils sortent quand je ne le veux pas, mais telle est la vie ...

+0

Oui, je connais la broche, mais ce n'est pas ce que je cherche. :) – theycallmemorty

0

Plutôt que d'abandonner l'espace sur le côté droit de l'écran, je J'ai déplacé mes propriétés et les volets de la boîte à outils vers le cadre gauche qui héberge l'explorateur de solution et la vue de classe, etc. Je préfère avoir une boîte multi-usage d'un côté de l'écran plutôt que d'entourer le code. Si vous en avez besoin tous les deux, vous pouvez placer la boîte à outils dans le volet Explorateur de solutions, puis empiler le volet des propriétés sous l'explorateur de solution, ce qui permet de conserver à tout moment quelques propriétés en même temps que la boîte à outils.

Je sais que ce n'est pas tout à fait la réponse que vous recherchiez, mais c'est une façon différente de garder cet écran disponible pour le code sans avoir à masquer automatiquement (je trouve auto-hide pour être vraiment un ennui help.)

4

J'ai récemment fait quelque chose dans VS2010 en utilisant une macro qui affiche et cache le panneau Outils lors du passage du mode code à l'affichage design dans les vues asp.net MVC3. Il pourrait être facilement adapté pour faire de même pour votre situation je pense.

Cela se trouve dans le fichier de classe EnvironmentEvents dans l'IDE VS Macro après le contenu pré-généré.

<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 

Il pourrait probablement être mieux optimisé en utilisant les guids de l'événement plutôt que les instructions if. Cela fonctionne lorsque vous utilisez les raccourcis clavier pour changer de vue ainsi que le menu d'affichage, mais pas le menu contextuel.

+0

Cela semble prometteur! Je verrai si je peux le faire fonctionner. On dirait que la prime vous appartient. – Blorgbeard

+0

Comment faire pour que ce code fonctionne? Je l'ai déjà collé dans MyMacros.EnvironmentEvents, enregistré MyMacros, fermé et ouvert Visual Studio, mais quand je passe au code source ou au concepteur, rien ne se passe. Ce que je devrais faire encore? – 3per

2

pour vs2015:

  1. Menu> Outils> Extensions et mises à jour
  2. installer "Commander visuel". (Vous avez maintenant un nouveau menu appelé "VCmd")
  3. Menu> "VCmd"> Extensions ... (Vous verrez un volet Extensions à droite)
  4. Appuyez sur le bouton Ajouter dans le volet Extensions. (Nouvel onglet Wİndow va ouvrir.)
  5. écrire un nom pour l'extension.
  6. sélectionnez la langue en tant que C#.
  7. collez le code ci-dessous:
  8. Appuyez sur Enregistrer. Ensuite, appuyez sur Compiler. Appuyez ensuite sur Installer

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