現已釋出!閱讀關於 11 月新增功能和修復的內容。

管道傳輸

管道傳輸允許透過管道程式與遠端 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.