Compartir a través de


Configurar editar y continuar (C#, VB, C++)

Puede deshabilitar o habilitar Recarga en caliente, anteriormente denominada Editar y continuar, desde el menú Herramientas de >Opciones en tiempo de diseño. Hot Reload solo funciona en compilaciones de depuración. Para obtener más información, consulte Hot Reload.

Para C++ nativo, Hot Reload requiere usar la opción /INCREMENTAL. Para obtener más información sobre los requisitos de características en C++, consulte esta entrada de blogy Editar y continuar (C++).

Nota:

Si IntelliTrace está habilitado y recopila tanto eventos de IntelliTrace como información de llamadas, Hot Reload está deshabilitado. Para obtener más información, consulte IntelliTrace.

Editar y continuar es una característica de ahorro de tiempo que le permite realizar cambios en el código fuente mientras el programa está en modo de interrupción. Al reanudar la ejecución del programa eligiendo un comando de ejecución como Continuar o Paso, Editar y Continuar aplica automáticamente los cambios de código con algunas limitaciones. Esto le permite realizar cambios en el código durante una sesión de depuración, en lugar de tener que detener, volver a compilar todo el programa y reiniciar la sesión de depuración.

Puede deshabilitar o habilitar Editar y continuar en el cuadro de diálogo Opciones de Visual Studio en tiempo de diseño. Editar y continuar solo funciona en compilaciones de depuración. Para obtener más información, vea Editar y continuar.

Para C++ nativo, Editar y continuar requiere usar la opción /INCREMENTAL. Para obtener más información sobre los requisitos de características en C++, consulte esta entrada de blogy Editar y continuar (C++).

Nota:

Si IntelliTrace está habilitado y recopila los eventos de IntelliTrace y la información de llamada, Editar y continuar está deshabilitado. Para obtener más información, consulte IntelliTrace.

Habilita y configura Hot Reload

Puede configurar la Recarga en caliente seleccionando Configuración en el botón desplegable Recarga en caliente.

Captura de pantalla de la configuración de Hot Reload.

O bien, abra el panel Herramientas>Opciones y ajuste las opciones en la sección Toda la Configuración>Depuración>.NET/C++ Recarga en caliente. Las siguientes opciones están disponibles:

  • Habilitar Hot Reload: Use la característica Hot Reload con código .NET y C++ cuando la aplicación se esté ejecutando con el depurador adjunto (F5).

  • Aplicar automáticamente los cambios al continuar (solo nativo): Visual Studio compila y aplica automáticamente los cambios pendientes de código realizados al continuar el proceso desde un estado de interrupción. Si no está seleccionado, puede optar por aplicar cambios mediante el elemento Aplicar cambios de código en el menú Depurar .

  • Advertir sobre el código obsoleto (solo nativo): obtener advertencias sobre código obsoleto.

  • Habilitar cuando no se está depurando: Habilita Hot Reload cuando la aplicación se ejecuta sin el depurador conectado (Ctrl + F5).

  • Aplicar al guardar el archivo: aplica los cambios cuando se guarda el archivo.

  • Nivel de verbosidad de registro: establezca el nivel de registro cuando Hot Reload esté habilitado: Mínimo, Detallado o Diagnóstico.

Captura de pantalla de la configuración de Hot Reload de .NET en C++ en Visual Studio.

O bien, abra el cuadro de diálogo Herramientas>Opciones y ajuste las opciones en la sección Depuración>Recarga activa .NET/C++. Las siguientes opciones están disponibles:

  • Habilitar Hot Reload: habilita Hot Reload al iniciar con el depurador adjunto (F5).

  • Habilitar recarga activa al iniciar sin depurar: habilita la recarga activa cuando se inicia sin el depurador conectado (Ctrl+F5).

  • Aplicar recarga en caliente al guardar archivo: aplica los cambios de código al guardar el archivo.

  • Verbosidad del registro: Filtra la cantidad de información que se muestra en la ventana de salida de Recarga en caliente.

Captura de pantalla de la configuración de .NET Hot Reload.

Para C++, puede establecer opciones adicionales abriendo Herramientas>Opciones>Depuración>General. Asegúrese de que la opción Habilitar recarga activa está seleccionada y establezca las demás opciones:

  • Aplicar cambios al continuar (solo nativo): Visual Studio compila y aplica automáticamente los cambios de código pendientes realizados al continuar el proceso desde un estado de interrupción. Si no está seleccionado, puede optar por aplicar cambios mediante el elemento Aplicar cambios de código en el menú Depurar .

  • Advertir sobre el código obsoleto (solo nativo): obtener advertencias sobre código obsoleto.

Para .NET Hot Reload, también puede controlar si está disponible a nivel de proyecto modificando el archivo launchSetting.json de su proyecto de .NET 6+ y estableciendo hotReloadEnabled a false.

Ejemplo:

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

Habilitar o deshabilitar Editar y continuar

  1. Si está en una sesión de depuración, detenga la depuración (Depurar>Detener depuración o Mayús+F5).

  2. En Herramientas>Opciones> (o Depurar>Opciones) >Depuración>General, seleccione Editar y Continuar en el panel derecho.

    Nota:

    Si IntelliTrace está habilitado y recopila los eventos de IntelliTrace y la información de llamada, Editar y continuar está deshabilitado. Para obtener más información, consulte IntelliTrace.

  3. Para el código de C++, asegúrese de que habilitar edición nativa y continuar está seleccionado y establezca las otras opciones:

    • Aplicar cambios al continuar (solo nativo): Visual Studio compila y aplica automáticamente los cambios de código pendientes realizados al continuar el proceso desde un estado de interrupción. Si no está seleccionado, puede optar por aplicar cambios mediante el elemento Aplicar cambios de código en el menú Depurar .

    • Advertir sobre el código obsoleto (solo nativo): obtener advertencias sobre código obsoleto.

  4. Selecciona Aceptar.

Configuración del reinicio automático

Hot Reload puede reiniciar automáticamente el proceso de la aplicación cuando se realiza un cambio no admitido (también denominado edición brusca), en lugar de finalizar toda la sesión de depuración. Para habilitarlo, edite el archivo de proyecto para agregar la siguiente declaración de propiedad.

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

También puede establecer esta propiedad en un archivo Directory.Build.props . El reinicio automático funciona para los tipos de proyecto en los que un reinicio rápido del proceso es factible (por ejemplo, algunos proyectos aspire o web), por lo que puede continuar depurando con una interrupción mínima.

Se trata de un reinicio basado en el proceso. Por ejemplo, si estás depurando varios proyectos, solo se recompilan y reinician los proyectos modificados y los proyectos dependientes.

Configuración de recarga activa para Razor

Al cohospedar el compilador de Razor dentro del proceso de Roslyn, editar un archivo .razor durante la recarga activa es más rápido y eficaz. El cohosting también mejora la confiabilidad general al usar Hot Reload.

Para habilitar el cohospedaje, seleccione Herramientas>Opciones, y luego busque cohost. Seleccione o anule la selección de la configuración Usar el servidor de Roslyn Cohost para Razor (requiere reiniciar). Si habilita esta opción, reinicie Visual Studio. El cohospedaje está habilitado de forma predeterminada.

Detener los cambios de código

Puedes detener la operación mientras Hot Reload está en proceso de aplicar cambios de código.

Mientras Edit and Continue está en proceso de aplicar cambios de código, puede detener la operación.

Precaución

Detener los cambios de código en el código administrado puede producir resultados inesperados. La aplicación de cambios en el código administrado suele ser un proceso rápido, por lo que rara vez es necesario detener los cambios de código en el código administrado.

Para dejar de aplicar cambios de código:

  • Elija Detener la aplicación de cambios de código en el menú Depurar .

    Este elemento de menú solo está visible cuando se aplican cambios de código.

    Si elige esta opción, no se confirma ninguno de los cambios de código.