Change smartStep behavior for Node/Chrome debugging #53414
Labels
debug
Debug viewlet, configurations, breakpoints, adapter issues
feature-request
Request for new features or functionality
on-testplan
release-notes
Release notes issues
Milestone
The history of this issue is in microsoft/vscode-chrome-debug-core#245. Filing this in the vscode repo for searchability.
tl;dr...
What
Previously,
"smartStep": true
would cause the node debugger to not stop in code without sourcemaps. This includes two types of things: files that don't have sourcemaps at all (like code that isn't transpiled or .js files shipped with node modules) and, in transpiled files that do have sourcemaps, individual lines that aren't mapped by the sourcemap (like extra lines that TS inserts when downcompiling some features like async/await).After 1.26,
"smartStep": true
will only affect the second type - lines that are missing from a sourcemap. Now you'll be able to step into .js files while still skipping TS async/await code that nobody wants to step through.Why
We realized that the old smartStep behavior was too aggressive. Skipping the second type of code is usually a no-brainer. But skipping the first only makes sense in some projects or for some users. And the
skipFiles
option does a better job of covering the case of entire files anyway, since it can target files more precisely and is faster.What Do I Do
If you are using smartStep and notice that the debugger is no longer auto-skipping through files without sourcemaps, you can use skipFiles to get the previous behavior back. See the docs for examples of how to configure skipFiles to skip code in node_modules, internal node files, or any other files that you don't want to step through.
The text was updated successfully, but these errors were encountered: