設定 [編輯後繼續] (C#、 VB、 C++)
可以在設計時在 Visual Studio 選項對話框中停用或啟用 [熱重新載入] (以前稱為 [編輯後繼續])。 熱重新載入僅適用於偵錯組建。 如需詳細資訊,請參閱熱重新載入。
[編輯後繼續] 功能可以在您的程式處於中斷模式時,讓您對原始程式碼進行變更以節省時間。 當您選擇 [繼續] 或 [步驟] 等執行命令繼續執行程式時,[編輯後繼續] 會自動套用程式碼變更,但有一些限制。 這可以讓您在偵錯工作階段期間變更程式碼而不需要停止、重新編譯整個程式並重新啟動偵錯工作階段。
可以在設計時在 Visual Studio選項對話框中停用或啟用 [編輯後繼續]。 [編輯後繼續] 只能用於偵錯組建中。 如需詳細資訊,請參閱編輯後繼續。
針對原生 C++,[編輯後繼續] 需要使用 /INCREMENTAL
選項。 如需 C++ 中功能需求的詳細資訊,請參閱此部落格文章和編輯後繼續 (C++)。
啟用和設定 [熱重新載入]
您可以從熱重載下拉式按鈕中選取設定,以設定 [熱重載]。
或者,開啟 [工具] > [選項] > [偵錯] > [.NET/C++ 熱重新載入]。
注意
如果已啟用 IntelliTrace,而且您同時收集 IntelliTrace 事件和呼叫資訊,則會停用 [編輯後繼續]。 如需詳細資訊,請參閱 IIntelliTrace。
熱重新載入的設定包括:
偵錯時啟用熱重新載入和編輯後繼續。 在附加偵錯工具的情況下啟動時啟用熱重新載入 (F5)。
在未進行偵錯的情況下啟動時啟用熱重新載入. 在未附加偵錯工具的情況下啟動時啟用熱重新載入 (Ctrl+F5)。
在檔案儲存時套用熱重新載入。 當您儲存檔案時,會套用程式碼變更。
記錄詳細程度。 篩選 [熱重新載入輸出] 視窗中顯示的資訊量。
如果是 .NET 熱重新載入,還可以修改 .NET 6+ 專案的 launchSetting.json 檔案並將hotReloadEnabled
設定至false
來控制 [熱重新載入] 是否適用於專案層級。
範例:
{
"profiles": {
"Console": {
"commandName": "Project",
"hotReloadEnabled": false
}
}
}
如果是 C++,可以開啟工具>選項>偵錯>一般。 確保選取了啟用熱重新載入,並設定其他選項:
繼續時套用變更 (僅限原生)
如果選取,則 Visual Studio 會在您從中斷狀態繼續進行偵錯時自動編譯並套用程式碼變更。 否則,您可以選擇使用 [偵錯] > [套用程式碼變更] 來套用變更。
警告出現過時的程式碼 (僅限原生)
如果選取,則提供過時程式碼的警告。
啟用或停用編輯後繼續
如果您是在偵錯工作階段中,請停止偵錯 ([偵錯]>[停止偵錯] 或 Shift+F5)。
在 [工具] > [選項] > (或 [偵錯] > [選項]) > [偵錯] > [一般] 中,選取 右窗格中的 [編輯後繼續]。
注意
如果已啟用 IntelliTrace,而且您同時收集 IntelliTrace 事件和呼叫資訊,則會停用 [編輯後繼續]。 如需詳細資訊,請參閱 IIntelliTrace。
針對 C++ 程式碼,請確定已選取 [啟用原生編輯後繼續],然後設定其他選項:
繼續時套用變更 (僅限原生)
如果選取,則 Visual Studio 會在您從中斷狀態繼續進行偵錯時自動編譯並套用程式碼變更。 否則,您可以選擇使用 [偵錯] > [套用程式碼變更] 來套用變更。
警告出現過時的程式碼 (僅限原生)
如果選取,則提供過時程式碼的警告。
選取確定。
停止程式碼變更
當 [熱重新載入] 正在套用程式碼變更時,您可以停止該作業。
當 [編輯後繼續] 正在套用程式碼變更時,您可以停止該作業。
警告
在 Managed 程式碼中停止程式碼變更,可能會產生非預期的結果。 一般來說,將變更套用至 Managed 程式碼的過程很快,因此不太需要在 Managed 程式碼中停止程式碼變更。
若要停止套用程式碼變更:
選擇偵錯功能表中的停止套用程式碼變更。
只有套用程式碼變更時,才能看見這個功能表項目。
如果您選擇此選項,就無法認可任何的程式碼變更。
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: