VS Code编辑Jupyter ipynb单元格滚动后无法输入,如何调整设置?
问题原因
该现象是VS Code Jupyter扩展默认开启的虚拟滚动渲染优化导致的:为了降低超大笔记本的内存占用和渲染压力,扩展会临时回收不在当前视口内的单元格DOM节点,哪怕对应单元格已经处于编辑模式、光标位置正常保留,也会因为节点不存在无法响应输入操作,只有滚动回视口节点重新渲染后才能恢复输入。
解决方案
直接关闭Jupyter扩展的虚拟滚动功能即可,操作步骤如下:
- 打开VS Code设置界面:快捷键按
Ctrl+,(Windows/Linux)或Cmd+,(Mac),也可以点击左下角齿轮图标选择「设置」进入 - 在设置顶部的搜索框输入
Jupyter: Enable Virtual Scroll - 取消该选项的勾选状态
- 重载VS Code窗口生效:按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac)调出命令面板,输入Reload Window回车执行即可
补充说明
如果关闭虚拟滚动后打开包含上百个单元格的超大笔记本时出现卡顿,可以额外调整以下设置降低渲染压力:
- 搜索
Jupyter: Cell Toolbar Visibility,将选项改为hover,仅鼠标悬停时显示单元格顶部工具栏 - 搜索
Jupyter: Enable Outdated Cell Highlighting,取消勾选,关闭过期单元格的高亮提示
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

