Подтвердить что ты не робот

Единый макет для "редактирования" и "отладки" в Visual Studio

В Visual Studio 2008 "Начать отладку" переключает Visual Studio на другой макет. Как заставить Visual Studio использовать единый макет в любое время?

Я мог бы попытаться выложить мои окна как в нормальном, так и в режиме "Отладки", насколько это возможно. Тем не менее, i) Visual Studio все равно сделает видимое перерисовку, и ii) я должен вручную синхронизировать макеты.

Обновление. Кажется, что правильными терминами являются "Дизайн" и "Отладка". Согласно Window Layouts: The Four Modes 'Нельзя сказать, что Visual Studio будет использовать одно состояние для всех режимов в это время.' Это правда?

4b9b3361

Ответ 1

Нет, это невозможно. сайт, который вы нашли, действительно точен:

В Visual Studio существует четыре разных режима макета окна:

  • Design View - это тот, который вы видите при запуске Visual Studio. Это то, что большинство людей называют "нормальным" видом.
  • Debugging View - это представление, которое вы получаете при входе в режим отладки, например, когда вы выполняете свой код
  • Полноэкранный просмотр - представление, которое вы получаете, когда вы переходите в режим просмотра → Полноэкранный режим (Shift + Alt + Enter).
  • File View - наименьшее известное представление, которое вы можете получить при открытии файла в DevEnv.eve

Здесь следует помнить, что оба окна инструментов и настройки панели управления сохраняются отдельно для каждого состояния. В настоящее время нет возможности сказать Visual Studio использовать одно состояние для всех режимов. Кроме того, при выключении Visual Studio в любом состоянии сохраняются все четыре состояния.

Очень странно, что вы хотели бы использовать один и тот же макет окна для всех четырех режимов. Те же окна, которые полезны во время разработки, вряд ли когда-либо будут полезны при отладке, и наоборот.
Например, в окне "Отладка" я скрываю окна "Панель инструментов", "Структура документа" и "Свойства". Затем я добавляю чрезвычайно полезные окна вызовов, авто, локалей, процессов, модулей и точек останова. Ни одна из последних панелей не будет полезна для меня в режиме разработки, поэтому я не хочу, чтобы они занимали место на экране. Но они неоценимы в режиме отладки, поэтому я хочу, чтобы они появились. Я также изменяю размер окон в двух разных режимах, исходя из их относительной важности (например, окна "Свойства" ).

Если вы по-прежнему считаете, что два представления должны иметь одинаковый макет окна, самое лучшее, что вы можете сделать, это перестроить окна вручную, чтобы добиться того же макета в обоих режимах. Я также рекомендую экспортировать ваши настройки макета окна (Инструменты → Параметры импорта и экспорта), чтобы у вас появилась новая копия, чтобы вернуться в случае катастрофы. Я сохраняю файлы настроек, содержащие мои предпочтительные настройки макета окна, для мониторов с одним монитором (ноутбук), двух мониторов и трех мониторов.

Ответ 2

Как указывали другие, вы не можете использовать одну группу настроек для управления представлениями дизайна и отладки. Visual Studio не позволяет получить максимальную отдачу от настроек размещения в окне, но подход, который я использую для управления макетами, может помочь.

Вместо того, чтобы вручную настраивать расположение окон вручную, попробуйте подумать о фиксированном количестве разных видов, с которыми вы хотите работать. Eclipse имеет перспективы, макеты окон, которые вы можете переключаться между ними. Подумайте о Visual Studio таким образом. Например, я использую два макета в Visual Studio: один, чтобы воспользоваться двумя мониторами, когда я сижу на своей физической рабочей станции, а другой для одного монитора, когда я работаю удаленно. Если вы можете ограничить себя использованием группы макетов, которая имеет смысл для вас, без ручной настройки окон, вы можете сделать размещение в дизайне и отлаживании окон одинаковым для каждого макета.

Однако переключение между макетами болезненно с Visual Studio из коробки. Вы должны перейти в Инструменты- > Параметры импорта и экспорта и вручную выбрать макет. Для переключения макетов на мою рабочую станцию ​​требуется более пяти щелчков мыши, а иногда и 15 секунд. Мы можем сделать гораздо лучше!

  • Сохраните позиции окна, которые вы хотите для каждого макета, в файлы настроек.
  • Сделать макрос для загрузки каждого файла настроек
  • Привязать макросы к ярлыкам клавиш или кнопкам панели инструментов.

Сохранить позиции окна в файле настроек

Упорядочить окна так, как вы хотите, для определенного макета. Visual Studio сохраняет местоположение почти для каждого окна (например, Solution Explorer, Output, Find and Replace), поэтому будьте осторожны. Visual Studio сохраняет конструктивные и отладочные макеты в одном файле, поэтому размещайте окна в обоих представлениях.

Перейдите в Инструменты- > Параметры импорта и экспорта. Выберите "Экспортировать выбранные параметры среды" и нажмите "Далее".
В следующем диалоговом окне вам предлагается выбрать параметры для экспорта. Снимите все настройки, кроме общих настроек/макетов окон, поэтому сохраняются только места размещения в окне, как в этих снимках экрана (я не могу развернуть окно, так что вот два снимка одного и того же диалога):

Choose settings to export

Choose settings to export

Введите имя для этого файла настроек и сохраните его. Повторяйте, пока у вас не будет файла настроек для каждого макета. Нет ограничений на количество файлов настроек, которые у вас могут быть.

Сделать макрос для загрузки каждого файла настроек

Перейдите в Инструменты- > Макросы- > Макро-проводник, чтобы показать свои макросы. Там уже должен быть макропроект под названием MyMacros. Создайте пустой проект макроса, если ни один из них не отображается. Дважды щелкните любой модуль в любом из этих проектов, чтобы открыть редактор макросов.

Введите это в редактор. Вы хотите, чтобы один основной суб, который прошел путь к файлу настроек и загружает файл, и один суб для каждого отдельного файла, который вызывает основную часть. Если вы сохраните свои файлы настроек в одной папке, вы можете передать прокси файлы для каждого файла только имя файла, а не весь путь.

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics

Public Module Module1

    Private RootFolder As String = "C:\Path\To\Folder\With\Settings\Files\"

    Private Sub ImportSettingsFile(ByVal FileName As String)
        FileName = IO.Path.Combine(RootFolder, FileName & ".vssettings")
        DTE.ExecuteCommand("Tools.ImportandExportSettings", "-import:""" & FileName & """")
    End Sub

    'Corresponds to file layoutA.settings    
    Public Sub ImportLayoutA()
        ImportSettingsFile("layoutA")
    End Sub

    'Corresponds to file layoutB.settings
    Public Sub ImportLayoutB()
        ImportSettingsFile("layoutB")
    End Sub

    'Repeat for each settings file

End Module

Закройте редактор макросов и вернитесь в Visual Studio. Все готово! Запуск любого из этих макросов автоматически загрузит файлы настроек. Вы можете дважды щелкнуть любой из подпрограмм в Macro Explorer, чтобы запустить их. Если вы всегда показываете Macro Explorer, этого может быть достаточно, но если вы этого не сделаете или не захотите щелкнуть макросами, чтобы их запустить, мы можем сделать еще лучше...

Привязать макросы к быстрым клавишам клавиатуры или кнопкам панели инструментов

Перейдите в Инструменты- > Параметры- > Среда- > Клавиатура. Это окно позволяет вам изменять любые привязки клавиатуры. Введите "Макро" без кавычек в команды "Показать", содержащие текстовое поле. Это покажет созданные вами макросы. Выберите любой макрос, щелкните в текстовом поле под названием "Нажмите клавиши быстрого доступа" и введите сочетание клавиш, которое вы хотите использовать для запуска макроса. Хит назначить, затем ОК. Теперь вы можете использовать эту команду клавиатуры для загрузки файла настроек.

enter image description here

В качестве альтернативы вы можете использовать кнопку панели инструментов вместо или в дополнение к привязке клавиатуры. Перейдите в Инструменты- > Настроить. Перейдите на вкладку "Команды", выберите "Панель инструментов" и выберите панель инструментов, на которую вы хотите добавить кнопку (стандартная - основная панель инструментов). Нажмите "Добавить команду", выберите категорию "Макросы", выберите макрос, для которого вы хотите добавить кнопку, и нажмите "ОК". У вас будет новая кнопка на панели инструментов, которая загружает макет окна из этого макроса.

enter image description here

enter image description here

Имейте в виду, что клавиши быстрого доступа и кнопки панели инструментов сами являются настройками. Если вы импортируете файл настроек, который перезаписывает любой из них, вам придется переделать этот последний шаг. Файлы настроек размещения окна не будут перезаписывать эти значения, поскольку вы экспортируете только окна. Рекомендуется периодически экспортировать и сохранять все настройки, а не только настройки окна, в случае, если это произойдет, и вы хотите восстановить настройки без окна.

Ответ 3

Думаю, ваш вопрос: "Как использовать те же настройки для обоих режимов?" Я прав? Несмотря на то, что @Chris дал отличный тезис о том, как записывать автоматически, я хотел бы указать, для кого-то еще, кто находит этот вопрос, есть простой способ добиться одинаковых настроек окна как для режимов проектирования, так и для отладки.

Экспортируйте свои настройки:

  • Выберите "Общие настройки/макеты окон" (в VS 2013) и сохраните файл.
  • Откройте файл в редакторе XML (или что-то еще... это файл XML)
  • Найти /UserSettings/Category/Design/WindowProfile и скопировать весь node. - Предполагается, что ваш проектный вид - это тот, который вы хотите использовать для обоих режимов.
  • Найти /UserSettings/Category/Debug/WindowProfile и заменить его на тот, который вы скопировали из Design.
  • Сохранить и повторно импортировать.

У меня есть один из этих файлов настроек для дома, удаленного и офиса.