J'essaie de déboguer une application Node à l'aide de Windows Subsytem pour Linux mais je ne pense pas que les chemins se traduisent.
C'est mon 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,
}
]
}
et voici ce qui apparaît dans ma console après avoir tenté de déboguer:
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
Et pour plus d'informations, npm run-script start:dev
exécute nodemon
et voici mon 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"
}
Ce problème se produit-il lorsque toutes les extensions sont désactivées?: Oui
Il s'agit d'une configuration complexe qui n'est pas encore prise en charge.
Je pense que cela devrait fonctionner lors de la suppression de "console": "integratedTerminal"
de votre configuration de lancement. "useWSL": true
devrait suffire.
Pour déboguer une telle configuration, j'utilise l'extension WSL workspaceFolder et ajoute ce qui suit à mes configurations de lancement:
"localRoot": "${workspaceFolder}",
"remoteRoot": "${command:extension.vscode-wsl-workspaceFolder}",
Exemple qui fonctionne pour moi:
{
"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",
],
},
Pour déboguer les tests mocha, j'utilise cette configuration de lancement:
{
"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",
],
},
Remarque: la sortie sera dans l'onglet "Console de débogage".
@ n0v1 a travaillé pour moi. Je vous remercie!
C'est un cas d'utilisation courant maintenant avec le développement sur WSL et le débogage qui fonctionne pour moi est essentiel pour mon travail. Maintenant, pour faire fonctionner python 🤞
Nous venons d'annoncer le développement à distance avec VS Code, consultez le blog pour plus de détails https://code.visualstudio.com/blogs/2019/05/02/remote-development
Commentaire le plus utile
Je pense que cela devrait fonctionner lors de la suppression de
"console": "integratedTerminal"
de votre configuration de lancement."useWSL": true
devrait suffire.Pour déboguer une telle configuration, j'utilise l'extension WSL workspaceFolder et ajoute ce qui suit à mes configurations de lancement:
Exemple qui fonctionne pour moi:
Pour déboguer les tests mocha, j'utilise cette configuration de lancement:
Remarque: la sortie sera dans l'onglet "Console de débogage".