に参加して、VS Code の AI 支援開発について学びましょう。

パイプ転送

パイプ転送により、パイププログラムを介してリモートシェルと通信できます。例えば、Linuxのsshなどです。Visual Studio Code Remote Developmentの導入に伴い、パイプ転送は主にIoTシナリオで関連性が高くなっています。

方法

pipeTransportlaunch.jsonファイル内のオプションです。構造は以下のようになります。

"pipeTransport": {
    "pipeCwd": "/usr/bin",
    "pipeProgram": "/usr/bin/ssh",
    "pipeArgs": [
        "-pw",
        "<password>",
        "user@10.10.10.10"
    ],
    "debuggerPath": "/usr/bin/gdb"
},

pipeArgsは、パイプ接続をセットアップして認証するために必要な引数のセットです。例ではパスワードが使用されていますが、SSHキーを使用することもできます。

リモートシェル上のコードのパスとローカルのパスをマッピングするために、sourceFileMapを追加する必要がある場合もあります。

"sourceFileMap": {
    // "remote": "local"
    "/home/user/src": "/src/projectA/src"
}

アタッチ

上記のpipeTransportブロックを使用して、リモートプロセスにアタッチすることもできます。アタッチの場合、processIdを指定する必要があります。拡張機能はリモートマシンからプロセスを照会できます。これを行うには、processId": "${command:pickProcess}processId": "${command:pickRemoteProcess}に変更します。pipeTransport設定は、リモートマシンのプロセスを照会するために使用されます。その後、ドロップダウンリストからプロセスを選択します。launchと同様に、sourceFileMapを構成する必要がある場合があります。

Dockerの例

pipeTransportは、Dockerコンテナ内のプロセスをデバッグするためにも使用できます。アタッチの場合、launch.jsonには以下が含まれます。

"pipeTransport": {
    "pipeCwd": "${workspaceFolder}",
    "pipeProgram": "docker",
    "pipeArgs": [
        "exec",
        "-i",
        "hello_gdb",
        "sh",
        "-c"
    ],
    "debuggerPath": "/usr/bin/gdb"
},

ここでhello_gdbはコンテナの名前です。

コンテナを起動してプロセスを起動し、同じpipeTransportを使用してコンテナ内で追加のプロセスを起動します。完全な例については、こちらのlaunch.jsonを参照してください。

© . This site is unofficial and not affiliated with Microsoft.