禁用 iPython 笔记本自动滚动

在 iPythonNotebook 中,是否可以禁用长输出的自动滚动?或者至少在自动滚动设置之前为输出长度设置一个阈值?

尝试以下命令

%%javascript
IPython.OutputArea.auto_scroll_threshold = 9999;

但它给出了一个错误

Javascript error adding output!
SyntaxError: Unexpected identifier
See your browser Javascript console for more details.
78389 次浏览

黑进手机自动运行类似,您可以添加以下单元格:

%%javascript
require(
["notebook/js/outputarea"],
function (oa) {
oa.OutputArea.auto_scroll_threshold = -1;
console.log("Setting auto_scroll_threshold to -1");
});

这将设置 auto_scroll_threshold-1这意味着永远不会自动滚动。

这种方法适用于我的可信笔记本(例如 jupyter trust notebook.ipynb) ,不确定 任何单元是否在不可信的笔记本中执行。

要禁用自动滚动,请在执行其他单元格之前在笔记本单元格中执行这个 javascript:

%%javascript
IPython.OutputArea.prototype._should_scroll = function(lines) {
return false;
}

还有一个 ipython 笔记本扩展,禁用 _ 自动滚动,你可以用来做一个更永久的改变。按照 Ipython 第2172期获得最新的详细信息。

要在 run all命令后禁用从底部滚动,请执行以下代码:

%%javascript
require("notebook/js/notebook").Notebook.prototype.scroll_to_bottom = function () {}

也可以通过用户界面完成。

  • 单个细胞: 单元格-> 当前输出-> 切换滚动
  • 所有细胞: 单元格-> 所有输出-> 切换滚动

enter image description here

这对我很有用(没有分号)

    %%javascript
IPython.OutputArea.auto_scroll_threshold = 9999

若要防止在单个单元格输出中滚动,请选择该单元格并在处于命令状态时按 Shift+O。它将切换该特定单元格的输出。如果您想要所有的单元格显示长输出而不滚动,那么转到 Cell tab -> All Outputs -> Toggle Scrolling。就是这样! ! !