Interactive window not showing output on long execution, even if "Always Scroll On New Cell" is checked
See original GitHub issueEnvironment data
- VS Code version: 1.62.2
- Jupyter Extension version (available under the Extensions sidebar): v2021.10.1101450599
- Python Extension version (available under the Extensions sidebar): v2021.11.1422169775
- OS (Windows | Mac | Linux distro) and version: Windows 10
- Python and/or Anaconda version: 3.8.12
- Type of virtual environment used (N/A | venv | virtualenv | conda | …): mini conda 64-bit
- Jupyter server running: Local
Expected behaviour
While in a .py file and pressing CTRL+ENTER or SHIFT+ENTER to execute the current cell, I expect the interactive window to display the output like a terminal window, always showing the last output lines, without manual intervention, even for long executions.
Actual behaviour
It does not wollow the scrolling like a terminal window. The most recent output lines are missing and we must manually scroll to read recent output.
Moreover, we can only read the last 5 lines when output is long.
Ex.: In one script, I have a cell that process many files (filling the interactive output) and then prompts a menu for the next action, but I can only read the last 5 lines of the menu.
Steps to reproduce:
- Check “Always Scroll On New Cell” and “Send Selection To Interactive Window” option in Jupyter settings
- Add the following code:
#%%
import time
for n in range(100):
print(n)
#time.sleep(1)
- Press CTRL+ENTER a few time to fill the interactive window
- Uncomment #time.sleep(1) -> time.sleep(1)
- Press CTRL+ENTER to simulate a long execution
- The interactive window does not show the output. Screenshot:
- If I manually scroll, then I see this:
Is there a way to avoid seeing only 5 lines below “show more (open the raw output data in a text editor) …” (or disable the “show more” feature altogether)?
Issue Analytics
- State:
- Created 2 years ago
- Reactions:4
- Comments:6 (5 by maintainers)
Top GitHub Comments
The root cause of this is we have no way to tell when the ‘output’ is done. We scroll after the execution is singled as complete but outputs actually show up async after that.
We likely need to implement this scrolling in the core of VS code.
@smojef your issue is a separate one. That’s how the output size limit works. That would be a separate issue on VS code core.