As part of my data science workflow I use the Python Interactive window as a REPL. That is, I run lines and then can interact with the Jupyter terminal to check data and figures. However, as the number of Jupyter cells grows the processing speed of each line declines. In some cases, when the number of cells exceeds 200 it takes a while to even process 1+1. To overcome this I restart the ipython kernel and remove all cells. However, I lose my variables and have to rerun all the variables I was working with.
After some searching, it appears there was an option to disable appending results to the window, but it is not available now.
"python.jupyter.appendResults": false,
It would be great to have this option available so the Python Interactive window acts more like a REPL than a notebook, at least until this issue is resolved #727. These features are necessary for efficient data science workflows -- akine to Spyder and RStudio.
Do you really want to not append, or actually to just have it be performant with 200 cells in it? We've been discussing virtualizing the scrollable area in order to allow any number of cells in the window.
Not appending seems more like a notebook than a REPL then.
@rchiodo Performant with 200 cells would solve this issue, but seems unnecessary -- how many notebooks are greater than 200 cells. Ideally, a terminal with syntax highlighting and plotting is, in my opinion, exactly what a data scientist needs to work efficiently -- RStudio implements this workflow, although not perfect. As you mention, virtualizing the scrollable area would work or just allow for a single pane that runs each line/block of code while also allow the ability to view the history. I know this is an issue being discussed, but a Hydrogen like implementation in VS Code is what is needed.
This issue is the biggest constraint in my current workflow with VS Code. I do appreciate the team focusing on these issues in the future and all the work so far.
When will this new feature release?
Sorry but not any time soon. It's not currently on our backlog.
We're re-purposing this issue to really just be about not appending. There's interest in having the interactive window behave slightly more like a notebook in that a cell stays in the location it's written to. This would essentially be - do not append unless a new cell is run - mode.
The perf related to that change should not be necessary once we fix some of our virtualization issues (and we'll be doing separately).
We're re-purposing this issue to really just be about not appending. There's interest in having the interactive window behave slightly more like a notebook in that a cell stays in the location it's written to. This would essentially be - do not append unless a new cell is run - mode.
The perf related to that change should not be necessary once we fix some of our virtualization issues (and we'll be doing separately).
All right. But I hope vscode notebook will support Vim soon, as jupyter lab has Vim support.
Most helpful comment
We're re-purposing this issue to really just be about not appending. There's interest in having the interactive window behave slightly more like a notebook in that a cell stays in the location it's written to. This would essentially be - do not append unless a new cell is run - mode.
The perf related to that change should not be necessary once we fix some of our virtualization issues (and we'll be doing separately).