デザイン時に Visual Studio の [オプション] ダイアログ ボックスで、以前はエディット アンド コンティニューと呼ばれるホット リロードを無効または有効にすることができます。 ホット リロード はデバッグ ビルドでのみ機能します。 詳細については、「 ホット リロード」を参照してください。
エディット コンティニュは、プログラムが中断モードの間にソース コードを変更できる、時間を節約する機能です。 [続行] や [ステップ] などの実行コマンドを選択してプログラムの実行を再開すると、エディット コンティニュによってコードの変更がいくつかの制限で自動的に適用されます。 これにより、停止、プログラム全体の再コンパイル、デバッグ セッションの再起動を行う代わりに、デバッグ セッション中にコードを変更できます。
デザイン時に Visual Studio の [オプション] ダイアログ ボックスで、Edit and Continue 機能を無効または有効にすることができます。 Edit and Continue 機能は、デバッグ ビルドでのみ動作します。 詳細については、「編集と継続」を参照してください。
ネイティブ C++ の場合、 エディット コンティニュ には /INCREMENTAL
オプションを使用する必要があります。 C++ の機能要件の詳細については、このブログ投稿とエディット コンティニュ (C++) を参照してください。
ホット リロードを有効にして構成する
[ホット リロード] ドロップダウン ボタンから [設定] を選択して 、ホット リロード を構成できます。
または、 Tools>Options>Debugging>.NET/C++ ホット リロードを開きます。
注
IntelliTrace が有効であり、IntelliTrace イベントと呼び出し情報の両方を収集する場合、編集の継続は無効になります。 詳細については、「 IntelliTrace」を参照してください。
ホット リロードの設定は次のとおりです。
ホット リロードを有効にします。 デバッガーをアタッチして起動するときにホット リロードを有効にします (F5)。
デバッグなしで開始するときにホット リロードを有効にします。 デバッガーをアタッチせずに起動するときにホット リロードを有効にします (Ctrl + F5 キー)。
ファイル保存にホットリロードを適用します。 ファイルを保存するときにコードの変更を適用します。
ログの冗長性。 [ホット リロード出力] ウィンドウに表示される情報の量をフィルター処理します。
.NET ホット リロードの場合は、.NET 6+ プロジェクトのlaunchSetting.jsonファイルを変更し、false
に設定することで、プロジェクト レベルでホット リロードを使用できるかどうかを制御することもできます。
例:
{
"profiles": {
"Console": {
"commandName": "Project",
"hotReloadEnabled": false
}
}
}
C++ の場合は、 Tools>Options>Debugging>General を開いて追加のオプションを設定できます。 [ホット リロードを有効にする] が選択されていることを確認し、他のオプションを設定します。
続行時に変更を適用する (ネイティブのみ)
選択した場合、中断状態からデバッグを続行すると、Visual Studio によってコードの変更が自動的にコンパイルされ、適用されます。 それ以外の場合は、 Debug>Apply Code Changes を使用して変更を適用できます。
古いコードに関する警告 (ネイティブのみ)
選択すると、古いコードに関する警告が表示されます。
編集と続行を有効化または無効化する
デバッグ セッションの場合は、デバッグを停止します (Debug>Stop Debugging または Shift+F5)。
Tools>Options> (または Debug>Options) >Debugging>General で、右側のウィンドウで [編集と続行] を選択します。
注
IntelliTrace が有効であり、IntelliTrace イベントと呼び出し情報の両方を収集する場合、編集の継続は無効になります。 詳細については、「 IntelliTrace」を参照してください。
C++ コードの場合は、[ ネイティブ編集と続行を有効にする] が選択されていることを確認し、他のオプションを設定します。
続行時に変更を適用する (ネイティブのみ)
選択した場合、中断状態からデバッグを続行すると、Visual Studio によってコードの変更が自動的にコンパイルされ、適用されます。 それ以外の場合は、 Debug>Apply Code Changes を使用して変更を適用できます。
古いコードに関する警告 (ネイティブのみ)
選択すると、古いコードに関する警告が表示されます。
[OK] を選択.
コードの変更を停止する
ホット リロードがコード変更の適用中である間は、操作を停止できます。
エディット コンティニュがコード変更の適用中である間は、操作を停止できます。
注意事項
マネージド コードでコードの変更を停止すると、予期しない結果が発生する可能性があります。 通常、マネージド コードへの変更の適用は簡単なプロセスであるため、マネージド コードのコード変更を停止する必要はほとんどありません。
コード変更の適用を停止するには:
[デバッグ] メニューから [コード変更の適用を停止] を選択します。
このメニュー項目は、コードの変更が適用されている場合にのみ表示されます。
このオプションを選択した場合、コードの変更はコミットされていません。