VS Code で launch.json を開く方法
効果的なデバッグとコードの品質は、ソフトウェア開発において切り離せない概念です。Visual Studio (VS) Code のデバッグ機能は、主に launch.json ファイルによって制御されます。このファイルを使用すると、開発者はビジョンに従ってデバッグ設定を構成および管理できます。
この記事では、最適なデバッグを実現するために launch.json ファイルを開いて管理する方法を説明します。
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 には、「バージョン」セクションと「構成」セクションが表示されます。「configurations」セクションは、デバッグ スキームの構成に使用するさまざまなデバッグ オプションを含む配列です。
「configurations」配列内の各オブジェクトは、デバッグ シナリオを表します。これらのオブジェクトには、言語、プログラム、デバッガー設定などのデバッグ環境を定義するプロパティがあります。
launch.json 構成で使用される一般的なプロパティには次のようなものがあります。
- 「name」 – ドロップダウン メニューで構成を識別するための、読みやすい構成の名前。
- 「type」 – デバッガーのタイプを指定します (「node」、「python」、または「cppvsdbg」など)。
- 「request」 – リクエストのタイプを決定します。「launch」(新しいインスタンスを開始する)または「attach」(デバッガーを既存のプロセスにアタッチする)のいずれかです。
- 「program」 – デバッグするファイルのファイル パス。
- 「args」 – デバッグ中にプログラムに渡すコマンドライン引数の配列。
- 「preLaunchTask」 – デバッガーを開始する前に実行するタスク。
launch.json ファイル構造を理解すると、デバッグ環境をカスタマイズする際にどのオプションを変更し、どのオプションをそのままにしておくべきかを知ることができます。
さまざまな言語の起動設定を構成する
起動設定を構成する手順は、言語によって若干異なる場合があります。ここでは、いくつかの一般的な言語の手順を示します。
JavaScript と TypeScript
- 新しい launch.json ファイルを作成し、「type」プロパティを JavaScript の場合は「node」、TypeScript の場合は「pwa-node」として構成します。
- 「request」プロパティを「launch」または「attach」に設定します。
- 「プログラム」プロパティを使用してエントリ ポイント ファイルを指定する必要があります。
パイソン
- Visual Studio Code の Python インタープリターと拡張機能をインストールします。
- 新しい launch.json ファイルの「type」プロパティを「python」に設定します。
- 「request」プロパティを「launch」または「attach」として構成します。
- 「program」プロパティを使用して、実行するPythonファイルを指定します。
- Python インタープリターのパスがデフォルトの場所にない場合は、「pythonPath」プロパティを追加で設定する必要がある場合があります。
C#と。ネットコア
- Visual Studio Code の C# 拡張機能をインストールします。
- 新しい launch.json ファイルで、「type」プロパティを「coreclr」に設定します。NET Core または「clr」。ネットフレームワーク。
- 「request」プロパティを「launch」または「attach」として構成します。
- 「プログラム」プロパティを使用してエントリポイントファイルを指定します。
- 必要に応じて、「cwd」プロパティを現在のプロジェクトの作業ディレクトリに設定します。
ジャワ
- Java 拡張パックをインストールします。
- 新しい launch.json ファイルを作成し、「type」プロパティを「java」に設定します。
- 「request」プロパティを「launch」または「attach」として構成します。
- 「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 ファイルを更新します。
デバッグの失敗
起動設定が正しくないと、デバッグが失敗する可能性があります。
- 起動設定に間違ったファイル パスがないか確認してください。
- デバッガーまたはリクエストのタイプが欠落しているか、間違っていることを確認してください。
- 必要に応じて設定を更新します。
起動構成の問題の診断
起動構成の問題を診断するには:
- 「trace」プロパティを「verbose」に設定して、診断ログを有効にします。
- デバッグ コンソールで生成されたログを確認し、問題を特定して修正します。
launch.json のヒント
以下のヒントに従って、launch.json を最適に使用してください。
- 起動構成には意味のある名前を使用して、簡単に識別できるようにします。これを実践すると、複数のデバッグ シナリオを扱うときに、適切な構成をすばやく見つけることができます。
- プロジェクトのバージョン管理システムに launch.json ファイルを含めることで、起動構成をチームと共有します。すべてのチーム メンバーは、同じデバッグ構成と設定にアクセスできます。
- Git などのバージョン管理システムは、launch.json ファイルへの変更を追跡できます。バージョン管理を使用して以前の構成に戻したり、推奨設定を共有して他のチーム メンバーと共同作業したりできます。
- プロジェクトの要求に合った特定の言語、デバッガー、またはツールをサポートする拡張機能をインストールします。デバッグ セッション中にこれらの拡張機能とその機能を使用するように launch.json ファイルを構成します。
デバッグを開始する
launch.json の機能を利用することで、コーディング スタイルに最も合うようにデバッグ エクスペリエンスを調整できます。これにより、コードの品質とパフォーマンスが向上します。
どれくらいの頻度で起動設定を行う必要がありますか? 設定のヒントはありますか? 以下のコメントセクションであなたの経験を共有してください。
コメントを残す