Hinweis: Ich habe angefangen, eine Antwort zu schreiben, aber weitere Tests haben gezeigt, dass sie nicht so gut funktioniert, wie ich gehofft hatte. Hier ist sie trotzdem. Vielleicht kann sie Ihnen weiterhelfen.
VS bietet die Möglichkeit, verschiedene Layouts zu speichern, je nachdem, was der Entwickler gerade tut. Beim Debuggen können die Fenster anders positioniert werden als bei der "normalen" Bearbeitung. Starten Sie das Debugging und die Fenster werden so verschoben/angezeigt/ausgeblendet, dass sie sich in der gleichen Position befinden wie bei der letzten Debugging-Sitzung. Wenn Sie das Debugging beenden, kehren die Fenster in den Zustand vor dem Debugging zurück.
Ich nehme an, Sie wussten das bereits, aber das Tolle ist, dass Sie selbst neue Layouts hinzufügen können.
Wenn Sie den Makro-Editor öffnen (Alt-F11), sehen Sie ein Beispielprojekt, das eine Datei "Utilities" enthält. Dort finden Sie 2 Makros, SaveView und LoadView, die die aktuellen Fensterkonfigurationen speichern und laden. Jedes dieser Makros fragt nach dem Namen der Ansicht.
Ich habe versucht, ein neues Layout/eine neue Ansicht zu erstellen, die Fenster auszublenden und zu verschieben und dann die Ansicht neu zu laden. Das hat wunderbar funktioniert.
Sie könnten die Makros so ändern, dass sie eine Ansicht nach Lösungsnamen laden oder speichern. Oder Sie könnten ein Paar für die Bearbeitung und ein Paar für die Fehlersuche verwenden. Wenn Sie ein Add-In schreiben, können Sie über das Laden einer Lösung benachrichtigt werden, aber ich weiß nicht, ob Sie den Beginn einer Debug-Sitzung erkennen können.
Was nicht so toll ist, ist die Tatsache, dass das Laden eines zuvor gespeicherten Layouts nicht sehr gut funktioniert, wenn man VS verlässt und neu startet (z. B. kehren einige Werkzeugfenster nicht dorthin zurück, wo sie waren). Vielleicht lohnt es sich, die zugrunde liegende Klasse (WindowConfiguration) zu untersuchen, aber es ist keine einfache Lösung.