Vscode: Tidak dapat men-debug program Node menggunakan WSL

Dibuat pada 18 Jul 2018  ·  4Komentar  ·  Sumber: microsoft/vscode


  • Versi VSCode: 1.25.1
  • Versi OS: Windows 10 Home 1803

Saya mencoba men-debug aplikasi Node menggunakan Windows Subsytem untuk Linux tetapi menurut saya jalur tersebut tidak menerjemahkan.

Ini adalah launch.json saya

{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch NestJS",
      "useWSL": true,
      "console": "integratedTerminal",
      "runtimeExecutable": "npm",
      "runtimeArgs": [
        "run-script",
        "start:dev"
      ],
      "port": 5000,
    }
  ]
}

dan inilah yang muncul di konsol saya setelah mencoba melakukan debug:

isiah@isiah-acer:/mnt/c/Users/Isiah/Documents/Programming_Projects/etc/podcast_db/new-api$ cd "c:\Users\Isiah\Documents\Programming_Projects\etc\podcast_db\new-api" ; "C:\WINDOWS\System32\bash.exe" -ic "npm run-script start:dev"
-bash: cd: c:\Users\Isiah\Documents\Programming_Projects\etc\podcast_db\new-api: No such file or directory
C:\WINDOWS\System32\bash.exe: command not found

Dan untuk informasi lebih lanjut npm run-script start:dev berjalan nodemon dan inilah nodemon.json saya:

{
  "watch": [
    "src"
  ],
  "ext": "ts",
  "ignore": [
    "src/**/*.spec.ts"
  ],
  "exec": "node -r tsconfig-paths/register --inspect=5000 --require ts-node/register src/main.ts"
}


Apakah masalah ini terjadi saat semua ekstensi dinonaktifkan ?: Ya

WSL bug debug verified

Komentar yang paling membantu

Saya pikir ini seharusnya berfungsi saat menghapus "console": "integratedTerminal" dari konfigurasi peluncuran Anda. "useWSL": true seharusnya cukup.

Untuk men-debug pengaturan seperti itu, saya menggunakan ekstensi WSL workspaceFolder dan menambahkan yang berikut ini ke konfigurasi lauch saya:

"localRoot": "${workspaceFolder}",
"remoteRoot": "${command:extension.vscode-wsl-workspaceFolder}",

Contoh yang berhasil untuk saya:

{
  "type": "node",
  "request": "launch",
  "name": "Run NPM script in WSL",
  "useWSL": true,
  "localRoot": "${workspaceFolder}",
  "remoteRoot": "${command:extension.vscode-wsl-workspaceFolder}",
  "runtimeExecutable": "npm",
  "runtimeArgs": [
    "run-script",
    "foo",
  ],
  "internalConsoleOptions": "openOnSessionStart",
  "skipFiles": [
    "<node_internals>/**/*.js",
  ],
},

Untuk men-debug tes mocha, saya menggunakan konfigurasi peluncuran ini:

{
  "type": "node",
  "request": "launch",
  "name": "Run mocha tests in WSL",
  "useWSL": true,
  "localRoot": "${workspaceFolder}",
  "remoteRoot": "${command:extension.vscode-wsl-workspaceFolder}",
  "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
  "args": [
    "-u",
    "tdd",
    "--timeout",
    "999999",
    "--colors",
    "--exit",
    "${command:extension.vscode-wsl-workspaceFolder}/tests/test.js"
  ],
  "internalConsoleOptions": "openOnSessionStart",
  "skipFiles": [
    "<node_internals>/**/*.js",
  ],
},

Catatan: keluaran akan ada di tab "Konsol Debug".

Semua 4 komentar

Ini adalah penyiapan kompleks yang belum didukung.

Saya pikir ini seharusnya berfungsi saat menghapus "console": "integratedTerminal" dari konfigurasi peluncuran Anda. "useWSL": true seharusnya cukup.

Untuk men-debug pengaturan seperti itu, saya menggunakan ekstensi WSL workspaceFolder dan menambahkan yang berikut ini ke konfigurasi lauch saya:

"localRoot": "${workspaceFolder}",
"remoteRoot": "${command:extension.vscode-wsl-workspaceFolder}",

Contoh yang berhasil untuk saya:

{
  "type": "node",
  "request": "launch",
  "name": "Run NPM script in WSL",
  "useWSL": true,
  "localRoot": "${workspaceFolder}",
  "remoteRoot": "${command:extension.vscode-wsl-workspaceFolder}",
  "runtimeExecutable": "npm",
  "runtimeArgs": [
    "run-script",
    "foo",
  ],
  "internalConsoleOptions": "openOnSessionStart",
  "skipFiles": [
    "<node_internals>/**/*.js",
  ],
},

Untuk men-debug tes mocha, saya menggunakan konfigurasi peluncuran ini:

{
  "type": "node",
  "request": "launch",
  "name": "Run mocha tests in WSL",
  "useWSL": true,
  "localRoot": "${workspaceFolder}",
  "remoteRoot": "${command:extension.vscode-wsl-workspaceFolder}",
  "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
  "args": [
    "-u",
    "tdd",
    "--timeout",
    "999999",
    "--colors",
    "--exit",
    "${command:extension.vscode-wsl-workspaceFolder}/tests/test.js"
  ],
  "internalConsoleOptions": "openOnSessionStart",
  "skipFiles": [
    "<node_internals>/**/*.js",
  ],
},

Catatan: keluaran akan ada di tab "Konsol Debug".

@ n0v1 Bekerja untuk saya. Terima kasih!

Ini adalah kasus penggunaan umum sekarang dengan pengembangan di WSL dan memiliki pekerjaan debugging untuk saya sangat penting untuk pekerjaan saya. Sekarang agar python berfungsi 🤞

Kami baru saja mengumumkan pengembangan jarak jauh dengan VS Code, lihat posting blog untuk detailnya https://code.visualstudio.com/blogs/2019/05/02/remote-development

Apakah halaman ini membantu?
0 / 5 - 0 peringkat