Настройка правки и продолжения (C#, VB, C++)
Вы можете отключить или включить Горячая перезагрузка ранее с именем "Изменить и продолжить" в диалоговом окне "Параметры Visual Studio" во время разработки. Горячая перезагрузка работает только в отладочных сборках. Дополнительные сведения см. в Горячая перезагрузка.
"Изменить и продолжить" это режим, позволяющий экономить время за счет внесения изменений в исходный код, в то время как программа находится в режиме приостановки выполнения. При возобновлении выполнения программы с помощью команды Продолжить или Шаг в режиме "Изменить и продолжить" происходит автоматическое применение изменений кода с некоторыми ограничениями. Это позволяет вносить изменения в код во время сеанса отладки, без необходимости остановки, перекомпиляции всего приложения и перезапуска сеанса отладки.
Вы можете отключить или включить изменение и продолжить в диалоговом окне "Параметры Visual Studio" во время разработки. Операция Изменить и продолжить работает только в отладочных сборках. Дополнительные сведения см. в разделе Изменить и продолжить.
В случае машинного кода C++ для режима Изменить и продолжить необходимо использовать параметр /INCREMENTAL
. Дополнительные сведения о требованиях для компонентов в C++ см. в этой записи блога и статье о режиме "Изменить и продолжить" (C++).
Включение и настройка Горячая перезагрузка
Для настройки Горячей перезагрузки можно выбрать Параметры в раскрывающемся списке Горячая перезагрузка.
Или откройте Инструменты>Параметры>Отладка>Горячая перезагрузка .NET/C++.
Примечание.
Если включено средство IntelliTrace и собираются как события IntelliTrace, так и сведения о вызовах, операция "Изменить и продолжить" становится недоступна. Дополнительные сведения см. в статье об IntelliTrace.
Среди параметров Горячей загрузки есть следующие:
Enable Hot Reload and Edit and Continue when debugging (Включить Горячую перезагрузку и режим "Изменить и продолжить" при отладке). Включает Горячую перезагрузку при запуске с подключенным отладчиком (F5).
Enable Hot Reload when starting without debugging (Включить Горячую перезагрузку при запуске без отладки). Включает Горячую перезагрузку при запуске без подключенного отладчика (Ctrl+F5).
Apply Hot Reload on File Save (Применить Горячую перезагрузку при сохранении файла). Применяет изменения кода при сохранении файла.
Подробное ведение журнала. Фильтрует объем информации, отображаемой в окне вывода Горячая перезагрузка.
Для .NET Горячая перезагрузка вы также можете управлять доступностью Горячая перезагрузка на уровне проекта, изменив файл launchSetting.json проекта .NET 6+ и указав значение false
hotReloadEnabled
.
Пример:
{
"profiles": {
"Console": {
"commandName": "Project",
"hotReloadEnabled": false
}
}
}
Для C++можно задать дополнительные параметры, открыв общие параметры отладки>средств>>. Убедитесь, что выбран параметр "Включить Горячая перезагрузка" и задайте другие параметры:
Применить изменения при продолжении (только машинный код)
Если этот флажок установлен, Visual Studio автоматически компилирует и применяет изменения кода при продолжении отладки из состояния останова. В противном случае можно выбрать применение изменений с помощью команд Отладка>Применить изменения кода.
Предупреждать об устаревшем коде (только машинный код)
Если этот флажок установлен, появляются предупреждения об устаревшем коде.
Включение и отключение возможности "Изменить и продолжить".
Если вы находитесь в сеансе отладки, остановите отладку (Отладка>Остановить отладку или сочетанием клавиш SHIFT+F5).
В разделе Инструменты>Параметры> (или Отладка>Параметры) >Отладка>Общие в области справа выберите Изменить и продолжить.
Примечание.
Если включено средство IntelliTrace и собираются как события IntelliTrace, так и сведения о вызовах, операция "Изменить и продолжить" становится недоступна. Дополнительные сведения см. в статье об IntelliTrace.
В случае с кодом C++ убедитесь, что установлен флажок Включить функцию "Изменить машинный код и продолжить", и задайте другие параметры:
Применить изменения при продолжении (только машинный код)
Если этот флажок установлен, Visual Studio автоматически компилирует и применяет изменения кода при продолжении отладки из состояния останова. В противном случае можно выбрать применение изменений с помощью команд Отладка>Применить изменения кода.
Предупреждать об устаревшем коде (только машинный код)
Если этот флажок установлен, появляются предупреждения об устаревшем коде.
Нажмите ОК.
Остановка внесения изменений в код
Хотя Горячая перезагрузка находится в процессе применения изменений кода, можно остановить операцию.
Пока режим "Изменить и продолжить" находится в процессе внесения изменений в код, можно остановить эту операцию.
Внимание
Остановка внесения изменений кода в управляемом коде может привести к непредсказуемым результатам. Внесение изменений в управляемый код – обычно быстрый процесс, поэтому редко есть необходимость его останавливать.
Для остановки внесения изменений в код:
Выберите команду Остановить применение изменений кода в меню Отладка.
Этот пункт меню становится видимым только в процессе внесения изменений в код.
При выборе этого параметра никакие изменения в коде не фиксируются.