Partilhar via


Configurar Hot Reload (C#, VB, C++)

Podes desativar ou ativar Hot Reload (anteriormente chamado Editar e Continuar) no menu Visual Studio Tools>Opções no momento do design. Hot Reload só funciona em builds de depuração. Para mais informações, consulte Hot Reload.

Para C++ nativo, Hot Reload requer usar a opção /INCREMENTAL. Para obter mais informações sobre os requisitos de recursos em C++, consulte esta postagem de blog e Editar e continuar (C++).

Observação

Se o IntelliTrace estiver ativado e recolheres tanto os eventos do IntelliTrace como a informação das chamadas, o Hot Reload fica desativado. Para obter mais informações, consulte IntelliTrace.

Ativar e configurar o Hot Reload

Pode configurar Hot Reload selecionando Settings no botão suspenso Hot Reload.

Captura de ecrã da configuração de Hot Reload.

Ou, abrir o painel Tools>Options e ajustar as opções na secção de Todas as Definições>Debugging>.NET/C++ Hot Reload. As seguintes opções estão disponíveis:

  • Ativar Hot Reload: Use a funcionalidade Hot Reload com código .NET e C++ quando a sua aplicação estiver a correr com o depurador ligado (F5).

  • Aplicar automaticamente alterações ao continuar (apenas nativo): Visual Studio compila e aplica automaticamente quaisquer alterações de código pendentes que tenha feito ao continuar o processo a partir de um estado de interrupção. Se não estiver selecionado, você poderá optar por aplicar alterações usando o item Aplicar alterações de código no menu Depurar .

  • Avisar sobre código obsoleto (somente nativo): Receba avisos sobre código obsoleto.

  • Ativar quando não estiver a depurar: Ativa Hot Reload quando a sua aplicação corre sem o depurador ligado (Ctrl + F5).

  • Aplicar ao salvar arquivo: aplica alterações quando o arquivo é salvo.

  • Verbosidade do registo: Defina o nível de logging quando o Hot Reload estiver ativado: Minimal, Detalhado ou Diagnóstico.

Captura de ecrã das definições para .NET Hot Reload C++ em Visual Studio.

Ou, abrir o diálogo Tools>Options e ajustar as opções na secção Debugging>.NET/C++ Hot Reload. As seguintes opções estão disponíveis:

  • Ativar Hot Reload: Ativa Hot Reload ao iniciar com o depurador ligado (F5).

  • Ativar Hot Reload ao iniciar sem depuração: Ativa Hot Reload ao iniciar sem o depurador ligado (Ctrl+F5).

  • Aplicar Hot Reload no File Save: Aplica alterações de código quando guarda o ficheiro.

  • Logging Verbosity: Filtra a quantidade de informações apresentada na janela de resultados do Hot Reload.

Captura de ecrã das definições para .NET Hot Reload.

Para C++, você pode definir opções extras abrindo Tools>Options>Debugging>General. Certifica-te de que Enable Hot Reload está selecionado e define as outras opções:

  • Aplicar alterações em continuar (apenas nativo): Visual Studio compila e aplica automaticamente quaisquer alterações de código pendentes que tenha feito ao continuar o processo a partir de um estado de interrupção. Se não estiver selecionado, você poderá optar por aplicar alterações usando o item Aplicar alterações de código no menu Depurar .

  • Avisar sobre código obsoleto (somente nativo): Receba avisos sobre código obsoleto.

Por .NET Hot Reload, também pode controlar se Hot Reload está disponível ao nível do projeto, modificando o ficheiro launchSettings.json do seu projeto .NET 6+ e definindo hotReloadEnabled para false.

Exemplo:

{
  "profiles": {
    "Console": {
      "commandName": "Project",
      "hotReloadEnabled": false
    }
  }
}

Configurar a reinicialização automática

O Hot Reload pode reiniciar automaticamente o processo da aplicação quando for feita uma alteração não suportada (também chamada de edição rude), em vez de terminar toda a sessão de depuração. Para habilitar isso, edite o arquivo de projeto para adicionar a seguinte declaração de propriedade.

<PropertyGroup>
  <HotReloadAutoRestart>true</HotReloadAutoRestart>
</PropertyGroup>

Você também pode definir essa propriedade em um arquivo Directory.Build.props . A reinicialização automática funciona para tipos de projeto em que uma reinicialização rápida do processo é viável (por exemplo, alguns projetos Aspire ou web), para que você possa continuar a depuração com o mínimo de interrupção.

Este é um reinício baseado em processos. Por exemplo, se você estiver depurando vários projetos, somente os projetos alterados e quaisquer projetos dependentes serão reconstruídos e reiniciados.

Configure o "Hot Reload" para o Razor

Ao co-hospedar o compilador Razor dentro do processo Roslyn, editar um ficheiro .razor durante Hot Reload é mais rápido e eficiente. O co-hosting também melhora a fiabilidade geral ao usar o Hot Reload.

Para habilitar a cohospedagem, selecione Ferramentas>Opções, e depois procure por cohost. Selecione ou desmarque a configuração Usar servidor Roslyn Cohost para Razor (requer reinicialização). Se ativares esta opção, reinicia o Visual Studio. Cohosting é ativado por padrão.

Para informações sobre resolução de problemas, veja Escrever e depurar código a correr com Hot Reload em Visual Studio.

Parar alterações de código

Enquanto o Hot Reload está a aplicar alterações de código, pode parar a operação.

Atenção

Parar as alterações de código no código gerenciado pode produzir resultados inesperados. A aplicação de alterações ao código gerenciado é normalmente um processo rápido, portanto, raramente há necessidade de interromper as alterações de código no código gerenciado.

Para parar de aplicar alterações de código:

  • Escolha Parar de aplicar alterações de código no menu Depurar .

    Este item de menu é visível somente quando as alterações de código estão sendo aplicadas.

    Se você escolher essa opção, nenhuma das alterações de código será confirmada.