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
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
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:
Contoh yang berhasil untuk saya:
Untuk men-debug tes mocha, saya menggunakan konfigurasi peluncuran ini:
Catatan: keluaran akan ada di tab "Konsol Debug".