Skip to content

Smart stepping #346

Description

@chrisdp

I would like to explore adding support for smart stepping.

Please explore and evaluate the feasibility of adding this feature.

Please note that for files that do not have source maps but we generate a one:one version for remapping ourself I would suspect we would treat these as files to smart step through.

Here is the JS version of this feature as described in the vs code docs:

Smart stepping

With the smartStep attribute set to true in a launch configuration, VS Code will automatically skip 'uninteresting code' when stepping through code in the debugger. 'Uninteresting code' is code that is generated by a transpiling process but is not covered by a source map so it does not map back to the original source. This code gets in your way when stepping through source code in the debugger because it makes the debugger switch between the original source code and generated code that you are not interested in. smartStep will automatically step through code not covered by a source map until it reaches a location that is covered by a source map again.

Smart stepping is especially useful for cases like async/await downcompilation in TypeScript, where the compiler injects helper code that is not covered by a source map.

The smartStep feature only applies to JavaScript code that was generated from source and therefore has a source map. For JavaScript without sources, the smart stepping option has no effect.

Consider opening a draft PR demonstrating the required changes if the effort is not overly large.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions