Partager via


Configurer Modifier et continuer (C#, VB, C++)

Vous pouvez désactiver ou activer le rechargement à chaud, précédemment appelé Modifier et continuer, à partir du menuOptions de Visual Studio > au moment du design. Le rechargement à chaud fonctionne uniquement dans les builds de débogage. Pour plus d’informations, consultez Hot Reload.

Pour C++natif, le rechargement à chaud nécessite l’utilisation de l’option /INCREMENTAL . Pour plus d’informations sur les exigences en matière de fonctionnalités en C++, consultez ce billet de blog et Modifier et continuer (C++).

Remarque

Si IntelliTrace est activé et que vous collectez à la fois les événements IntelliTrace et les informations d’appel, le rechargement à chaud est désactivé. Pour plus d’informations, consultez IntelliTrace .

Modifier et continuer est une fonctionnalité d’économie de temps qui vous permet d’apporter des modifications à votre code source pendant que votre programme est en mode arrêt. Lorsque vous reprenez l’exécution du programme en choisissant une commande d’exécution telle que Continuer ou Étape, Modifier et Continuer applique automatiquement les modifications de code avec certaines limitations. Cela vous permet d’apporter des modifications à votre code pendant une session de débogage, au lieu de devoir arrêter, recompiler l’intégralité de votre programme et redémarrer la session de débogage.

Vous pouvez désactiver ou activer Modifier et continuer dans la boîte de dialogue Options de Visual Studio au moment du design. Modifier et Continuer ne fonctionne que dans les versions Debug. Pour plus d’informations, consultez Modifier et Continuer.

Pour C++natif, Modifier et Continuer nécessite l’utilisation de l’option /INCREMENTAL. Pour plus d’informations sur les exigences en matière de fonctionnalités en C++, consultez ce billet de blog et Modifier et continuer (C++).

Remarque

Si IntelliTrace est activé et que vous collectez à la fois les événements IntelliTrace et les informations d’appel, Modifier et Continuer est désactivé. Pour plus d’informations, consultez IntelliTrace .

Activer et configurer le rechargement à chaud

Vous pouvez configurer le rechargement à chaud en sélectionnant Paramètres dans le bouton déroulant Rechargement à chaud .

Capture d’écran de la configuration du rechargement à chaud.

Vous pouvez également ouvrir le volet Outils>Options et ajuster les options dans la section Réglages>Débogage>Rechargement à chaud .NET/C++. Les options suivantes sont disponibles :

  • Activer le rechargement à chaud : utilisez la fonctionnalité de rechargement à chaud avec le code .NET et C++ lorsque votre application s’exécute avec le débogueur attaché (F5).

  • Appliquez automatiquement les modifications sur continue (native uniquement) : Visual Studio compile et applique automatiquement les modifications de code en attente que vous avez apportées lors de la poursuite du processus à partir d’un état d’arrêt. Si ce n’est pas le cas, vous pouvez choisir d’appliquer des modifications à l’aide de l’élément Appliquer les modifications du code sous le menu Débogage .

  • Signaler le code périmé (natif uniquement) : recevez des avertissements sur le code périmé.

  • Activer quand le débogage n’est pas activé : active le rechargement à chaud lorsque votre application s’exécute sans le débogueur attaché (Ctrl + F5).

  • Applique lors de l'enregistrement du fichier : applique les modifications lorsque le fichier est enregistré.

  • Verbosité de journalisation : définissez le niveau de journalisation lorsque le rechargement à chaud est activé : Minimal, Détaillé ou Diagnostic.

Capture d’écran des paramètres du rechargement à chaud .NET C++ dans Visual Studio.

Vous pouvez également ouvrir la boîte de dialogue Outils>Options et ajuster les options de la section Débogage>Hot Reload .NET/C++. Les options suivantes sont disponibles :

  • Activer le rechargement à chaud : active le rechargement à chaud au démarrage du débogueur attaché (F5).

  • Activer le rechargement à chaud lors du démarrage sans débogage : active le rechargement à chaud lors du démarrage sans le débogueur attaché (Ctrl+F5).

  • Utiliser Hot Reload lors de la sauvegarde du fichier : applique les modifications de code lorsque le fichier est sauvegardé.

  • Journalisation détaillée : filtre la quantité d’informations affichées dans la fenêtre De rechargement à chaud.

Capture d’écran des paramètres pour le rechargement à chaud .NET.

Pour C++, vous pouvez ajouter des options en ouvrant Outils>Options>Débogage>Général. Vérifiez que activer le rechargement à chaud est sélectionné et définissez les autres options :

  • Appliquez les modifications lors de la continuation (uniquement pour la version native) : Visual Studio compile et applique automatiquement les modifications de code en attente que vous avez apportées lorsque vous reprenez le processus après un arrêt. Si ce n’est pas le cas, vous pouvez choisir d’appliquer des modifications à l’aide de l’élément Appliquer les modifications du code sous le menu Débogage .

  • Signaler le code périmé (natif uniquement) : recevez des avertissements sur le code périmé.

Pour le rechargement à chaud .NET, vous pouvez également contrôler si le rechargement à chaud est disponible au niveau du projet en modifiant le fichier launchSetting.json de votre projet .NET 6+ et en définissant hotReloadEnabled sur false.

Exemple:

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

Activer ou désactiver Modifier et continuer

  1. Si vous êtes dans une session de débogage, arrêtez le débogage (Débogage>Arrêter le débogage ou Maj+F5).

  2. Dans Outils>Options> (ou Débogage>Options) >Débogage>Général, sélectionnez Modifier et Continuer dans le volet droit.

    Remarque

    Si IntelliTrace est activé et que vous collectez à la fois les événements IntelliTrace et les informations d’appel, Modifier et Continuer est désactivé. Pour plus d’informations, consultez IntelliTrace .

  3. Pour le code C++, assurez-vous que Activer la modification native et continuer est sélectionné et définissez les autres options :

    • Appliquer les modifications lors de la continuation (native uniquement) : Visual Studio compile et applique automatiquement les modifications de code en attente que vous avez effectuées lorsque vous poursuivez le processus à partir d’un état d'arrêt. Si ce n’est pas le cas, vous pouvez choisir d’appliquer des modifications à l’aide de l’élément Appliquer les modifications du code sous le menu Débogage .

    • Signaler le code périmé (natif uniquement) : recevez des avertissements sur le code périmé.

  4. Sélectionnez OK.

Configurer le redémarrage automatique

Le rechargement à chaud peut redémarrer automatiquement le processus de l’application lorsqu’une modification non prise en charge (également appelée modification grossière) est effectuée, au lieu de mettre fin à l’intégralité de la session de débogage. Pour l’activer, modifiez votre fichier projet pour ajouter la déclaration de propriété suivante.

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

Vous pouvez également définir cette propriété dans un fichier Directory.Build.props . Le redémarrage automatique fonctionne pour les types de projets où un redémarrage rapide du processus est réalisable (par exemple, certains projets Aspire ou web), afin de continuer le débogage avec une interruption minimale.

Il s’agit d’un redémarrage basé sur les processus. Par exemple, si vous déboguez plusieurs projets, seuls les projets modifiés et tous les projets dépendants sont reconstruits et redémarrés.

Configurer le rechargement à chaud pour Razor

En cohébergant le compilateur Razor à l’intérieur du processus Roslyn, la modification d’un fichier .razor pendant le rechargement à chaud est plus rapide et plus efficace. La cohébergement améliore également la fiabilité globale lors de l’utilisation du rechargement à chaud.

Pour activer la cohébergement, sélectionnez Options des outils>, puis recherchez .cohost Sélectionnez ou désélectionnez le paramètre Utiliser le serveur Roslyn Cohost pour Razor (nécessite un redémarrage). Si vous activez cette option, redémarrez Visual Studio. Le cohébergement est activé par défaut.

Arrêter les modifications de code

Pendant que le rechargement à chaud est en train d'appliquer les modifications du code, vous pouvez arrêter l'opération.

Pendant que Edit and Continue est en cours d’application des modifications de code, vous pouvez arrêter l’opération.

Attention

L’arrêt des modifications de code dans le code managé peut produire des résultats inattendus. L’application de modifications au code managé est normalement un processus rapide. Il est donc rarement nécessaire d’arrêter les modifications de code dans le code managé.

Pour arrêter l’application des modifications de code :

  • Dans le menu Déboguer, cliquez sur Cesser d’appliquer les modifications du code.

    Cet élément de menu est visible uniquement lorsque les modifications de code sont appliquées.

    Si vous choisissez cette option, aucune modification du code n’est validée.