Konfigurowanie edycji i kontynuowania (C#, VB, C++)

W oknie dialogowym Opcje programu Visual Studio w czasie projektowania można wyłączyć lub włączyć Przeładowywanie na gorąco, wcześniej o nazwie Edytuj i kontynuuj. Przeładowywanie na gorąco działa tylko w kompilacjach debugowania. Aby uzyskać więcej informacji, zobacz Przeładowywanie na gorąco.

Edytuj i kontynuuj to funkcja oszczędzająca czas, która umożliwia wprowadzanie zmian w kodzie źródłowym, gdy program jest w trybie przerwania. Po wznowieniu wykonywania programu, wybierając polecenie wykonywania, takie jak Kontynuuj lub Krok, Edytuj i Kontynuuj automatycznie stosuje zmiany kodu z pewnymi ograniczeniami. Umożliwia to wprowadzanie zmian w kodzie podczas sesji debugowania, zamiast konieczności zatrzymywania, ponownego kompilowania całego programu i ponownego uruchamiania sesji debugowania.

Możesz wyłączyć lub włączyć opcję Edytuj i kontynuuj w oknie dialogowym Opcje programu Visual Studio w czasie projektowania. Funkcja Edytuj i kontynuuj działa tylko w kompilacjach debugowania. Aby uzyskać więcej informacji, zobacz Edytowanie i kontynuowanie.

W przypadku natywnego języka C++, opcja Edytuj i kontynuuj wymaga użycia /INCREMENTAL opcji . Aby uzyskać więcej informacji na temat wymagań funkcji w języku C++, zobacz ten wpis w blogu i Edytuj i kontynuuj (C++).

Włączanie i konfigurowanie Przeładowywanie na gorąco

Przeładowywanie na gorąco można skonfigurować, wybierając pozycję Ustawienia z przycisku listy rozwijanej Przeładowywanie na gorąco.

Screenshot of configuring Hot Reload.

Możesz też otworzyć pozycję Narzędzia>Opcje>Debugowanie.NET>/C++ Przeładowywanie na gorąco.

Uwaga

Jeśli funkcja IntelliTrace jest włączona i zbierasz zarówno zdarzenia IntelliTrace, jak i informacje o wywołaniu, opcja Edytuj i kontynuuj jest wyłączona. Aby uzyskać więcej informacji, zobacz IntelliTrace.

Ustawienia Przeładowywanie na gorąco obejmują:

  • Włącz Przeładowywanie na gorąco i edytuj i kontynuuj podczas debugowania. Włącza Przeładowywanie na gorąco podczas rozpoczynania pracy z dołączonym debugerem (F5).

  • Włącz Przeładowywanie na gorąco podczas uruchamiania bez debugowania. Włącza Przeładowywanie na gorąco podczas uruchamiania bez dołączonego debugera (Ctrl+F5).

  • Zastosuj Przeładowywanie na gorąco podczas zapisywania pliku. Stosuje zmiany kodu podczas zapisywania pliku.

  • Rejestrowanie szczegółowości. Filtruje ilość informacji wyświetlanych w oknie Przeładowywanie na gorąco Dane wyjściowe.

Screenshot of settings for .NET Hot Reload.

W przypadku Przeładowywanie na gorąco platformy .NET można również kontrolować, czy Przeładowywanie na gorąco jest dostępna na poziomie projektu, modyfikując plik launchSetting.json projektu platformy .NET 6+ i ustawiając wartość hotReloadEnabled na false.

Przykład:

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

W języku C++można ustawić dodatkowe opcje, otwierając pozycję Narzędzia>Opcje>Debugowanie>ogólne. Upewnij się, że wybrano pozycję Włącz Przeładowywanie na gorąco i ustaw inne opcje:

  • Stosowanie zmian w trybie kontynuacji (tylko natywna)

    W przypadku wybrania programu Visual Studio automatycznie kompiluje i stosuje zmiany kodu po kontynuowaniu debugowania ze stanu przerwania. W przeciwnym razie możesz zastosować zmiany przy użyciu opcji Debuguj>zastosuj zmiany kodu.

  • Ostrzegaj o nieaktualnym kodzie (tylko natywny)

    W przypadku wybrania polecenia wyświetla ostrzeżenia dotyczące nieaktualnego kodu.

Włączanie lub wyłączanie opcji Edytuj i kontynuuj

  1. Jeśli jesteś w sesji debugowania, zatrzymaj debugowanie (Debugowanie>zatrzymaj debugowanie lub Shift+F5).

  2. W obszarze Opcje> narzędzi>(lub Opcje debugowania)> Debugowanie>>ogólne wybierz pozycję Edytuj i kontynuuj w okienku po prawej stronie.

    Uwaga

    Jeśli funkcja IntelliTrace jest włączona i zbierasz zarówno zdarzenia IntelliTrace, jak i informacje o wywołaniu, opcja Edytuj i kontynuuj jest wyłączona. Aby uzyskać więcej informacji, zobacz IntelliTrace.

  3. W przypadku kodu C++ upewnij się, że wybrano opcję Włącz natywną edycję i kontynuuj , a następnie ustaw inne opcje:

    • Stosowanie zmian w trybie kontynuacji (tylko natywna)

      W przypadku wybrania programu Visual Studio automatycznie kompiluje i stosuje zmiany kodu po kontynuowaniu debugowania ze stanu przerwania. W przeciwnym razie możesz zastosować zmiany przy użyciu opcji Debuguj>zastosuj zmiany kodu.

    • Ostrzegaj o nieaktualnym kodzie (tylko natywny)

      W przypadku wybrania polecenia wyświetla ostrzeżenia dotyczące nieaktualnego kodu.

  4. Wybierz przycisk OK.

Zatrzymywanie zmian kodu

Podczas gdy Przeładowywanie na gorąco jest w trakcie stosowania zmian kodu, możesz zatrzymać operację.

Podczas gdy funkcja Edytuj i kontynuuj jest w trakcie stosowania zmian kodu, możesz zatrzymać operację.

Uwaga

Zatrzymywanie zmian kodu w kodzie zarządzanym może spowodować nieoczekiwane wyniki. Stosowanie zmian w kodzie zarządzanym jest zwykle szybkim procesem, dlatego rzadko trzeba zatrzymać zmiany kodu w kodzie zarządzanym.

Aby przestać stosować zmiany kodu:

  • Wybierz pozycję Zatrzymaj stosowanie zmian kodu z menu Debugowanie .

    Ten element menu jest widoczny tylko wtedy, gdy są stosowane zmiany kodu.

    Jeśli wybierzesz tę opcję, żaden ze zmian kodu nie zostanie zatwierdzony.