参加你附近的 ,了解 VS Code 中的 AI 辅助开发。

管道传输

管道传输允许通过管道程序与远程 Shell 进行通信。例如,Linux 上的 ssh。随着 Visual Studio Code 远程开发的引入,管道传输主要与 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 来映射代码在远程 Shell 上的路径和本地路径

"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.