-
Couldn't load subscription status.
- Fork 346
How notebook run by line works
Notebook Run by line is very close to debugging a cell. The differences in the sequence diagram are highlighted below:

Differences are described below.
Instead of a DebugCellController, a RunByLineController is created. This class intercepts messages from the debugger differently than the DebugCellController does. This intercepting is done in the willSendEvent override.
In a run by line situation, the IP indicator is only supposed to step over lines in the cell. Internally this is done by doing a step into over and over. If the step into falls into another cell (or another module), the RunByLineController issues another step to continue until the IP indicator lands in the cell again.
That is happening in this sequence of events above:
- willSendEvent for stopped event
- willSendEvent says true, so
KernelDebugAdapterdoes not send the stopped event to VS code - willSendEvent issues a 'stepin' request to the adapter
-
KernelDebugAdapterissues a 'customRequest' to the debugger -
VS Codeturns that custom request into a message -
KernelDebugAdaptersends the request to debugpy inside the kernel
- Contribution
- Source Code Organization
- Coding Standards
- Profiling
- Coding Guidelines
- Component Governance
- Writing tests
- Kernels
- Intellisense
- Debugging
- IPyWidgets
- Extensibility
- Module Dependencies
- Errors thrown
- Jupyter API
- Variable fetching
- Import / Export
- React Webviews: Variable Viewer, Data Viewer, and Plot Viewer
- FAQ
- Kernel Crashes
- Jupyter issues in the Python Interactive Window or Notebook Editor
- Finding the code that is causing high CPU load in production
- How to install extensions from VSIX when using Remote VS Code
- How to connect to a jupyter server for running code in vscode.dev
- Jupyter Kernels and the Jupyter Extension