kumasysjp

リモート開発環境3 [VSCode SSH・ビルド・デバッグ設定]

目的

VSCode から SSH起動中の Linux にアクセスし,  リモートデバッグできる環境を構築

動作環境

ホストOS側 :   インターネット接続できる Windows 11

ゲストOS側:     Debian 12.6

VMクライアント:  VirtualBox 6.1

VSCode 1.100.2

 

手順

  1. VirtualBox で Linux を立ち上げ,  SSH Server を起動しておく.  (そこまでの環境はリモート開発環境1 [VirtualBox ネットワークの設定] 参照 )

 

2. VSCode で Remote Development アドインをインストールし,   SSH config を設定

設定後,  ログイン(+マーク)でログインしようとすると,  下記のようにパスワードが聞かれる。

パスワード認証が通ると,  VSCode Server が初期化が開始される。ただし, 初回の場合, VSCode と通信するための Server がリモート側にインストールされる。

 

3. リモートデバッグのためには更に 各言語の開発環境が必要なので,  インストールする。

 

確かに,  ビルド・デバッグそのものは,  リモート側の コンパイラ・デバッガ を利用する(参照: GCCの導入)のだが,

リモートデバッグにおいて  VSCode 画面に表示される 言語の色分けやインテリセンス情報のために,  ホストのVSCode 側にも 各言語の開発環境(今回は C/C++ )が必要。

 

ローカル(VSCode) で C/C++ 拡張が入ってる状態で、リモートに接続しなおすとリモートデバッグ用のC/C++アドオンがリモートへ自動的に導入される。

もし自動で導入されない場合は、ローカルの C/C++ 欄に「Debianにインストールする」という項目が出ているなら、それをクリックしてリモートへインストールする。

 

インストールできたかはリモート接続時、アドオン画面から確認できる。

 

 

 

4.  リモートビルド・デバッグのための設定ファイルを作成するが,  まずは空ファイルを作成する。

 

するとリモート側の .vscode フォルダ上に,   task.json,  launch.json が作成されていることがわかる。

 

5. ビルドのための task.json を作成する。

task.json には,  VSCode で用意されている テンプレを流用してもいいが,  今回空ファイルを作って最小構成で記述する。

JSON 記法で色々とやるより,   ビルコマンドの実際は   bash( .sh) に記述し,  task.json では  カレントディレクトリ(cwd)  とそれ(sh) を呼び出すだけにとどめたほうがシンプルだ。

 

label は任意。cwd は “command” を実行するときのカレントディレクトリ。

上画像の左部にあるリモートのディレクトリツリーと対比させると,  わかるとおもう.

 

 

6.  デバッグのための  launch.json を記述する。

デバッグのたびに毎回ビルドをしたいならば,   上画像にある  preLaunchTask  に実行したい(task.json中の)ラベルを書けばよい。

task.json も  launch.json も、そのファイルの中に 複数の定義ができる。