エディット コンティニュの構成 (C#、VB、C++)

ホット リロード (以前はエディット コンティニュと呼ばれていました) は、デザイン時に Visual Studio の [オプション] ダイアログ ボックスで無効または有効にすることができます。 ホット リロードはデバッグ ビルドでのみ機能します。 詳細については、ホット リロードに関する記事を参照してください。

エディット コンティニュを使用すると、プログラムが中断モードのときにソース コードを変更できるため、時間を節約できます。 [続行][ステップ] などの実行コマンドを選択してプログラムの実行を再開すると、一定の制限の下で、エディット コンティニュによってコードの変更が自動的に適用されます。 このため、デバッグ セッション中にコードを変更できます。デバッグ セッションをいったん停止し、プログラム全体を再コンパイルしてからデバッグ セッションを再開する必要がありません。

エディット コンティニュは、デザイン時に Visual Studio の [オプション] ダイアログ ボックスで無効または有効にすることができます。 エディット コンティニュはデバッグ ビルドでのみ動作します。 詳細については、「エディット コンティニュ」を参照してください。

ネイティブ C++ の場合、 [エディット コンティニュ] には /INCREMENTAL オプションを使用する必要があります。 C++ の機能要件の詳細については、このブログ投稿と「エディット コンティニュ (C++)」を参照してください。

ホット リロードを有効にして構成する

ホット リロードを構成するには、[ホット リロード] ドロップダウン ボタンから [設定] を選びます。

Screenshot of configuring Hot Reload.

または、[ツール]>[オプション]>[デバッグ]>[.NET と C++ のホット リロード] を開きます。

Note

IntelliTrace が有効になっている場合に、IntelliTrace イベントと呼び出し情報の両方を収集すると、エディット コンティニュが無効になります。 詳細については、IntelliTrace に関するページを参照してください。

次のようなホット リロードの設定があります。

  • [Enable Hot Reload and Edit and Continue when debugging]\(デバッグ時にホット リロードとエディット コンティニュを有効にする\)。 デバッガーをアタッチした状態で起動するとき (F5) にホット リロードを有効にします。

  • [Enable Hot Reload when starting without debugging]\(デバッグなしで起動するときにホット リロードを有効にする\)。 デバッガーをアタッチしない状態で起動するとき (Ctrl + F5) にホット リロードを有効にします。

  • [Apply Hot Reload on File Save]\(ファイルの保存時にホット リロードを適用する\)。 ファイルを保存するときにコードの変更を適用します。

  • ログ記録の詳細度。 [ホット リロード出力] ウィンドウに表示される情報量をフィルター処理します。

Screenshot of settings for .NET Hot Reload.

.NET ホット リロードでは、.NET 6 以降のプロジェクトの launchSetting.json ファイルを変更し、hotReloadEnabledfalse に設定すると、ホット リロードをプロジェクト レベルで使用できるかどうかも制御できます。

例:

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

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

  • [コンティニュに変更を適用する (ネイティブのみ)]

    選択した場合は、ブレーク状態からデバッグを続行すると、Visual Studio によって自動的にコンパイルされ、コードの変更が適用されます。 そうしない場合は、 [デバッグ]>[コード変更を適用] を使用して変更の適用を選択できます。

  • [古いコードの警告を表示する (ネイティブのみ)]

    選択した場合は、古いコードに関する警告が示されます。

エディット コンティニュを有効または無効にする

  1. デバッグ セッション中は、デバッグを停止します ( [デバッグ]>[停止] 、または Shift+F5 キー)。

  2. [ツール]>[オプション]> (または [デバッグ]>[オプション]) >[デバッグ]>[全般] を選び、右側のペインで [エディット コンティニュ] を選びます。

    注意

    IntelliTrace が有効になっている場合に、IntelliTrace イベントと呼び出し情報の両方を収集すると、エディット コンティニュが無効になります。 詳細については、IntelliTrace に関するページを参照してください。

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

    • [コンティニュに変更を適用する (ネイティブのみ)]

      選択した場合は、ブレーク状態からデバッグを続行すると、Visual Studio によって自動的にコンパイルされ、コードの変更が適用されます。 そうしない場合は、 [デバッグ]>[コード変更を適用] を使用して変更の適用を選択できます。

    • [古いコードの警告を表示する (ネイティブのみ)]

      選択した場合は、古いコードに関する警告が示されます。

  4. [OK] を選択します。

コード変更を停止する

コード変更を適用するプロセスをホット リロードで実行している間、その操作を停止できます。

エディット コンティニュがコード変更を適用するプロセスを実行している間、その操作は中断できます。

注意

マネージド コードのコード変更を中断すると、予期しない結果が生じることがあります。 通常、マネージド コードの変更はすばやく適用されるため、マネージド コードのコード変更の中断が必要となることはほとんどありません。

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

  • [デバッガー] メニューの [コード変更の適用を中止] をクリックします。

    このメニュー項目は、コード変更の適用中にのみ表示されます。

    このオプションを選択すると、コードの変更内容は一切コミットされません。