Ich versuche, eine Knotenanwendung mit Windows Subsytem für Linux zu debuggen, aber ich glaube nicht, dass die Pfade übersetzt werden.
Dies ist meine launch.json
{
// 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,
}
]
}
und dies ist, was in meiner Konsole angezeigt wird, nachdem versucht wurde, zu debuggen:
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
Und für weitere Informationen npm run-script start:dev
läuft nodemon
und hier ist meine nodemon.json:
{
"watch": [
"src"
],
"ext": "ts",
"ignore": [
"src/**/*.spec.ts"
],
"exec": "node -r tsconfig-paths/register --inspect=5000 --require ts-node/register src/main.ts"
}
Tritt dieses Problem auf, wenn alle Erweiterungen deaktiviert sind?: Ja
Dies ist ein komplexes Setup, das noch nicht unterstützt wird.
Ich denke, dies sollte funktionieren, wenn Sie "console": "integratedTerminal"
aus Ihrer Startkonfiguration entfernen. "useWSL": true
sollte ausreichen.
Zum Debuggen eines solchen Setups verwende ich die Erweiterung WSL workspaceFolder und füge meinen Startkonfigurationen Folgendes hinzu:
"localRoot": "${workspaceFolder}",
"remoteRoot": "${command:extension.vscode-wsl-workspaceFolder}",
Beispiel, das für mich funktioniert:
{
"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",
],
},
Zum Debuggen von Mokka-Tests verwende ich diese Startkonfiguration:
{
"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",
],
},
Hinweis: Die Ausgabe erfolgt auf der Registerkarte "Debug Console".
@ n0v1 Hat für mich gearbeitet. Vielen Dank!
Dies ist ein häufiger Anwendungsfall bei der Entwicklung auf WSL, und das Debuggen für mich ist für meine Arbeit von entscheidender Bedeutung. Nun, damit Python funktioniert 🤞
Wir haben gerade die Remote-Entwicklung mit VS Code angekündigt. Weitere Informationen finden Sie im Blog-Beitrag unter https://code.visualstudio.com/blogs/2019/05/02/remote-development
Hilfreichster Kommentar
Ich denke, dies sollte funktionieren, wenn Sie
"console": "integratedTerminal"
aus Ihrer Startkonfiguration entfernen."useWSL": true
sollte ausreichen.Zum Debuggen eines solchen Setups verwende ich die Erweiterung WSL workspaceFolder und füge meinen Startkonfigurationen Folgendes hinzu:
Beispiel, das für mich funktioniert:
Zum Debuggen von Mokka-Tests verwende ich diese Startkonfiguration:
Hinweis: Die Ausgabe erfolgt auf der Registerkarte "Debug Console".