javascript - VSCode-debuggern stannar inte vid TypeScript-brytpunkter


Jag har ett Lerna-monorepo med 2 moduler (paket): ps och cli.

ps exporterar bara en funktion whatever som cli importerar.

När jag försöker felsöka denna kod med VSCode stannar dock mina brytpunkter på de genererade Javascript-filerna istället för mina källfiler i Typescript.

Detta har stört mig i timmar och jag har omfattande lekt med min tsconfig.json och launch.json samt använt vscode-pwa-analyzer för att se att VSCode kan upptäcka min källkod i TS men jag kan inte lista ut en lösning.

REDIGERA: Jag använder följande uppsättning: macOS Big Sur v11.1 Node.js v14.8.0 Typescript v4.1.3

Och här är en dumpfil av min ovanstående felsökning som du kan ladda till vscode-pwa-analyzer.

Jag kan se här att jag får några fel med Oknytta Brytpunkter.

Svar #1

Jag replikade problemet, men jag skulle säga att detta är det förväntade beteendet.

Att faktiskt sätta en brytpunkt på en funktionsdeklaration är meningslöst. Om du ändrar din whatever-funktion till en synkron funktion (dvs. function whatever(): void) kommer du att se att VSCode inte låter dig bryta på den raden.

I det speciella fallet med en async-funktion vet vi att funktionskroppen faktiskt är innesluten i ett Promise. Förmodligen låter TypeScript-debuggern oss i detta speciella fall sätta en brytpunkt på en funktionsdeklarationsrad för att låta oss kontrollera vad som händer utanför Promise-omslaget.

Svar #2

Jag hade ett problem med att VS Code stannade i .js-filer istället för .ts. Mitt problem var att jag körde VS Code-debuggern (med F5-tangenten) samtidigt som jag hade "tsc -w main.ts" körande i min terminal. Så fort jag stoppade terminalens tsc-kommando och körde om VS Code-debuggern - började den stanna i .ts-filer. Hoppas det hjälper.

Relaterade artiklar