次の方法で共有


Edit and Continue の設定 (C#、VB、C++)

デザイン時に 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 ホット リロードの場合は、.NET 6+ プロジェクトのlaunchSetting.jsonファイルを変更し、false に設定することで、プロジェクト レベルでホット リロードを使用できるかどうかを制御することもできます。

例:

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

C++ の場合は、 Tools>Options>Debugging>General を開いて追加のオプションを設定できます。 [ホット リロードを有効にする] が選択されていることを確認し、他のオプションを設定します。

  • 続行時に変更を適用する (ネイティブのみ)

    選択した場合、中断状態からデバッグを続行すると、Visual Studio によってコードの変更が自動的にコンパイルされ、適用されます。 それ以外の場合は、 Debug>Apply Code Changes を使用して変更を適用できます。

  • 古いコードに関する警告 (ネイティブのみ)

    選択すると、古いコードに関する警告が表示されます。

編集と続行を有効化または無効化する

  1. デバッグ セッションの場合は、デバッグを停止します (Debug>Stop Debugging または Shift+F5)。

  2. Tools>Options> (または Debug>Options) >Debugging>General で、右側のウィンドウで [編集と続行] を選択します。

    IntelliTrace が有効であり、IntelliTrace イベントと呼び出し情報の両方を収集する場合、編集の継続は無効になります。 詳細については、「 IntelliTrace」を参照してください。

  3. C++ コードの場合は、[ ネイティブ編集と続行を有効にする] が選択されていることを確認し、他のオプションを設定します。

    • 続行時に変更を適用する (ネイティブのみ)

      選択した場合、中断状態からデバッグを続行すると、Visual Studio によってコードの変更が自動的にコンパイルされ、適用されます。 それ以外の場合は、 Debug>Apply Code Changes を使用して変更を適用できます。

    • 古いコードに関する警告 (ネイティブのみ)

      選択すると、古いコードに関する警告が表示されます。

  4. [OK] を選択.

コードの変更を停止する

ホット リロードがコード変更の適用中である間は、操作を停止できます。

エディット コンティニュがコード変更の適用中である間は、操作を停止できます。

注意事項

マネージド コードでコードの変更を停止すると、予期しない結果が発生する可能性があります。 通常、マネージド コードへの変更の適用は簡単なプロセスであるため、マネージド コードのコード変更を停止する必要はほとんどありません。

コード変更の適用を停止するには:

  • [デバッグ] メニューから [コード変更の適用を停止] を選択します。

    このメニュー項目は、コードの変更が適用されている場合にのみ表示されます。

    このオプションを選択した場合、コードの変更はコミットされていません。