VS Code で launch.json を開く方法
効率的なデバッグとコードの品質は、ソフトウェア開発において切り離せない概念です。 Visual Studio (VS) コードのデバッグ機能は主に launch.json ファイルによって制御され、開発者はこのファイルを使用してデバッグ設定を視覚的に構成および管理できます。
この記事では、最適なデバッグを実現するために launch.json ファイルを開いて操作する方法を説明します。
Contents
Visual Studio Code で launch.json を開きます。
VS Code のデバッグ設定を構成および管理するには、launch.json ファイルにアクセスする必要があります。このファイルは、カスタマイズのデバッグにおいて重要な役割を果たします。
- Visual Studio コードを開く
- Ctrl + Shift + P を押してコマンド パレットを開きます。
- コマンド パレットに「Open launch.json」と入力し、「Enter」を押すと、launch.json ファイルが開きます。
- launch.json ファイルが開かない場合 「.vscode」フォルダーがプロジェクトのルート フォルダーに存在することを確認します。
- そうでない場合は、ユーザー フォルダー内に「.vscode」という名前の新しいフォルダーを作成します。
- 新しい「launch.json」ファイルを作成し、このフォルダーに配置します。
launch.json ファイルは起動後に設定できるようになります。
Launch.json 構造の概要
launch.json には、「バージョン」セクションと「構成」セクションが表示されます。「構成」セクションは、さまざまなデバッグ オプションを含む配列です。 これは、デバッグ スキームの構成に使用します。
配列内の各オブジェクト 「構成」はデバッグ状況を表します。 これらのオブジェクトには、プログラム言語やデバッガー設定などのデバッグ環境を定義するプロパティが含まれています。
launch.json 構成に含まれる一般的なプロパティの一部は次のとおりです。
- 「名前」 – ドロップダウン メニューで指定する構成のわかりやすい名前。
- 「type」 – デバッガーのタイプを指定します (例: 「node」、「python」、または「cppvsdbg」)。
- 「リクエスト」 – リクエストのタイプを定義します。「起動」(新しいインスタンスを開始する) または「アタッチ」(デバッガを既存のプロセスにアタッチする) のいずれかです。
- 「program」 – デバッグするファイルのファイル パス。
- 「args」 – デバッグ中にプログラムに渡すコマンド ライン引数の配列。
- 「preLaunchTask」 – デバッガーを開始する前に実行する必要があるタスク。
launch.json ファイル構造を理解すると、デバッグ環境を調整するときにどのオプションを変更し、どのオプションをそのままにするかを決定するのに役立ちます。
さまざまな言語のアクティベーション設定を構成する
実行設定を構成する手順は、言語によって若干異なる場合があります。 ここでは、多くの一般的な言語の手順を示します。
JavaScript と TypeScript
- 新しい launch.json ファイルを作成し、「type」プロパティを JavaScript の場合は「node」、TypeScript の場合は「pwa-node」に設定します。
- 「リクエスト」プロパティを「オン」または「添付」に設定します。
- 「プログラム」プロパティを使用して開始点ファイルを指定する必要があります。
パイソン
- Visual Studio Code の Python インタープリターと拡張機能をインストールします。
- 新しい launch.json ファイルの「type」プロパティを「python」に設定します。
- 「リクエスト」プロパティを「有効」または「添付」に設定します。
- 「program」プロパティを使用して、実行するPythonファイルを指定します。
- Python インタープリターのパスがデフォルトの場所にない場合は、追加の「pythonPath」プロパティをそのパスに設定する必要がある場合があります。
C# と .NET Core
- Visual Studio Code の C# 拡張機能をインストールします。
- 新しい launch.json ファイルで、「type」プロパティを .NET Core の場合は「coreclr」に、.NET Framework の場合は「clr」に設定します。
- 「リクエスト」プロパティを「有効」または「添付」に設定します。
- 「プログラム」プロパティで起点ファイルを指定します。
- 必要に応じて、「cwd」プロパティを現在のプロジェクトの作業ディレクトリに設定します。
ジャワ
- Java 拡張パックをインストールする
- 新しい launch.json ファイルを作成し、「type」プロパティを「java」に設定します。
- 「リクエスト」プロパティを「有効」または「添付」に設定します。
- 「mainClass」プロパティでメインクラスを識別します。
- プロパティを設定する 「projectName」は Java プロジェクトの名前です。
- 「classpath」プロパティを構成して、Java 開発中に使用する Java ライブラリを含めます。
設定式のデバッグ
次のセクションでは、さまざまなデバッグ構成の式について説明します。
実行中のプロセスへのデバッガーの接続
実行中のプロセスにデバッガーをアタッチするには:
- 「リクエスト」プロパティを「添付」に設定します。
- プロセス ID またはフィルターを選択して、デバッグするプロセスを検索します。
リモートアプリケーションのデバッグ
リモート アプリケーションのデバッグの場合:
- 「リモート」タイプを使用します。
- 接続を確立するためのアドレス、ポート、およびホスト認証情報を指定します。
単体テストとテストスイートのデバッグ
単体テストとテスト スイートを編集する場合:
- テスト フレームワークと設定を含む構成を使用して、単体テストとテスト スイートをデバッグします。
- 特定のテストを対象とするために、「program」または「args」プロパティで個々のテスト スイートまたはテスト ファイルを定義します。
環境変数を渡す
launch.json の「env」プロパティは、デバッグ中にアプリケーションに環境変数を渡すことができます。 このプロパティは、設定する環境変数のキーと値のペアを含むオブジェクトです。
高度なデバッグ
デバッグ ファイルからもう少し力を絞り出したいユーザー向けの高度なデバッグ テクニックを見てみましょう。
条件付きブレークポイントとロックポイント
条件付きブレークポイントとロックポイントは、特定の条件下でメッセージを一時停止したりログに記録したりすることによってデバッグを向上させるだけです。 使用するには:
- ブレークポイントまたはチェックポイントを設定する行番号を右クリックします。
- 「条件付きブレークポイントの追加」または「チェックポイントの追加」を選択します。
- アクションをトリガーする条件またはメッセージを入力します。
ソースマップ
ソースマップを使用すると、変換または縮小されたコードをデバッグできます。
- ソース マップを使用するには、launch.json 構成で “sourceMap” プロパティを “true” に設定します。
- ビルド プロセスでソースマップと変換されたコードが生成されることを確認してください。
外部デバッガの統合
必要に応じて、デバッガーや gdb や lldb などの外部ツールを VS Code と統合できます。
- 選択したデバッガー拡張機能をインストールします。
- launch.json ファイルでデバッガー設定を構成します。
マルチスレッドアプリケーションのデバッグ
マルチスレッドアプリケーションをデバッグする場合各スレッドの実行を制御できます。
- デバッグ サイドバーの「スレッド」ビューを使用して、デバッグ セッション中にスレッドを管理します。
- 各スレッドのコード実行を個別に一時停止、再開、またはステップ実行できます。
複数ターゲットのデバッグ
混合リリース構成では、複数のターゲットを同時にデバッグできます。 この機能を活用したい場合割り当て名を含む「複合」配列を追加して、それらをグループ化しましょう。[デバッグ]ドロップダウン メニューから組み合わせ名を選択して実行します。
マイクロサービスとサーバーレス アプリケーションをデバッグするために、さまざまなサービス、機能、またはエンドポイントを対象とする複数の呼び出しを構成します。 これらのターゲットを一緒に実行するには、混合起動構成を使用します。
マルチルート ワークスペースの場合は、フォルダーごとに個別の launch.json ファイルを作成します。 各ルート フォルダーの実行設定を個別に設定して、プロジェクトを個別に、またはコンパウンドを使用して同時にデバッグします。
launch.json の一般的な問題のトラブルシューティング
場合によっては、デバッグによって独自のバグが発生する傾向があります。 いくつかの一般的な問題とその解決方法を見てみましょう。
スキーマ検証エラー
launch.json ファイルに無効なプロパティまたは値がある場合、スキーマ検証エラーが発生します。 スキーマエラーを修正するには:
- 問題パネルからエラー メッセージを確認します。
- エラー メッセージの情報に基づいて launch.json ファイルを更新します。
デバッグに失敗しました
起動設定が正しくないと、デバッグが失敗する可能性があります。
- 起動構成に無効なファイル パスがないか確認してください。
- デバッガーまたはリクエスト タイプが欠落しているか、無効であるかどうかを確認します。
- 必要に応じて設定を更新します。
アクティベーション構成の問題の診断
起動構成の問題を診断するには:
- 「トレース」プロパティを「詳細」に設定して、診断ログを有効にします。
- デバッグ コンソールで生成されたログを確認して、問題を特定して解決します。
launch.json のヒント
次のヒントに従って、launch.json を適切に使用してください。
- 識別しやすいように、起動構成にはわかりやすい名前を使用します。 これを実践すると、複数のデバッグ シナリオを扱うときに適切な構成をすばやく見つけることができます。
- プロジェクトのバージョン管理システムに launch.json ファイルを含めることで、起動構成をチームと共有します。 すべてのチーム メンバーが同じ構成およびデバッグ設定にアクセスできます。
- Git などのバージョン管理システムは、launch.json ファイルへの変更を追跡でき、バージョン管理を使用して以前の構成に戻し、他のチーム メンバーと共同作業することができます。 推奨設定を共有することで、
- 言語がサポートされている拡張機能、デバッガー、またはプロジェクトのニーズに適した特定のツールをインストールし、デバッグ セッション中にこれらの拡張機能とその属性を使用するように launch.json ファイルを構成します。
デバッグを有効にする
launch.json の機能を利用すると、コーディング スタイルに合わせてデバッグ エクスペリエンスを最適化できます。 これにより、コードの品質とパフォーマンスが向上します。
どれくらいの頻度で起動設定を行う必要がありますか? 設定のヒントはありますか? 以下のコメントセクションであなたの経験を共有してください。