J'essaie de déboguer un projet simple en utilisant babel, jest, et du code vs. Lorsque je fixe un point d'arrêt et que je commence à déboguer, mes points d'arrêt sautent et ne sont plus là où ils étaient lorsque j'ai commencé. Un exemple de repo peut être vu ici - https://github.com/RyanHirsch/starter-node
J'ai mis à jour mon launch.json
pour contenir
{
"name": "Jest",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/jest/bin/jest.js",
"stopOnEntry": false,
"args": ["-i", "${file}"],
"cwd": "${workspaceRoot}",
"runtimeExecutable": null,
"sourceMaps": true,
"protocol": "inspector"
}
Et mon .babelrc
ressemble :
{
"plugins": ["@babel/plugin-proposal-object-rest-spread"],
"sourceMaps": "inline",
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "6.10"
}
}
]
]
}
Je pensais que les options de la carte source étaient suffisantes pour que cela fonctionne, mais j'avais tort. Que faut-il changer pour que mes points d'arrêt restent à leur emplacement d'origine ? En particulier lorsque j'essaie de déboguer mes tests.
\==== Editer ====
Auparavant, mes points d'arrêt se trouvaient sur la ligne de test 10 et la ligne d'implémentation 4 :
Lorsque je commence à déboguer en sélectionnant mon fichier de test, puis que j'exécute Jest dans le volet de débogage de VS Code, mes points d'arrêt sautent à la ligne de test 9 et à la ligne d'implémentation 6 :
Fonctionne sur Node 9.6.1 avec les extensions suivantes :
DavidAnson.vscode-markdownlint
EditorConfig.EditorConfig
Orta.vscode-jest
PKief.material-icon-theme
PeterJausovec.vscode-docker
Shan.code-settings-sync
bungcip.better-toml
dbaeumer.vscode-eslint
dracula-theme.theme-dracula
dzannotti.vscode-babel-coloring
eamodio.gitlens
esbenp.prettier-vscode
gerane.Theme-FlatlandMonokai
humao.rest-client
mauve.terraform
mikestead.dotenv
mjmcloug.vscode-elixir
mohsen1.prettify-json
ms-vscode.Theme-MaterialKit
ms-vscode.azure-account
ms-vscode.cpptools
ritwickdey.LiveServer
sbrink.elm
shanoor.vscode-nginx
vscodevim.vim
0 votes
Pouvez-vous montrer quelques captures d'écran avant et après l'exécution ? Où mettez-vous les points d'arrêt, comme vous le faites ? Parce que les points d'arrêt du projet fonctionnent très bien pour moi. Mentionnez également le nœud et la version de NPM que vous utilisez.
6 votes
Bien que cela n'explique pas pourquoi cela se produit pour vous, mais vous pouvez toujours essayer d'ajouter
retainLines: true
à votre.babelrc
afin de ne pas confondre la ligne sur laquelle le point d'arrêt doit se trouver.2 votes
Ajout de
retainlines
brisera tous les points d'arrêt des colonnes et, selon la documentation, produira du "code farfelu". Il semble que les cartes sources devraient fonctionner :(3 votes
Eh bien, ce n'est pas que ça aide beaucoup, mais vous n'êtes pas seul. github.com/babel/babel/issues/6008