Konfigurowanie edycji i kontynuowania (C#, VB, C++)
W oknie dialogowym programu Visual Studio Opcje, podczas projektowania, można wyłączyć lub włączyć funkcję Przeładowywanie na gorąco, wcześniej znaną jako Edycja i kontynuacja. przeładowywanie na gorąco działa tylko w kompilacjach debugowania. Aby uzyskać więcej informacji, zobacz Hot Reload.
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. Gdy wznowisz wykonywanie programu, wybierając polecenie, takie jak Kontynuuj lub krok , Edytuj i Kontynuuj automatycznie wprowadza zmiany w kodzie 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. Edit and Continue działa tylko w kompilacjach debugowania. Aby uzyskać więcej informacji, zobacz Edytuj i Kontynuuj.
W przypadku natywnego języka C++edytuj i kontynuuj wymaga użycia opcji /INCREMENTAL
. 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ładowywania na gorąco
Możesz skonfigurować Hot Reload, wybierając Ustawienia z menu rozwijanego Hot Reload.
Możesz też otworzyć Tools>Options>Debugowanie>.NET/C++ Hot Reload.
Notatka
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ładowywania na gorąco obejmują:
Włącz Hot Reload. Włącza przeładowywanie na gorąco podczas rozpoczynania pracy z dołączonym debugerem (F5).
włącz ponowne ładowanie na gorąco podczas uruchamiania bez debugowania. Włącza przeładowywanie na gorąco podczas uruchamiania bez dołączonego debugera (Ctrl+F5).
Zastosuj przeładowanie na gorąco przy zapisywaniu pliku. Stosuje zmiany kodu podczas zapisywania pliku.
Poziom szczegółowości logowania. Filtruje ilość informacji wyświetlanych w oknie wyjściowym Hot Reload.
W przypadku funkcji przeładowywania na gorąco w platformie .NET można również kontrolować dostępność tej funkcji na poziomie projektu, modyfikując plik launchSetting.json projektu .NET 6+ i ustawiając hotReloadEnabled
na false
.
Przykład:
{
"profiles": {
"Console": {
"commandName": "Project",
"hotReloadEnabled": false
}
}
}
W przypadku języka C++można ustawić dodatkowe opcje, otwierając Tools>Options>Debugowanie>Ogólne. Upewnij się, że opcja Włącz Szybkie ładowanie jest zaznaczona i ustaw pozostałe opcje:
Stosowanie zmian podczas kontynuacji (tylko dla natywnych)
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 Debug>Zastosuj zmiany w kodzie.
Ostrzegaj o nieaktualnym kodzie (tylko dla natywnych)
W przypadku wybrania polecenia wyświetla ostrzeżenia dotyczące nieaktualnego kodu.
Włączanie lub wyłączanie opcji Edytuj i kontynuuj
Jeśli uczestniczysz w sesji debugowania, zakończ debugowanie (Debug>Zakończ Debugowanie lub Shift+F5).
W Narzędzia>Opcje> (lub Debug>Opcje) >Debugowanie>Ogólne, wybierz Edytuj i Kontynuuj w okienku po prawej stronie.
Notatka
Jeśli funkcja IntelliTrace jest włączona i zbierasz zarówno zdarzenia IntelliTrace, jak i informacje o wywołaniach, funkcja Edytuj i Kontynuuj jest wyłączona. Aby uzyskać więcej informacji, zobacz IntelliTrace.
W przypadku kodu C++ upewnij się, że wybrano Włącz edycję natywną i Kontynuuj 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 Debug>Zastosuj zmiany w kodzie.
Ostrzegaj o nieaktualnym kodzie (tylko natywny)
W przypadku wybrania polecenia wyświetla ostrzeżenia dotyczące nieaktualnego kodu.
Wybierz pozycję OK.
Zatrzymaj zmiany 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ę.
Ostrożność
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 Zatrzymaj stosowanie zmian kodu z menu Debug.
Ten element menu jest widoczny tylko wtedy, gdy są stosowane zmiany kodu.
Jeśli wybierzesz tę opcję, żaden ze zmian kodu nie zostanie zatwierdzony.