Примечание: Я начал писать ответ, но дальнейшее тестирование показало, что оно не работает так хорошо, как я надеялся. Здесь все равно. Возможно, это поможет вам продвинуться дальше.
В VS есть понятие хранения различных макетов, основанных на том, что делает разработчик. При отладке окна могут быть расположены иначе, чем во время «нормального» редактирования. Начните отладку, а окна переместитесь/покажите/скройте, чтобы быть в том же положении, что и последний сеанс отладки. Остановите отладку, и окна вернутся к состоянию перед отладкой.
Я думаю, вы знали это уже, но отлично, что вы можете добавлять новые макеты самостоятельно.
Если вы откроете редактор макросов (Alt-F11), вы увидите проект образцов, в котором есть файл «Утилиты». Там вы найдете 2 макроса, SaveView и LoadView, которые сохраняют и загружают текущие конфигурации окон. Каждый из них запрашивает имя вида.
Я пробовал создать новый макет/представление, скрывая окна и перемещая их, а затем повторно загружая представление. Он отлично работал.
Вы можете изменить макросы, чтобы загрузить или сохранить представление по имени решения. Или у вас есть одна пара для редактирования и одна пара для отладки. Если вы пишете надстройку, вы можете получить уведомление о загрузке решения, но я не знаю, можете ли вы определить начало сеанса отладки.
Что не так здорово, так это то, что если вы оставите VS и запустите его, загрузка ранее сохраненного макета не будет работать очень хорошо (например, некоторые окна инструментов не возвращаются туда, где они были). Возможно, стоит изучить базовый класс (WindowConfiguration), но это не простое решение.