Freigeben über


„Bearbeiten und Fortfahren“ konfigurieren (C#, VB, C++)

Sie können „Hot Reload“, zuvor als „Bearbeiten und Fortfahren“ bezeichnet, im Dialogfeld Visual Studio-Optionen zur Entwurfszeit deaktivieren oder aktivieren. Hot Reload funktioniert nur in Debugbuilds. Weitere Informationen finden Sie unter Hot Reload.

"Bearbeiten" und "Weiter" ist ein zeitsparendes Feature, mit dem Sie Änderungen am Quellcode vornehmen können, während sich ihr Programm im Unterbrechungsmodus befindet. Wenn Sie die Ausführung des Programms fortsetzen, indem Sie einen Ausführungsbefehl wie Continue oder Stepauswählen, wendet Edit and Continue automatisch die Codeänderungen mit einigen Einschränkungen an. Auf diese Weise können Sie während einer Debugsitzung Änderungen an Ihrem Code vornehmen, anstatt das gesamte Programm zu beenden, neu zu kompilieren und die Debugsitzung neu zu starten.

Sie können im Visual Studio-Dialogfeld Optionen die Option „Bearbeiten und Fortfahren“ zur Entwurfszeit aktivieren oder deaktivieren. Bearbeiten und Fortsetzen funktioniert nur in Debugbuilds. Weitere Informationen hierzu finden Sie unter Bearbeiten und Fortfahren.

Bei nativem C++ erfordert Bearbeiten und Fortfahren die Verwendung der /INCREMENTAL-Option. Weitere Informationen zu Featureanforderungen in C++ finden Sie in diesem Blogbeitrag und Edit and Continue (C++).

Aktivieren und Konfigurieren von Hot Reload

Sie können Hot Reload konfigurieren, indem Sie über die Dropdownschaltfläche Hot Reload die Option Einstellungen auswählen.

Screenshot der Konfiguration von Hot Reload.

Oder öffnen Sie Tools>Optionen>Debuggen>.NET/C++ Hot Reload.

Anmerkung

Wenn IntelliTrace aktiviert ist und Sie sowohl IntelliTrace-Ereignisse als auch Anrufinformationen sammeln, ist "Bearbeiten" und "Weiter" deaktiviert. Weitere Informationen finden Sie unter IntelliTrace.

Zu den Einstellungen für "Hot Reload" gehören:

  • Hot Reloadaktivieren. Aktiviert "Hot Reload" beim Starten mit dem angefügten Debugger (F5).

  • "Hot Reload" beim Starten ohne Debuggen aktivieren. Aktiviert 'Hot Reload' beim Starten ohne angefügten Debugger (STRG+F5).

  • Hot Reload bei Dateispeicherung anwenden. Wendet Codeänderungen an, wenn Sie die Datei speichern.

  • Protokollierungsausführlichkeit. Filtert die Menge der Informationen, die im Fenster „Hot Reload-Ausgabe“ angezeigt werden.

Screenshot der Einstellungen für .NET Hot Reload.

Bei .NET Hot Reload können Sie auch steuern, ob Hot Reload auf Projektebene verfügbar ist, indem Sie die .NET 6+-Projektdatei launchSetting.json ändern und hotReloadEnabled auf falsefestlegen.

Beispiel:

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

Für C++ können Sie zusätzliche Optionen festlegen, indem Sie Tools>Optionen>Debuggen>allgemeineöffnen. Stellen Sie sicher, dass Hot Reload aktivieren ausgewählt ist, und legen Sie die anderen Optionen fest:

  • Änderungen beim Fortfahren anwenden (nur nativ)

    Wenn diese Option ausgewählt ist, kompiliert und wendet Visual Studio automatisch Codeänderungen an, wenn Sie das Debuggen nach einer Unterbrechung fortsetzen. Andernfalls können Sie Änderungen mithilfe von Debuggen>Codeänderungen übernehmen anwenden.

  • Warnung vor veraltetem Code (nur nativ)

    Wenn diese Option ausgewählt ist, werden Warnungen zu veraltetem Code angezeigt.

Aktivieren oder Deaktivieren von "Bearbeiten" und "Fortfahren"

  1. Wenn Sie sich in einer Debugsitzung befinden, beenden Sie das Debuggen (Debuggen>Debuggen beenden oder UMSCHALT+F5).

  2. Klicken Sie unter Extras>Optionen> (oder Debuggen>Optionen) >Debuggen>Allgemein im rechten Bereich auf Bearbeiten und Fortfahren.

    Anmerkung

    Wenn IntelliTrace aktiviert ist und Sie sowohl IntelliTrace-Ereignisse als auch Anrufinformationen sammeln, ist "Bearbeiten" und "Weiter" deaktiviert. Weitere Informationen finden Sie unter IntelliTrace.

  3. Stellen Sie bei C++-Code sicher, dass Natives Bearbeiten und Fortfahren aktivieren ausgewählt ist, und legen Sie die weiteren Optionen fest:

    • Änderungen beim Fortfahren anwenden (nur nativ)

      Wenn diese Option ausgewählt ist, kompiliert und wendet Visual Studio automatisch Codeänderungen an, wenn Sie das Debuggen aus einem Unterbrechungszustand fortsetzen. Andernfalls können Sie Änderungen mithilfe von Debuggen>Codeänderungen übernehmen anwenden.

    • Vor veraltetem Code warnen (nur nativ)

      Wenn diese Option ausgewählt ist, werden Warnungen zu veraltetem Code angezeigt.

  4. Wählen Sie OKaus.

Anhalten von Codeänderungen

Während sich Hot Reload im Prozess des Anwendens von Codeänderungen befindet, können Sie den Vorgang beenden.

Während "Edit and Continue" die Codeänderungen anwendet, können Sie den Vorgang beenden.

Vorsicht

Das Beenden von Codeänderungen in verwaltetem Code kann zu unerwarteten Ergebnissen führen. Das Anwenden von Änderungen auf verwalteten Code ist normalerweise ein schneller Prozess, sodass es selten erforderlich ist, Codeänderungen in verwaltetem Code zu beenden.

So beenden Sie die Anwendung von Codeänderungen:

  • Klicken Sie im Menü Debuggen auf Übernehmen von Codeänderungen beenden.

    Dieses Menüelement ist nur sichtbar, wenn Codeänderungen angewendet werden.

    Wenn Sie diese Option auswählen, werden keine Codeänderungen übernommen.